Các Loại Giấy Phép Trong Mã Nguồn Mở
Back To Blogs1. Vì Sao Giấy Phép Quan Trọng?
Giấy phép mở (open license) là một loại giấy phép pháp lý dành cho phần mềm, tài liệu, hoặc nội dung, cho phép bất kỳ ai cũng có quyền tự do sử dụng, xem, chỉnh sửa, phân phối lại sản phẩm đó với điều kiện phải tuân thủ các điều khoản được quy định trong giấy phép.Đặc điểm chính của giấy phép mở:- Minh bạch & tự do: Cho phép người dùng truy cập mã nguồn/tài liệu, học hỏi, tùy biến, phát triển hoặc đóng góp thêm.
- Quy định rõ ràng: Ghi rõ những quyền và nghĩa vụ của người sử dụng (ví dụ: phải ghi nhận tác giả, phải chia sẻ lại theo cùng giấy phép, hoặc có thể dùng cho mục đích thương mại…).
- Bảo vệ quyền lợi cộng đồng: Ngăn chặn việc chiếm hữu riêng hoặc sử dụng sai mục đích, đảm bảo lợi ích cho cộng đồng sáng tạo và phát triển.
Khi bạn chia sẻ mã nguồn mở, bạn cần kèm theo một giấy phép để nói rõ:
- Người khác được làm gì với mã nguồn của bạn (xem, sửa, phân phối lại, dùng thương mại…).
- Có bắt buộc phải công khai mã nguồn khi sửa đổi hay không.
- Có cho phép dùng mã nguồn cho mục đích thương mại không?
- Có ràng buộc trách nhiệm pháp lý không?
👉 Nếu không có giấy phép, người khác dùng mã nguồn của bạn mà bạn không thể kiểm soát hoặc bảo vệ quyền lợi của mình.

2. Phân Loại Giấy Phép Mã Nguồn Mở Phổ Biến
2.1 Giấy phép "Copyleft mạnh" (Strong Copyleft)
1. GPL (GNU General Public License)
Yêu cầu: Nếu bạn sửa mã nguồn hoặc xây dựng sản phẩm dựa trên mã GPL, bạn bắt buộc phải phát hành mã nguồn của phần mềm mới dưới cùng giấy phép GPL khi phân phối.
Ý nghĩa: Đảm bảo mọi bản cải tiến vẫn là mã nguồn mở. Ví dụ: Linux Kernel, WordPress.

2. AGPL (Affero GPL)
Khác biệt: Ngoài việc phân phối phần mềm, nếu bạn chạy phần mềm như một dịch vụ web (SaaS), bạn cũng phải cung cấp mã nguồn.
Ví dụ: MongoDB trước đây, phần mềm hệ thống web.

2.2. Giấy phép "Copyleft yếu" (Weak Copyleft) – Linh hoạt hơn
1. LGPL (Lesser GPL)
Cho phép bạn sử dụng thư viện LGPL trong phần mềm nguồn đóng mà không bắt buộc phải mở mã nguồn toàn bộ dự án. Thường dùng cho: Thư viện, framework. Ví dụ: Glibc (thư viện chuẩn C của GNU).

2.3. Giấy phép "Tự do hơn/Cấp phép mở" (Permissive Licenses) – Dùng cho cả phần mềm đóng
1. MIT License
Rất đơn giản, tự do cao chỉ yêu cầu giữ bản quyền và nội dung giấy phép.Không bắt buộc phải mở mã nguồn khi phát hành sản phẩm dựa trên mã MIT. Ví dụ: ReactJS, jQuery.

2. Apache License 2.0
Cũng là giấy phép tự do (permissive), nhưng có thêm các điều khoản chi tiết hơn về thông báo và bằng sáng chế. Ví dụ: Apache HTTP Server, Android.
Giấy phép | Giữ LICENSE | Giữ NOTICE | Bắt buộc mở mã | Có patent clause |
---|---|---|---|---|
MIT | ✅ Có | ❌ Không cần | ❌ Không | ❌ Không |
Apache 2.0 | ✅ Có | ✅ Có | ❌ Không | ✅ Có |

3. BSD License
Rất tự do: Chỉ cần ghi rõ nguồn gốc, không bắt buộc gì thêm. Ví dụ: FreeBSD, phần lớn các thư viện mạng.

2.4. Giấy phép "Public Domain/Unlicense"
- Public Domain: Chủ sở hữu tuyên bố từ bỏ toàn bộ quyền tác giả, ai cũng làm gì tùy thích.
- Unlicense: Xóa mọi ràng buộc pháp lý.
3. Nên Chọn Giấy Phép Nào Sẽ Phù Hợp Cho Dự Án Của Bạn?
👉 Muốn cộng đồng cùng cải tiến, mọi bản fork phải mở lại: Chọn GPL/AGPL.
👉 Muốn nhiều doanh nghiệp, cá nhân sử dụng dễ dàng: Chọn MIT, Apache 2.0, BSD.
👉Chỉ muốn chia sẻ cho ai cần, không quan tâm tới pháp lý: Có thể dùng Unlicense/Public Domain.

4.Lưu ý thực tế
- Nếu bạn dùng thư viện GPL, phần mềm của bạn cũng bị bắt buộc phải dùng GPL khi phát hành.
- Các công ty lớn rất ưa chuộng MIT, Apache 2.0 vì ít ràng buộc pháp lý.
- Tránh kết hợp code từ nhiều giấy phép khác nhau khi không chắc chắn.