Bài 3: Giấy phép nguồn mở Open Source Licenses
Giấy phép nguồn mở Open Source Licenses và những loại giấy phép phần mềm thông dụng hiện nay? Hẳn bạn đã nghe nhắc đến cụm từ Open Source. Một thuật ngữ tin học, tạm dịch là mã nguồn mở. Chúng ta sử dụng rất nhiều Open source trong công việc nhưng có không ít người không biết hoặc không để tâm đến những giấy phép (license) của những Open Source đó. Chúng ta được sử dụng Open source vào mục đích những gì thì sẽ không vi phạm bản quyền (copyright). Hãy cùng cuongcong.com tìm hiểu một số Giấy phép nguồn mở Open Source Licenses đang được sử dụng nhiều hiện nay nhé.
* Một số Licenses thương mại:
Phần mềm thương mại (Commercial Software):
Là phần mềm thuộc bản quyền của tác giả hoặc nhà sản xuất, chỉ được cung cấp ở dạng mã nhị phân, người dùng phải mua và không có quyền phân phối lại.
Phần mềm thử nghiệm giới hạn (Limited Trial Software)
Là những phiên bản giới hạn của các phần mềm thương mại được cung cấp miễn phí nhằm mục đích thử nghiệm, giới thiệu sản phẩm và kích thích người dùng quyết định mua. Loại sản phấm này không chỉ giới hạn về tính năng mà còn giới hạn về thời gian dùng thử (thường là 60 ngày).
Phần mềm “chia sẻ” (Shareware)
Loại phần mềm này có đủ các tính năng và được phân phối tự do, nhưng có một giấy phép khuyến cáo các cá nhân hoặc tổ chức mua, tùy tình hình cụ thể. Nhiều tiện ích Internet (như “WinZip” dùng các thuận lợi của Shareware như một hệ thống phân phối).
Phần mềm sử dụng phi thương mại (Non-commercial Use)
Loại phần mềm này được sử dụng tự do và có thể phân phối lại bởi các tổ chức phi lợi nhuận. Nhưng các tổ chức kinh tế, thí dụ các doanh nghiệp, … muốn dùng phải mua. Netscape Navigator là một thí dụ của loại phần mềm này.
Phần mềm không phải trả phần trăm cho nhà sản xuất (Royalties Free Binaries Software)
Phần mềm được cung cấp dưới dạng nhị phân và được dùng tự do. Thí dụ: bản nhị phân của các phần mềm Internet Explorer và NetMeeting.
Thư viện phần mềm không phải trả phần trăm (Royalties Free Software Libraries)
Là những phần mềm mà mã nhị phân cũng như mã nguồn được dùng và phân phối tự do, nhưng người dùng không được phép sửa đổi. Thí dụ: các thư viện lớp học, các tệp “header”, vv …
* Những Giấy phép nguồn mở Open Source Licenses phổ biến:
- Apache License 2.0
- BSD 3-Clause “New” or “Revised” license
- BSD 2-Clause “Simplified” or “FreeBSD” license
- GNU General Public License (GPL)
- GNU Library or “Lesser” General Public License (LGPL)
- MIT license
- Mozilla Public License 2.0
- Sun Industry Standards Source License
Trong bản mô tả chi tiết của từng Giấy phép nguồn mở Open Source Licenses có thông tin về “Điều khoản và điều kiện sử dụng, Tái sản xuất, Phân phối”. Trong khuôn khổ bài viết này mình xin chỉ nói quyền lợi và nghĩa vụ của những người sử dụng Open source.
1. Apache License 2.0
Giấy phép Apache là một giấy phép phần mềm tự do của Quỹ phần mềm Apache (Apache Software Foundation – ASF). Giấy phép Apache trao cho người dùng phần mềm nguồn mở, quyền tự do sử dụng phần mềm với bất kì mục đích nào. Bao gồm phân phối chỉnh sửa, và phân phối bản sửa đổi của phần mềm, theo các điều khoản của giấy phép mà không lo vấn đề bàn quyền.
Các điều khoản của giấy phép:
– Giấy phép Apache cho phép người dùng tự do sử dụng phần mềm với bất kì mục đích nào, tự do phân phối, tự do sửa đổi, tự do phân phối bản sửa đổi mình làm.
– Giấy phép Apache không yêu cầu bản sửa đổi của phần mềm phải được phân phối dưới cùng giấy phép với bản gốc, cũng không yêu cầu bản sửa đổi phải được phân phối dưới dạng mã nguồn mở. Giấy phép Apache chỉ yêu cầu có một thông báo nhắc nhở người nhận rằng giấy phép Apache đã được sử dụng trong sản phẩm họ nhận được.
=> Nói tóm lại người sử dụng phần mềm được quyền sử dụng chương trình và mã nguồn theo cách họ muốn, kể cả việc giữ lại mã nguồn cho riêng mình. Đây cũng là một đặc trưng của Giấy phép nguồn mở Open Source Licenses dạng Apache.
Giấy phép Apache không yêu cầu trích dẫn toàn bộ giấy phép vào sản phẩm hay tệp tin đính kèm bản phân phối, mà chỉ cần thêm vào phần thông báo có chứa đường link tới website chứa giấy phép với nội dung như sau:
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.
2. BSD 3-Clause “New” or “Revised” license
Giấy phép BSD(Berkeley Software Distribution License) có thể nói là lâu đời nhất trong các giấy phép nguồn mở, nó đã và đang tồn tại ở một số dạng kể từ những năm 1980. Giấy phép BSD 3-Clause “New” or “Revised” license là bản sửa đổi của giấy phép BSD cũ đã loại bỏ một số điều khoản mà người ta cho rằng phi thực tế.
Điều khoản của giấy phép: Tái phân phối và sử dụng ở dạng mã nguồn và nhị phân, có hoặc không có sửa đổi mã nguồn, đều được cho phép miễn là các điều khoản sau được đáp ứng:
– Việc phân phối lại mã nguồn phải giữ lại thông báo bản quyền, danh sách các điều kiện và tuyên bố từ chối trách nhiệm.
– Việc phân phối lại dưới dạng nhị phân phải sao chép thông báo bản quyền, danh sách các điều kiện và tuyên bố từ chối trách nhiệm trong tài liệu và/hoặc các tài liệu khác được cung cấp bởi bản phân phối.
– Tên của người giữ bản quyền cũng như tên của những người đóng góp của nó có thể được sử dụng để xác nhận hoặc quảng cáo các sản phẩm có nguồn gốc từ phần mềm này mà không có sự cho phép trước bằng văn bản cụ thể.
3. BSD 2-Clause “Simplified” or “FreeBSD” license
Giấy phép BSD 2-Clause “Simplified” or “FreeBSD” license về cơ bản giống với giấy phép BSD 3-Clause. Nhưng BSD 2-Clause yêu cầu “Tên của những người đóng góp trước đó không được sử dụng để quảng cáo cho bất kỳ phiên bản phái sinh nào mà không có được sự cho phép bằng văn bản của họ”. BSD 3-Clause đã giảm bớt sự phiền hà khi sử dụng phần mềm nguồn mở theo giấy phép BSD.
4. GNU General Public License (GPL)
Giấy phép GNU hiện đang có 2 phiên bản được sử dụng phổ biến là GPL-2.0 và GPL-3.0. Chúng ta sẽ nói về phiên bản mới nhất GPL-3.0.
Quyền lợi khi sử dụng phần mềm áp dụng giấy phép GPL
– Được sao chép và phân phối chương trình, được yêu cầu trả phí cho việc phân phối đó.
– Được thay đổi chương trình để sử dụng cho mục đích cá nhân.
– Được phân phối bản đã được thay đổi đó.
Nghĩa vụ
– Khi sao chép và phân phối chương trình, phải đính kèm các thông báo về bản quyền gốc và không bảo hành. Trừ trường hợp có văn bản thêm về quy định bảo hành.
– Khi phân phối bản đã được thay đổi bởi bản thân, phải chú thích rõ đó là bản đã được thay đổi, các thành phần được thay đổi, và áp dụng giấy phép GNU cho bản đã được thay đổi đó.
– Khi phát hành chương trình phải công khai mã nguồn của chương trình. Phải công bố mã nguồn của chương trình trong tối thiểu 3 năm mà không được đòi một khoản phí nào từ những người yêu cầu mã nguồn trừ chi phí vận chuyển hay tương đương.
5. GNU Library or “Lesser” General Public License (LGPL)
LGPL là một phiên bản sửa đổi của GPL. Giấy phép này thường bị hạn chế đối với các thư viện phần mềm. Nó được gọi là Lesser General Public License vì nó cung cấp sự bảo vệ ít hơn so với GPL. Điều này cho phép các chương trình không phải là Open source có thể truy cập hoặc liên kết tới các thư viện nguồn mở mà không phải công khai mã nguồn như giấy phép GPL. Đây có lẽ là giấy phép nguồn mở Open Source Licenses thông dụng nhất
6. MIT license
Giấy phép MIT là loại giấy phép cho phép sử dụng mã nguồn tự do nhất. Nó có thể kết hợp với các mã nguồn khác và đảm bảo tương thích theo điều kiện của mọi loại giấy phép khác. Với giấy phép MIT bạn có thể sử dụng, sao chép, sửa đổi, hợp nhất, xuất bản, phân phối. Bạn được bán các bản sao của phần mềm mà không vi phạm bản quyền. Bạn chỉ cần tuân thủ điều kiện duy nhất sau:
– Thông báo bản quyền và thông báo cho phép của phần mềm gốc. Sử dụng giấy phép MIT sẽ phải bao gồm trong tất cả các bản sao hoặc phần quan trọng của phần mềm.
7. Mozilla Public License 2.0
Giấy phép nguồn mở Open Source Licenses dạng Mozilla MPL 2.0 là một giấy phép phần mềm tự do của Quỹ Mozilla. MPL là sự kết hợp giữa giấy phép BSD có chỉnh sửa và giấy phép GNU. Một số lập trình viên đóng góp cho cộng đồng phần mềm mã nguồn mở nhưng không muốn từ bỏ hoàn toàn quyền sở hữu đối với những sửa đổi của họ. MPL là một ví dụ điển hình nhất đáp ứng nhu cầu này của họ. Nó ra đời để giúp phân phối trình duyệt web Mozilla (nền tảng nguồn mở của Netscape). MPL yêu cầu việc công bố mã nguồn của mọi thay đổi được đưa ra công chúng. Thời gian yêu cầu để công bố được giới hạn trong vòng khoảng 6 tháng – 1 năm tuỳ theo từng trường hợp.
8. Sun Industry Standards Source License
SISSL là Giấy phép nguồn mở Open Source Licenses theo chuẩn của Sun. mã nguồn của phần mềm được công bố theo một phiên bản nào đó của giấy phép. Người sử dụng sẽ luôn phải sử dụng mã gốc đó theo các điều khoản của phiên bản đó. Không ai có quyền chỉnh sửa các điều khoản áp dụng cho mã nguồn gốc ngoài Sun.
Tóm lại Giấy phép nguồn mở Open Source Licenses:
– GPL: Một khi sử dụng và phân phối, bắt buộc phải sử dụng giấy phép GPL. Bạn không được phép đóng mã nguồn và thay đổi giấy phép.
– LGPL: là giấy phép tự do “ít ràng buộc” hơn. Là giấy phép sửa đổi của GPL, được sử dụng cho một số thư viện phần mềm. Các thư viện dùng ngôn ngữ C thường áp dụng giấy phép này.
– MPL: MPL dung hoà giữa BSD và GPL. MPL cho phép dùng MPL software để tạo ra một sản phẩm khác (thương mại hoặc không). Nếu thay đổi MPL software thì phải được đưa miễn phí lên Internet.
– Apache: được phép đóng mã nguồn, thương mại hoá và giữ bản quyền sản phẩm
– BSD: là giấy phép tự do “ít ràng buộc” hơn. Các giấy phép kiểu BSD để những sản phẩm phái sinh được tái phân phối như phần mềm thương mại.
Khi sửa đổi phải đưa mã nguồn ra thành mã nguồn mở?
– BSD: Không cần
– GPL, LGPL, MPL: Yêu cầu
Khi sử dụng có phải đưa mã nguồn ra thành mã nguồn mở?
– BSD, LGPL, MPL: Không
– GPL: Có
Trên đây là một số Giấy phép nguồn mở Open Source Licenses. Chúc các bạn vui vẻ.