Skip to content

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 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.

  1. 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 mã nguồn để cải thiện hoặc tuỳ chỉnh 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...

Tuy nhiên, 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 như sau:

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

Đặc điểm

  1. Minh bạch mã nguồn

    Việc truy xuất mã nguồn giúp người dùng hiểu được cơ chế vận hành của phần mềm và thực hiện được các điều chỉnh cho phù hợp với nhu cầu của mình.

    Bản chất "mở" làm cho các vấn đề bảo mật được sớm phát hiện và khắc phục, đồng nghĩa phần mềm sẽ an toàn hơn.

    Tính minh bạch cũng thúc đẩy khả năng học tập và cộng tác.

  2. Được đóng góp từ cộng đồng

    Các lập trình viên hoặc người biết lập trình trên thế giới có thể đóng góp cho phần mềm bằng cách sửa lỗi, bổ sung tính năng hoặc cải thiện chất lượng của phần mềm.

    Như vậy, phần mềm mã nguồn mở có thể phát triển mạnh nhờ cộng đồng lập trình viên.

  3. Đa dạng và phân mảnh

    Vì những người đóng góp có nền tảng bản thân khác nhau nên phần mềm có thể được phân hoá hoặc phân mảnh, dẫn đến các quan điểm và giải pháp sáng tạo khác nhau.

    Ví dụ: Một thống kê cho biết, có đến hơn 600 bản phân phối Linux, chưa kể 500 bản khác đang phát triển.

  4. Được hỗ trợ từ cộng đồng

    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, nhất là những phần mềm có cộng đồng lớn.

  5. Tiết kiệm chi phí

    Phần mềm mã nguồn mở thường miễn phí, giúp cá nhân, tổ chức có thể tiết kiệm chi phí.

    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.

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.

Mỗi loại giấy phép có những yêu cầu riêng, chẳng hạn như:

  • 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 chỉnh sửa mới.
  • Chia sẻ các sửa đổi theo cùng một giấy phép.
  • Không sử dụng phần mềm vì mục đích cụ thể nào đó.
  • v.v...

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)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

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