thuctap012017/Tìm hiểu giấy phép mã nguồn mở.md at master · hocchudong/thuctap012017

TÌM HIỂU CÁC LOẠI GIẤY PHÉP MÃ NGUỒN MỞ

Mục lục

1. Phần mềm mã nguồn mở

2. Giấy phép mã nguồn mở là gì?

3. Một số giấy phép mã nguồn mở phổ biến

4. Tài liệu tham khảo

1. Phần mềm nguồn mở

  • Phần mềm nguồn mở – Free Open Source Software (FOSS) là phần mềm được cung cấp dưới dạng mã và nguồn, được công bố và sử
    dụng một Giấy phép mở.

  • Giấy phép này cho phép bất cứ ai cũng có thể nghiên cứu, thay đổi và
    cải tiến phần mềm và phân phối phần mềm ở dạng đã thay đổi hoặc chưa thay đổi. Người sử dụng phần
    mềm được có các quyền vốn bị cấm bởi bản quyền: bao gồm quyền sử dụng, thay đổi và tái phân phối.

  • Đặc điểm:

    • Tiện ích mà Open Source mang lại chính là:

      • Quyền tự do sử dụng chương trình cho mọi mục đích.

      • Quyền tự do để nghiên cứu cấu trúc của chương trình.

      • Chỉnh sửa phù hợp với nhu cầu, truy cập vào mã nguồn.

      • Quyền tự do phân phối lại các phiên bản cho nhiều người.

      • Quyền tự do cải tiến chương trình.

      • Phát hành những bản cải tiến vì mục đích công cộng – nhưng phải theo nguyên tắc chung nhất định được quy định trong giấy phép nguồn mở mà phần mềm đó dùng

      => Các PMNM gần như hoàn toàn miễn phí và có thể download về từ Internet.

    • An toàn hơn, đáng tin cậy hơn do các chuẩn mở và không lệ thuộc vào nhà cung cấp. Do mã nguồn được phổ biến rộng rãi giúp người lập trình và người sử dụng dễ phát hiện và khắc phục những lỗ hổng an toàn trước khi chúng bị lợi dụng. Các phần mềm nguồn mở (PMNM) thường có quy trình rà soát chủ động chứ không phải rà soát đối phó.

2. Giấy phép mã nguồn mở là gì?

<<<<<<< HEAD

2.1. Khái niệm

Giấy phép mã nguồn mở: là các giấy phép bản quyền dành cho các phần mềm máy tính trong đó đặt ra các quy định buộc người sử dụng phần mềm đó phải tuân theo. Giấy phép mã nguồn mở được sử dụng cho các phần mềm nguồn mở.*

2.1. Khái niệm

Giấy phép mã nguồn mở: là các giấy phép bản quyền dành cho các phần mềm máy tính trong đó đặt ra các quy định buộc người sử dụng phần mềm đó phải tuân theo. Giấy phép mã nguồn mở được sử dụng cho các phần mềm nguồn mở.

cc6ead4d973c71093a217ca5bc84f1f1c829ca67

  • Giấy phép mã nguồn mở có giá trị về mặt pháp lý được quy định rõ ràng.

  • Giấy phép mã nguồn mở do một số công ty, tổ chức lập ra để quy định về trách nhiệm của người sử dụng đối với một phần mềm/mã nguồn mở.
    Hiện tại, tổ chức Open Source Initiative (OSI) là người đưa ra định nghĩa về mã nguồn mở – OSD – Open Source Definition
    được cộng đồng công nhận rộng rãi. Các giấy phép mã nguồn mở đa phần được xây dựng dựa trên OSD.

  • Mục đích sử dụng: Các giấy phép mã nguồn mở được sử dụng để đảm bảo rằng các phần mềm, mã nguồn có sử dụng giấy phép này luôn là mã nguồn mở, phù hợp với OSD.

  • 3 điểm chủ yếu trong một giấy phép mã nguồn mở là:

  • Tự do phân phối lại: không cấm bất kì ai cho hoặc bán chương trình.

  • Mã nguồn: cho phép sự phân phối dưới dạng mã nguồn, và nếu mã nguồn không đi kèm chương trình, nó phải truy cập được một cách dễ dàng và miễn phí trên thực tế.

  • Phiên bản dẫn xuất: cho phép các thay đổi và các phiên bản dẫn xuất, và phải cho phép rằng những phiên bản này được phân phối dưới cùng các điều khoản giấy phép.

