“Mã nguồn mở” không có nghĩa là muốn làm gì cũng được. Mỗi giấy phép là một hợp đồng, và dùng sai có thể buộc bạn phải công khai mã nguồn sản phẩm thương mại của mình.
Hai nhóm lớn
Giấy phép dễ dãi (permissive) — MIT, BSD, Apache: dùng gần như tự do, kể cả trong phần mềm đóng, chỉ cần ghi công.
Giấy phép copyleft — GPL, AGPL: nếu bạn phân phối sản phẩm có dùng mã của họ, bạn phải mở mã nguồn phần đó theo cùng giấy phép.
Bảng so sánh nhanh
| Giấy phép | Dùng thương mại | Buộc mở mã? | Cấp phép sáng chế |
|---|---|---|---|
| MIT | Có | Không | Không nêu rõ |
| BSD 3-Clause | Có | Không | Không nêu rõ |
| Apache 2.0 | Có | Không | Có |
| LGPL | Có | Chỉ phần thư viện | Không nêu rõ |
| GPLv3 | Có | Có | Có |
| AGPLv3 | Có | Có, kể cả khi chỉ chạy dịch vụ web | Có |
MIT — ngắn và dễ dãi nhất
Vỏn vẹn khoảng 170 từ. Bạn được dùng, sửa, bán, đưa vào phần mềm đóng — chỉ cần giữ lại thông báo bản quyền. Đây là lựa chọn phổ biến nhất cho thư viện.
Apache 2.0 — MIT có thêm điều khoản sáng chế
Giống MIT về mức độ tự do, nhưng bổ sung cấp phép sáng chế rõ ràng: người đóng góp không được kiện bạn vi phạm sáng chế vì chính đoạn mã họ đóng góp. Đây là lý do các dự án lớn của doanh nghiệp thường chọn Apache 2.0.
GPL — điều khoản lan tỏa
Nếu bạn phân phối phần mềm có chứa mã GPL, toàn bộ sản phẩm phải được phát hành theo GPL kèm mã nguồn. Lưu ý: chạy nội bộ trong công ty không tính là phân phối.
AGPL — bịt lỗ hổng dịch vụ mạng
AGPL mở rộng nghĩa vụ sang cả trường hợp bạn chỉ cung cấp phần mềm dưới dạng dịch vụ web. Người dùng truy cập qua trình duyệt cũng có quyền yêu cầu mã nguồn. Cần rất cẩn thận trước khi đưa thư viện AGPL vào sản phẩm SaaS.
Chọn giấy phép cho dự án của bạn
- Muốn được dùng rộng rãi nhất → MIT
- Dự án có yếu tố sáng chế, do doanh nghiệp bảo trợ → Apache 2.0
- Muốn mọi bản phái sinh cũng phải mở → GPLv3
- Là dịch vụ web và muốn giữ tinh thần đó → AGPLv3
Trên thực tế
# Kiểm tra giấy phép của các gói đang dùng
pip install pip-licenses && pip-licenses
npx license-checker --summary
Bài viết này là thông tin kỹ thuật tổng quan, không phải tư vấn pháp lý. Với sản phẩm thương mại có rủi ro cao, hãy hỏi luật sư sở hữu trí tuệ.
