Phần mềm mã nguồn mở¶
Tóm lược nội dung
Bài này trình bày về phần mềm mã nguồn mở, bao gồm các điểm sau:
- Khái niệm
- Đặc điểm
- Giấy phép
Khái niệm¶
Mã nguồn là tập hợp các dòng lệnh được viết bằng ngôn ngữ lập trình để hướng dẫn máy tính thực thi một công việc nào đó.
Phần mềm mã nguồn mở (1) là phần mềm mà mã nguồn của nó được công khai và cho phép người dùng xem, sử dụng, bổ sung và phân phối lại mã nguồn (2).
-
Một số sách ghi ngắn gọn hơn là phần mềm nguồn mở.
-
Cụ thể hơn, bất kỳ ai cũng có thể:
- Xem mã nguồn để hiểu cách hoạt động của phần mềm.
- Sửa đổi hoặc tùy chỉnh mã nguồn để cải thiện phần mềm.
- Phân phối lại phần mềm cho người khác.
- Sử dụng phần mềm miễn phí hoặc với chi phí thấp.
Ví dụ:
Chromium là dự án trình duyệt web mã nguồn mở. Mã nguồn của Chromium có thể xem tại https://chromium.googlesource.com/chromium/src/.
Nhiều tổ chức và cá nhân đã tận dụng mã nguồn của Chromium để phát triển trình duyệt web của riêng mình, chẳng hạn như: Microsoft Edge, Opera, Brave, v.v..
Mã nguồn mở không đồng nghĩa với việc tác giả từ bỏ bản quyền, mà cần hiểu đúng là: tác giả vẫn giữ bản quyền đối với mã nguồn và cấp quyền sử dụng rộng rãi thông qua giấy phép.
Cách ghi tắt bản quyền theo công ước Berne
Copyright © [năm cập nhật nếu có thay đổi lớn] [tên tác giả/tổ chức giữ bản quyền]
Ví dụ:
Copyright © 2008-2025 The Linux Foundation
Hỏi chút chơi
Đặc điểm¶
-
Minh bạch
- Người dùng có thể xem mã nguồn hoặc chỉnh sửa theo nhu cầu.
- Cộng đồng có thể phát hiện và vá lỗi bảo mật sớm hơn.
- Thúc đẩy học tập và cộng tác thông qua việc tham khảo trực tiếp mã nguồn.
-
Đa dạng và phân mảnh
Nhiều phiên bản khác nhau, nhiều giải pháp sáng tạo khác nhau.
Ví dụ:
Hệ điều hành Linux có hơn 600 bản phân phối đang hoạt động và hơn 500 bản đang được phát triển. -
Được cộng đồng phát triển
Lập trình viên trên thế giới có thể cùng tham gia:
- Sửa lỗi
- Bổ sung tính năng
- Cải thiện chất lượng phần mềm
-
Được cộng đồng hỗ trợ
- Người dùng có thể tìm kiếm sự trợ giúp từ những người sử dụng cùng phần mềm như mình.
- Phần mềm càng có nhiều người dùng thì càng có giải đáp nhanh chóng.
-
Tiết kiệm chi phí
- Phần mềm mã nguồn mở thường miễn phí.
- Điều này giúp cá nhân, trường học và doanh nghiệp tối ưu hóa ngân sách công nghệ.
Về chi phí sử dụng
Điều này không đồng nghĩa phần mềm mã nguồn mở luôn miễn phí hay người dùng sẽ luôn tiết kiệm được chi phí đối với phần mềm mã nguồn mở, bởi vì nhiều yếu tố khác có thể xuất hiện trong quá trình sử dụng khiến chi phí phát sinh thêm.
Hỏi chút chơi
Giấy phép¶
Giấy phép mã nguồn mở là giấy phép đi kèm theo phần mềm mã nguồn mở, trong đó nêu rõ các điều khoản và điều kiện liên quan đến việc sử dụng, sửa đổi và phân phối lại phần mềm.
Ví dụ:
Một số điều khoản bao gồm:
- Ghi công tác giả gốc.
- Miễn trừ trách nhiệm của người phân phối.
- Bắt buộc công bố mã nguồn đã sửa đổi.
- Phân phối theo cùng giấy phép.
- Giới hạn mục đích sử dụng thực tế.
Ví dụ:
Một số giấy phép mã nguồn mở thông dụng là:
- GNU General Public License (GPL)
- Apache License
- MIT License
GNU General Public License (GPL)
GNU General Public License (GPL) là giấy phép phần mềm mã nguồn mở phổ biến và có tầm ảnh hưởng lớn. Nó được tổ chức Free Software Foundation (FSF) tạo ra, thuộc dự án GNU, là dự án phát triển hệ điều hành mã nguồn mở và tự do dựa trên nền tảng Unix, nhằm bảo vệ và khuyến khích các nguyên tắc của phần mềm tự do, trong đó có tự do sử dụng, bổ sung và phân phối.
Một số nguyên tắc của GNU GPL là:
- Copyleft: Nếu bạn chỉnh sửa và phân phối lại mã nguồn thì bạn cũng phải làm cho mã nguồn của bạn mở theo đúng giấy phép GPL. Nguyên tắc này dùng để bảo đảm phần mềm phái sinh từ GPL vẫn là mã mguồn mở.
- Freedom to use: Cho phép người dùng tự do chạy phần mềm, nghiên cứu phần mềm và sử dụng phần mềm với bất kỳ mục đích gì. Nguyên tắc này nhằm nhấn mạnh quyền tự do của người dùng.
- Freedom to Modify: Cho phép người dùng bổ sung mã nguồn phù hợp với nhu cầu của mình.
- Freedom to Distribute: Cho phép người dùng phân phối lại, kể cả bán lại, miễn là tuân theo điều khoản của giấy phép GPL này.
Giấy phép GPL đã trải qua nhiều phiên bản, trong đó đang phổ biến là GPL version 2 (GPLv2) và GPL version 3 (GPLv3). Mỗi phiên bản đều có những cải tiến và làm rõ hơn những điều khoản của phiên bản trước.
Toàn văn của GPLv3: https://www.gnu.org/licenses/gpl-3.0.en.html
Hỏi chút chơi
Sơ đồ tóm tắt¶
Some English words¶
| Vietnamese | Tiếng Anh |
|---|---|
| giấy phép | license |
| phần mềm mã nguồn mở | open source software |