Google Summer of Code và 40 phần mềm nguồn mở
Chương trình Google Summer of Code năm 2022, để hỗ trợ sự phát triển của phần mềm nguồn mở, sẽ bắt đầu nhận đơn đăng ký của sinh viên từ ngày 5 đến 20 tháng Tư.
Google Summer of Code 2022
Google Summer of Code (GSoC) là chương trình thúc đẩy sự phát triển của cộng đồng lập trình viên nguồn mở được Google tổ chức 17 năm qua. Chương trình là cầu nối giữa các tổ chức quản lý dự án và các bạn lập trình viên (chủ yếu ưu tiên sinh viên) có mong muốn đóng góp code cho những dự án nguồn mở lớn và nhỏ. Các bạn sinh viên khi tham gia sẽ được Google tài trợ một khoản tiền nhỏ và được sự hướng dẫn trực tiếp từ những người quản lý các dự án nên đây là cơ hội tốt để các bạn học hỏi.
Ngoài ra nếu đang quản lý một dự án nguồn mở có lượng người sử dụng tương đối, bạn có thể gửi đơn tham gia GSoC với tư cách tổ chức quản lý phần mềm. Tuy nhiên thời gian để đăng ký vào vai trò tổ chức (organization) cho năm 2022 đã kết thúc.
40 Phần mềm nguồn mở
Dưới đây là 40 phần mềm nguồn mở tiêu biểu mà tôi từng sử dụng và có tham gia GSoC 2022. Nếu bạn là lập trình viên hoặc sinh viên muốn đóng góp cho phần mềm nguồn mở có thể cân nhắc tham gia vào những dự án này. Danh sách được sắp xếp theo thứ tự bảng chữ cái. Truy cập trang chính thức của GSoC 2022 để xem danh sách đầy đủ 203 tổ chức tham gia.
01. AnkiDroid
AnkiDroid là ứng dụng Anki phiên bản (không chính thức) dành cho hệ điều hành Android. Anki là phương pháp ghi nhớ sử dụng flashcard và việc ôn lại thường xuyên có cách khoảng (spaced repetition flashcard system). AnkiDroid - GSoC 2022
02. Apache HTTP Server
Apache HTTP Server là máy chủ HTTP được sử dụng nhiều nhất trên Internet. Apache Software Foundation được thành lập năm 1999 là tổ chức lơn nhất thế giới về phần mềm nguồn mở với rất nhiều dự án thuộc nhiều lĩnh vực. Apache Software Foundation - GSoC 2022
03. Audacity
Audacity là phần mềm xử lý âm thanh miễn phí, mã nguồn mở, và đa nền tảng. Audacity được sử dụng vào nhiều mục đích khác nhau liên quan đến âm thanh như phân tích âm thanh cho việc nghiên cứu, thu âm, hòa âm,… Audacity - GSoC 2022
04. Blender
Blender là bộ phần mềm đồ họa 3D hỗ trợ đầy đủ các bước từ dựng mô hình, hoạt hình, cho đến game. Blender hỗ trợ tất cả hệ điều hành máy tính phổ biến (Window, macOS, và Linux). Blender Foundation - GSoC 2022
05. Chromium
Chromium là dự án trình duyêt web mã nguồn mở, lõi của Google Chrome. Hiện tại Chromium không chỉ đơn giản là trình duyệt web mà còn là thành phần quan trọng cho việc phát triển phần mềm đa nền tảng (ví dụ: Electron). Chromium - GSoC 2022
06. Debian
Debian là hệ điều hành dựa trên Linux hỗ trợ nhiều thiết bị khác nhau từ máy tính bàn, laptop, cho đến máy chủ. Ubuntu, hệ điều hành Linux phổ biến nhất hiện nay, được xây dựng dựa trên kiến trúc nền tảng của Debian. Debian - GSoC 2022
07. Django
Django là web framework sử dụng ngôn ngữ lập trình Python, tập trung vào hỗ trợ phát triển nhanh một ứng dụng web cho cả ứng dụng nhỏ và lớn. Django và Flask là hai web framework phổ biến nhất cho Python. Django Software Foundation - GSoC 2022
08. Eclipse
Eclipse là một Integrated Development Environment (IDE) tạm dịch “môi trường phát triển phần mềm tích hợp” hỗ trợ nhiều ngôn ngữ lập trình nhưng chủ yếu được dùng cho Java. Eclipse là IDE phổ biến thứ hai cho Java, chỉ đứng sau IntelliJ IDEA. Eclipse Foundation - GSoC 2022
09. Electron
Electron là một framework để xây dựng ứng dụng desktop đa nền tảng sử dụng các công nghệ của lập trình web (JavaScript, HTML, và CSS). Việc này được thực hiện bằng cách tích hợp Chromium và Node.js vào mã nguồn. Electron - GSoC 2022
10. FFmpeg
FFmpeg là một giải pháp hoàn chỉnh, đa nền tảng cho việc thu, chuyển đổi, và phát âm thanh cũng như video. FFmpeg cung cấp một công cụ đơn giản để chuyển đổi qua lại giữa các định dạng âm thanh và video phổ biến lẫn ít phổ biến. FFmpeg - GSoC 2022
11. FreeBSD
FreeBSD là hệ điều hành miễn phí, nguồn mở hoạt động gần giống Unix kế thừa từ hệ điều hành Berkeley Software Distribution (BSD). Hệ điều hành của máy chơi game PlayStation 3 và 4 được phát triển dựa trên FreeBSD. The FreeBSD Project - GSoC 2022
12. FreeType
FreeType là thư viện phần mềm miễn phí viết bằng ngôn ngữ C dùng để vẽ font chữ ra ảnh bitmap. FreeType được sử dụng trong nhiều hệ điều hành nguồn mở, iOS, Android, và nhiều trình duyệt web phổ biến. FreeType - GSoC 2022
13. GCC
GNU Compiler Collection (GNU) là trình biên dịch hỗ trợ một số ngôn ngữ lập trình gồm C, C++, Objective-C, Fotran, Ada, Go, và D. GCC là phần mềm miễn phí lớn nhất với hơn 15 ngàn dòng code và đóng vai trò quan trọng cho sự phát triển của phần mềm nguồn mở. GCC - GSoC 2022
14. GIMP
GNU Image Manipulation Program (GIMP) là phần mềm chỉnh sửa ảnh nguồn mở, hỗ trợ đa nền tảng gồm GNU/Linux, macOS, Windows, và một số hệ điều hành khác. GIMP thường được xem là phiên bản nguồn mở thay thế cho Adobe Photoshop. GNU Image Manipulation Program - GSoC 2022
15. Git
Git là hệ thống quản lý phiên bản (version control) phân tán (distributed) mã nguồn mở. Version Control là phần mềm theo dõi và quản lý những thay đổi của tập tin và thường dùng bởi lập trình viên để nhiều người có thể phát triển phần mềm chung trên một bộ mã nguồn. Git - GSoC 2022
16. Gitlab
Gitlab là nền tảng DevOps gồm nhiều công cụ hỗ trợ việc quản lý, lên kế hoạch, và phát triển phần mềm. Gitlab thường được xem là lựa chọn thay thế mã nguồn mở cho Github. Gitlab -GSoC 2022
17. GNOME
GNOME là phần mềm giao diện desktop cho hệ điều hành Linux. GNOME là môi trường desktop mặc định của nhiều phiên bản quan trọng của Linux bao gồm Fedora, Debian, Ubuntu, CentOS,… GNOME Foundation - GSoC
18. GNU Octave
GNU Octave là ngôn ngữ lập trình cho nghiên cứu khoa học chạy trên nhiều hệ điều hành bao gồm GNU/Linux, macOS, BSD, và Windows. GNU Octave được xem là phiên bản thay thế nguồn mở của Matlab và hỗ trợ trực tiếp nhiều Matlab script. GNU Octave - GSoC 2022
19. Godot Engine
Godot Engine là game engine miễn phí nguồn mở hỡ trợ phát triển game 2D và 3D đa nền tảng. Game phát triển vơi Godot có thể chạy trên nhiều nền tảng khác nhau gôm Linux, macOS, Window, Android, iOS, Web (HTML5), Nintendo Switch,… Godot Engine - GSoC 2022
20. Haiku
Haiku là một hệ điều hành nguồn mở chuyên cho máy tính cá nhân. Haiku không dựa trên Linux mà lấy cảm hứng từ BeOS về một hệ điều hành đơn giản và hiệu quả cho máy tính cá nhân. Haiku - GSoC 2022
21. Homebrew
Homebrew là Package Manager chuyên dùng để cài đặt phần mềm hoặc thư viện cho macOS, đặc biệt là các công cụ thường dùng trên Linux nhưng không có sẵn trên macOS. Homebrew sử dụng git và ruby làm nền tảng công nghệ. Homebrew - GSoC 2022
22. Inkscape
Inkscape là phần mềm dùng để vẽ ảnh vector (thường dùng cho logo, tranh minh hoạ,…), hỗ trợ đa nền tảng GNU/Linux, Windows, và macOS. Inkscape thường được xem là lựa chọn thay thế nguồn mở cho Adobe Illustrator. Inkscape - GSoC 2022
23. Joomla!
Joomla! là hệ thống quản lý nội dụng (Content Managament System, CMS) dựa trên PHP. Hiện tại Joomla! được sử dụng bởi 2,5% trang web có sử dụng CMS trên toàn Internet để xây dựng website cho danh nghiệp nhỏ, tạp chí, e-commerce… Joomla! - GSoC 2022
24. Joplin
Joplin là ứng dụng ghi chú hỗ trợ nhiều tính năng (dựa trên Markdown) và đa nền tảng (Linux, Windows, macOS, Android, và iOS). Ghi chú bằng Joplin có thể được đồng bộ với Joplin Cloud (có phí), Dropbox, OneDrive… Joplin - GSoC 2022
25. KDE Plasma Desktop
KDE Plasma Desktop là môi trường làm việc đồ hoạ (Graphical Workspace Environment) phát triển bởi KDE cho Linux. Plasma được sử dụng làm giao diện mặc định cho nhiều phân bố Linux gồm Fedora, Kubuntu, Manjaro,… KDE Community - GSoC 2022
26. Kodi
Kodi là phần mềm trung tâm giải trí miễn phí nguồn mở cho truyền thông kỹ thuật số (Digiral Media). Kodi hỗ trợ Linux, OSX, iOS, Android, Windows và chạy được trên thiết bị sử dụng vộ xử lý x86 và ARM bao gồm Raspberry Pi. Kodi - GSoC 2022
27. LibreOffice
LibreOffice là bộ phần mềm văn phòng miễn phí nguồn mở hỗ trợ nhiều định dạng tập tin bao gômd cả tập tin tạo bởi phần mềm có phí như Microsoft Word, Excel, PowerPoint, và Publisher. Tuy nhiên LibreOffice hỗ trợ tốt hơn với định dạng dựa trên tiêu chuẩn mở OpenDocument. LibreOffice - GSoC 2022
28. libssh
libssh là thư viện nguồn mở cho phương thức SSH (Secure Shell Protocol) được lập trình bằng C và hỗ trợ đa nền tảng. libssh được sử dụng bởi KDE và Github. libssh - GSoC 2022
29. MuseScore
MuseScore là phần mềm soạn bản nhạc (music sheet) miễn phí nguồn mở và phổ biến nhất thế giới. MuseScore - GSoC 2022
30. OpenCV
OpenCV là thư viện lập trình nguồn mở chuyên về Thị Giác Máy Tính (Computer Vision, CV). OpenCV có thể được sử dụng với C++, Python, JavaScript, Julia, Cuda, OpenCL, và Matlab. OpenCV được tối ưu hoá cho ứng dụng thời gian thực. OpenCV - GSoC 2022
31. OpenStreetMap
OpenStreetMap là dự án cộng đồng để tạo và phân phối dữ liệu địa lý cho toàn thế giới. Dữ liệu được phát hành với bản quyển mở (open-content license). OpenStreetMap - GSoC 2022
32. PostgreSQL
PostgreSQL là hệ thống cơ sở dữ liệu (CSDL) hướng đối tượng/quan hệ (object-relation) mã nguồn mở. PostgreSQL là hệ thống cơ sở dữ liệu với nhiều tính năng nâng cao so với những hệ thống CSDL hướng quan hệ (relational) như MySQL. PostgreSQL - GSoC 2022
33. Processing
Processing là thư viện phần mềm, ngông ngữ lập trình, và IDE chuyên về tranh kỹ thuật số, đồ hoạ thiết kế. Processing được phát triển với mục đích dạy những khái niệm cơ bản về lập trình cho những người không phải là lập trình viên bằng phương pháp trực quan. Processing Foundation - GSoC
34. Python
Python là ngôn ngữ lập trình bậc cao đặt trọng tâm vào việc viết code nhanh và dễ hiểu. Python là ngôn ngữ lập trình đa mục đích thường được dùng để lập trình web, lập trình giao diện phần mềm, nghiên cứu khoa học, lập trình phần mềm,… Python Software Foundation - GSoC 2022
35. R
R là ngôn ngữ lập trình chuyên về tính toán thống kê. R project for statistical computing - GSoC 2022
36. Ruby
Ruby là ngôn ngữ lập trình bậc cao tập trung vào sự đơn giản và năng suất làm việc. Ruby thường được dùng để lập trình web. Ruby - GSoC
37. Swift
Swift là ngôn ngữ lập trình biên dịch (compiled programming language) được phát triển bởi Apple và cộng đồng nguồn mở. Swift thường được dùng để phát triển phần mềm cho các thiết bị phần cứng của Apple. Swift - GSoC 2022
38. TensorFlow
TensorFlow là nền tảng lập trình máy học (machine learning framework) phát triển bởi Google và cộng đồng nguồn mở. TensorFlow bao gồm thư viện cho việc huấn luyện mô hình, thư viện cho javascript, cho thiết bị di động và IoT (Internet of Things). TensorFlow - GSoC 2022
39. VLC media player
VLC Media Player là phần mềm miễn phí nguồn mở đa nền tảng hỗ trợ phát nhiều định dạng hình ảnh và âm thanh khác nhau bao gồm các định dạng tập của đĩa DVD, CD, VCD, và nhiều phương thức phát trực tiếp khác. VideoLAN - GSoC 2022
40. Wikipedia
Wikipedia là bách khoa toàn thư tự do, nội dung được đóng góp bởi cộng động người dùng trên toàn thế giới. Wikipedia là một project của tổ chức Wikimedia Foundation, ngoài ra còn có Wikibooks, Wikitionary, Wikimedia Commons,… Wikimedia Foundation - GSoC 2022