2.2. Phân loại

Được chia thành 2 loại chính:

  • Những giấy phép không quy định bất kì sự hạn chế nào trong việc sự dụng mã nguồn – còn có thể gọi là các giấy phép không bảo hộ vì chúng không bảo vệ mã nguồn mở khỏi việc bị sử dụng trong các phần mềm không phải là mã nguồn mở.

    • Người giữ bản quyền mã nguồn sẽ giữ lại bản quyền của họ đối với mã nguồn, và cấp cho người được cấp bản quyền (có thể hiểu là người sử dụng sản phẩm, mã nguồn) tất cả các quyền thuộc về bản quyền của mã nguồn đó.

    • Còn được gọi là non-copyleft.

    • Các giấy phép thuộc loại này: Apache Software License v.1.1, BSD License, Intel Open Source License for CDSA/CSSM Implementation, MIT License, Sun Industry Standards Source License, W3C Software Notice and License…

  • Những giấy phép quy định các hạn chế trong việc sử dụng mã nguồn – còn có thể gọi là các giấy phép bảo hộ vì chúng đảm bảo rằng các mã nguồn mở khi được sử dụng trong bất cứ tình huống nào sẽ vẫn được công khai/miễn phí.

    • Người giữ bản quyền mã nguồn giữ lại bản quyền của họ đối với mã nguồn, và cấp cho người được cấp bản quyền tất cả các quyền thuộc về bản quyền của mã nguồn đó, nhưng có ít nhất một điều kiện, thông thường là việc phân phối lại phần mềm/mã nguồn đó, dù đã được sửa đổi hay chưa, đều phải sử dụng cùng loại giấy phép ban đầu.

    • Còn được gọi là copyleft.

    • Các giấy phép thuộc loại này: Apple Public Source License v.1.2, Common Public License v.1.0; GNU General Public License v.2.0, IBM Public License v.1.0, Mozilla Public License v.1.0 and v.1.1, Nokia Open Source License v.1.0a, Open Software License v.1.1, Python License; Python Software Foundation License v.2.1.1, Sun Public License v.1.0…

3. Một số giấy phép mã nguồn mở phổ biến

Tuy đa dạng về số lượng nhưng nhìn chung mỗi loại giấy phép mã nguồn mở đều gồm 3 nội dung chính: quyền lợi; trách nhiệm khi sử dụng, phân phối lại hay chỉnh sửa chương trình; xử lí nếu vi phạm giấy phép.

3.1. Giấy phép công cộng GNU

Giấy phép công cộng GNU (hay GNU General Public License – GNU GPL) là giấy phép phần mềm tự do phổ biến nhất, mới đầu do Richard Stallman viết cho dự án GNU.

Phiên bản hiện hành của giấy phép này là phiên bản 3 năm 2007(GPL v3), phiên bản được sử dụng nhiều nhất hiện nay là phiên bản 2 năm 1991.

  • Tư tưởng của GNU GPL là:

    • Phần mềm GPL phải là phần mềm tự do.

    • Phần mềm phái sinh từ phần mềm GPL cũng phải là phần mềm GPL.

  • Giấy phép GNU có đặc tính virus, bởi sức lây lan và kế thừa của nó. Một người nhận sản phẩm từ người mang giấy phép GNU thì ngay lập tức người đó cũng mang giấy phép GNU.

    => Hệ quả là GNU là giấy phép phổ biến nhất, bởi mã nguồn luôn ở dạng công cộng cho phép ai cũng có thể tham gia ở bất kì thời điểm nào.

  • Mặc dù giấy phép GNU yêu cầu mã nguồn và chương trình phải được cung cấp miễn phí, song nó cho phép người phân phối có thể kinh doanh với sản phẩm nhờ đưa ra các chính sách về bảo hành, tính chi phí phân phối sản phẩm, đào tạo sử dụng …

  • Một số phần mềm sử dụng giấy phép GNU nổi bật: RedHat Enterprise Linux, Ubuntu, GIMP, Drupal, WordPress, Joomla…

3.2. Giấy phép MIT

