1. Vấn Đề Về Giấy Phép
Khi xây dựng các ứng dụng và dịch vụ tận dụng mã nguồn mở, một trong những điều quan trọng nhất chúng ta phải quan tâm là Giấy phép, đặc biệt là khi chúng ta xây dựng các ứng dụng đóng và quyền sở hữu.
Hãy xem xét một ví dụ. Giả sử chúng ta đang cố gắng chọn một Hệ Quản Trị Cơ Sở Dữ Liệu (RDBMS) phù hợp cho dịch vụ mới của mình. Trong số các lựa chọn tiềm năng, hai cái tên nổi bật có thể là MySQL
và PostgreSQL
. Khi xem xét Giấy phép của chúng, chúng ta có những ghi chú sau.
-
Giấy phép của MySQL
MySQL
miễn phí cho việc sử dụng thương mại theo Giấy phép Công Cộng GNU (GPL). Điều này có nghĩa là bạn có thể sử dụng, sửa đổi và phân phốiMySQL
miễn phí miễn là ứng dụng của bạn cũng phải là mã nguồn mở và tuân thủ các điều khoản của giấy phép GPL.- Tuy nhiên, nếu bạn muốn tích hợp
MySQL
vào một ứng dụng đóng hoặc quyền sở hữu, bạn có thể cần một giấy phép thương mại từ Oracle (công ty sở hữuMySQL
) để tránh những trách nhiệm của giấy phép GPL, chẳng hạn như việc phải công bố mã nguồn. - Tóm lại, với
MySQL
, chúng ta chỉ có thể sử dụng miễn phí khi chúng ta mã nguồn mở dự án phụ thuộc của mình, nếu không, chúng ta phải có một giấy phép từ Oracle.
-
Giấy phép của PostgreSQL
PostgreSQL
miễn phí cho việc sử dụng trong các ứng dụng đóng. Nó được phát hành dưới Giấy phép PostgreSQL, rất giống với Giấy phép MIT.- Điều này có nghĩa là:
- Bạn có thể sử dụng, sửa đổi và phân phối
PostgreSQL
mà không phải trả phí. - Bạn có thể bao gồm
PostgreSQL
như một phần của ứng dụng quyền sở hữu, đóng nguồn mà không cần phải phát hành mã nguồn của ứng dụng của mình. - Giấy phép không yêu cầu bạn phải mã nguồn mở phần mềm của mình nếu bạn sử dụng
PostgreSQL
như một phần trong đó. PostgreSQL
được coi là một cơ sở dữ liệu mã nguồn mở có tính dễ chịu, làm cho nó trở thành lựa chọn tuyệt vời cho cả phần mềm mã nguồn mở và quyền sở hữu.
- Bạn có thể sử dụng, sửa đổi và phân phối
2. Một Số Giấy Phép Phần Mềm Thông Dụng
Dưới đây là một số giấy phép phần mềm phổ biến, bao gồm cả giấy phép mã nguồn mở và giấy phép thương mại:
-
Giấy phép MIT
- Loại: Dễ chịu
- Tính Năng Chính: Cho phép người dùng sử dụng, sao chép, sửa đổi, kết hợp, phát hành, phân phối, cấp phép lại và bán các bản sao của phần mềm.
- Hạn Chế: Đòi hỏi ghi nhận (tức là giữ nguyên giấy phép và ghi chú bản quyền gốc).
-
Giấy phép Công Cộng GNU (GPL)
- Loại: Bảo vệ quyền lợi
- Tính Năng Chính: Người dùng có thể sử dụng, sửa đổi và phân phối phần mềm theo cùng một giấy phép.
- Hạn Chế: Đòi hỏi các tác phẩm phái sinh phải được cấp giấy phép dưới cùng một giấy phép GPL. Người dùng phải cung cấp mã nguồn nếu họ phân phối phần mềm.
-
Giấy phép Apache 2.0
- Loại: Dễ chịu
- Tính Năng Chính: Cho phép người dùng sử dụng, sửa đổi, và phân phối phần mềm, với các quyền về bằng sáng chế rõ ràng.
- Hạn Chế: Đòi hỏi ghi nhận và một bản sao của giấy phép, cũng như thông báo về bất kỳ sửa đổi nào.
-
Giấy phép BSD (2-Clause và 3-Clause)
- Loại: Dễ chịu
- Tính Năng Chính: Cho phép người dùng sử dụng, sửa đổi, và phân phối phần mềm.
- Hạn Chế: Đòi hỏi ghi nhận. Giấy phép BSD 3-Clause cũng bao gồm một điều khoản ngăn cấm việc sử dụng tên của dự án hoặc những người đóng góp cho quảng cáo.
-
Giấy phép Công Khai Mozilla (MPL) 2.0
- Loại: Bảo vệ quyền lợi yếu
- Tính Năng Chính: Cho phép người dùng sử dụng, sửa đổi, và phân phối phần mềm, nhưng yêu cầu các sửa đổi đối với mã MPL phải được công khai dưới cùng một giấy phép.
- Hạn Chế: Các thay đổi mã nguồn phải được chia sẻ theo MPL, nhưng có thể được kết hợp với mã bên ngoài độc quyền hoặc giấy phép dễ chịu khác.
-
Giấy phép Công Khai Eclipse (EPL)
- Loại: Bảo vệ quyền lợi yếu
- Tính Năng Chính: Tương tự như MPL, nó cho phép sử dụng, sửa đổi, và phân phối nhưng yêu cầu các tệp đã sửa đổi phải giữ nguyên dưới EPL.
- Hạn Chế: Các sửa đổi phải là mã nguồn mở nếu được phân phối, nhưng có thể được kết hợp với phần mềm độc quyền.
-
Giấy Phép Thương Mại
- Ví dụ: Giấy phép phần mềm Microsoft, Thỏa thuận cấp phép người dùng cuối Adobe (EULA)
- Loại: Thương mại/Quyền sở hữu
- Tính Năng Chính: Cho phép sử dụng phần mềm theo các điều kiện cụ thể do công ty quy định.
- Hạn Chế: Người dùng không thể sửa đổi, phân phối, hoặc đôi khi ngay cả xem xét mã nguồn của phần mềm.
-
Miễn Trừ Công Khai (ví dụ: Unlicense, CC0)
- Loại: Công khai
- Tính Năng Chính: Đưa phần mềm vào công khai, cho phép bất kỳ ai sử dụng, sửa đổi, hoặc phân phối mà không có bất kỳ hạn chế nào.
- Hạn Chế: Không có, nhưng không phù hợp với dự án cần một mức độ bảo vệ hoặc ghi nhận nào đó.
-
Giấy Phép Công Cộng GNU Nhẹ (LGPL)
- Loại: Bảo vệ quyền lợi yếu
- Tính Năng Chính: Cho phép phần mềm được liên kết với phần mềm độc quyền, miễn là các sửa đổi đối với thành phần được cấp phép LGPL phải được công khai.
- Hạn Chế: Yêu cầu các sửa đổi đối với thư viện LGPL phải được công khai, nhưng cho phép liên kết với phần mềm độc quyền.
Các giấy phép này khác nhau về cách thức xử lý việc phân phối, sửa đổi, và yêu cầu ghi nhận, cung cấp các mức độ tự do và hạn chế khác nhau.
3. Giấy Phép Cho Ứng Dụng Đóng, Quyền Sở Hữu
Đối với một ứng dụng đóng, quyền sở hữu, các giấy phép mà không yêu cầu bạn tiết lộ mã nguồn của bạn là phù hợp. Một số giấy phép phổ biến cho mục đích này bao gồm:
-
Giấy phép MIT: Mặc dù chủ yếu được sử dụng cho các dự án mã nguồn mở, nó cho phép người khác sử dụng, sửa đổi và phân phối phần mềm miễn phí, ngay cả trong ứng dụng quyền sở hữu, mà không cần phải công bố mã nguồn.
-
Giấy phép Apache 2.0: Tương tự như giấy phép MIT, nó cho phép sử dụng trong các dự án đóng, kèm theo bảo vệ bằng sáng chế bổ sung. Nó không yêu cầu phải công bố mã nguồn.
Nếu không, bạn phải trả tiền cho một trong những giấy phép sau.
- Giấy phép quyền sở hữu: Bạn có thể mua một giấy phép quyền sở hữu từ các nhà cung cấp như Oracle (đối với
MySQL
), cho phép bạn sử dụng phần mềm họ trong một cách đóng. - Giấy phép thương mại: Nhiều công ty cung cấp giấy phép thương mại rõ ràng cho phép sử dụng đóng và có thể bao gồm hỗ trợ hoặc tính năng bổ sung.
Nếu bạn thấy bài viết này hữu ích, hãy cho tôi biết bằng cách để lại một 👍 hoặc một nhận xét! Nếu bạn nghĩ bài viết này có thể giúp ai đó, hãy thoải mái chia sẻ! Cảm ơn bạn rất nhiều! 😃
source: viblo