MIT là một giấy phép phần mềm tự do được phát hành bởi Học viện Công nghệ Massachusetts (Massachusetts Institute of Technology – MIT), được hội đồng MIT X sử dụng.

  • MIT cho phép tái sử dụng các phần mềm độc quyền nhưng với điều kiện: giấy phép MIT đã được phân phối kèm phần mềm đó.

  • Các ý tưởng tương tự giấy phép GPL nhưng loại bỏ tính virus của GPL – tức là không bắt buộc các chương trình sử dụng tài nguyên có dùng giấy phép MIT cũng phải sử dụng giấy phép MIT.

  • Giấy phép MIT không bắt buộc công khai mã nguồn.

  • Người sử dụng phải kèm theo giấy phép MIT vào bản chỉnh sửa của mình, tuy nhiên không bị bắt buộc phải sử dụng giấy phép MIT cho toàn bộ bản đó.

  • Giấy phép MIT cũng có thể được chỉnh sửa lại cho phù hợp với thực tế.

  • Giấy phép MIT không cấm sử dụng tên của người giữ bản quyền vào mục đích quảng bá, và cũng không bắt buộc phải hiện danh sách tất cả những người từng tham gia thực hiện dự án trong phần About của chương trình.

  • Một số phần mềm sử dụng giấy phép MIT: Expat, PuTTY, Ruby on Rails, Lua 5.0 và X Window System…

3.3. Giấy phép BSD

Giấy phép BSD (Berkeley Software Distribution License) là một giấy phép phần mềm tự do với các điều kiện rất đơn giản được sử dụng rộng rãi cho phần mềm máy tính.

  • Giấy phép BSD cho phép sử dụng và phân phối lại mã nguồn và sản phẩm, có hoặc không có sửa đổi, miễn là tuân thủ các yêu cầu sau:

    • Giữ nguyên thông báo bản quyền của sản phẩm.

    • Không được sử dụng tên dự án hay tên nhà phân phối vào mục đích quảng bá bản thân nếu không được cho phép.

    => Cho phép các nhà phát triển phần mềm có thể thương mại hóa thực sự các sản phẩm phần mềm có sử dụng mã nguồn mở dùng giấy phép BSD, tức kiếm tiền dựa trên mã nguồn của chương trình.

  • Cho phép các nhà phát triển thay thế, bổ sung thêm các điều khoản vào trong giấy phép cho phù hợp với mình, hoặc thậm chí sử dụng một giấy phép khác.

  • Một số phần mềm sử dụng giấy phép BSD: Window Xfree86, FreeBSD, NetBSD, OpenBSD..

3.4. Giấy phép Apache

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ống như các giấy phép nguồn mở khác, cho phép người sử dụng tự do sử dụng, tự do phân phối, chỉnh sửa và phần phối lại bản chỉnh sửa của mình.

  • Giấy phép Apache được xem là loại giấy phép không có nhiều ràng buộc vì nó không bắt buộc phiên bản đã thay đổi của phần mềm phải được phân phối với cùng giấy phép (không giống như các giấy phép copyleft), cũng không yêu cầu bản sửa đổi phải là 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 mà họ nhận được.

    => Người sử dụng có thể nhận đượ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.

  • Khi phân phối chương trình, cần có 2 file được đặt trong thư mục gốc là LICENSE (là bản copy của giấy phép) và NOTICE (văn bản chú thích tên các thư viện đã dùng, kèm tên người phát triển)

  • Trong mỗi tệp tin đã được cấp phép, bất kì thông tin về bản quyền và bằng sáng chế trong bản phân phối lại phải được giữ nguyên như ở bản gốc, và ở mỗi tệp tin đã được chỉnh sửa phải thêm vào ghi chú là đã được chỉnh sửa khi nào.

  • Các phần mềm sử dụng giấy phép Apache: Apache Server, XAMPP, Apache Axis2, …

4. Tài liệu tham khảo

[1] Tìm hiểu OSL – Nguyễn Khánh Duy: https://thaiduynguyen.wordpress.com/2009/10/30/tim-hieu-ve-osl/

[2] https://nukeviet.vn/vi/news/Cong-dong-nguon-mo/Tim-hieu-ve-Ban-quyen-va-giay-phep-Phan-mem-Tu-do-Nguon-mo-165.html

[3] Định nghĩa mã nguồn mở: https://opensource.org/docs/definition.html

[4] http://www.thietkewebvietnam.net/lap-trinh-php/ma-nguon-mo-open-source-la-gi.html

[5] Một số tài liệu về các giấy phép mã nguồn mở: Giấy phép GNU GPL, Giấy phép Apache, Giấy phép BSD, …