Các giấy phép mã nguồn mở phổ biến (Open source license)

Mã nguồn mở ngày nay đã và đang trở nên phổ biến hơn bao giờ hết, những dự án mã nguồn mở có thể được tìm thấy hầu như ở bất kì đâu trên không gian mạng rộng lớn này.

Tuy nhiên dù có “mở” đi chăng nữa thì những phần mềm mã nguồn mở phải tuân theo những giấy phép nhất định để tránh những rủi ro phát sinh. Điển hình là 3 loại giấy phép phổ biến nhất là Apache, MIT và GPL. Vậy, giữa chúng có gì khác nhau.

Các giấy phép mã nguồn mở phổ biến.

Trước hết, giấy phép mã nguồn mở là một loại giấy phép được sử dụng cho các phần mềm mã nguồn mở. Giấy phép này cho phép bất kì cá nhân hay tổ chức nào cũng có thể nghiên cứu, thay đổi, chỉnh sửa và cải tiến phần mềm, và phân phối ở các dạng khác nhau như thay đổi hoặc chưa thay đổi.

Giấy phép Apache

Giấy phép Apache ra đời bởi Quỹ Phần mềm Apache (Apache Software Foundation - ASF). Đây là một giấy phép phần mềm tự do, không có copyleft, bắt buộc trong việc thông báo bản quyển và lời phủ nhận.

Giấy phép này hoạt động như các giấy phép phần mềm mã nguồn mở khác, trao cho người sử dụng phần mềm quyền tự do trong bất kỳ mục đích nào, từ chỉnh sửa, thay đổi, phân phối hoặc phân phối bản có sửa đổi của phần mềm theo các điều khoản đã ghi của giấy phép mà không lo lắng tới phí bản quyền.
Được phần đông người dùng đánh giá là giấy phép không có nhiều ràng buộc nên Apache là một giấy phép được sử dụng rộng rãi.

Theo số liệu đã được thống kê, đến tháng 10 năm 2012, đã có đến 8708 dự án đặt tại SourceForge.net được cấp phép theo các điều khoản của Giấy phép Apache. Sự phổ biến này đã được trình bày rõ ràng trong một bài viết trên blog vào tháng 5 năm 2008, Google đã liệt kê đến hơn 25000 trong tổng số 100000 dự án đặt trên Google Code đang sử dụng giấy phép này.

Các điều khoản giấy phép Apache

Trong mỗi tập tin được cấp phép, bất kỳ bản quyền, bằng sáng chế hay thương hiệu và thông báo ghi công phải được giữ nguyên trong các đoạn mã khi phát hành và phải thông báo các tập tin đã thay đổi trong source code.

Nếu có một tập tin NOTICE trong bản phân phối gốc thì các phiên bản sau chỉnh sửa phải kèm theo nội dung của tập tin nêu trên bên trong phần mềm, hoặc tài liệu hướng dẫn sử dụng, hoặc trong một giao diện của phiên bản hiện hành.

Trừ khi có thông báo đặc biệt nào khác từ ASF thì bất kỳ đóng góp chỉnh sửa nào gửi cho người cấp phép đều sẽ tuân theo các điều khoản của giấy phép mà không cần thông qua bất cứ điều kiện gì nhưng vẫn giữ được sự hợp tác thỏa thuận giữa các bên trong phần đóng góp này.

Mozilla Public License 2.0

Giấy phép 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ọ và 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.

Giấy phép MIT

Giấy phép MIT được tạo ra bởi Viện Công nghệ Massachusetts (MIT) danh tiếng. Là một loại giấy phép cấp phép, không có copyleft và c rất ít hạn chế trong việc sử dụng, trở thành một trong những giấy phép lý tưởng trong việc phát triển phần mềm.

Sự phổ biến của giấy phép này đã được minh chứng bằng việc GitHub, trang web lưu trữ source code nổi tiếng, đã xác nhận rằng đây là giấy phép phổ biến nhất trên dịch vụ của họ, vượt xa các biến thể giấy phép GPL( sẽ đề cập sau) và các giấy phép phần mềm tự do nguồn mở (FOSS) khác. MIT đã tạo tiền để cho các dự án mà ắt hẳn bạn đã nghe qua một lần như: Ruby on Rails, Node.js, jQuery và X11 hay X.

Các điều khoản của giấy phép MIT

Các điều khoản của giấy phép MIT được gói gọn rằng: "Quyền hạn sử dụng được trao cho người sử dụng với không hạn chế nào, kể cả quyền sử dụng, sao chép, chỉnh sửa, kết hợp, xuất bản, phân phối, hay phân phối dưới các dạng phiên bản sửa đổi khác nhau, và bán bản sao chép của phần mềm nhưng với điều kiện như: những file ghi về tác giả, người có công (như file NOTICE), file ghi về quyền hạn sử dụng phải được bao gồm trong các phiên bản sử dụng giấy phép này".

Giấy phép GPL

Giấy phép GPL hay còn được biết đến với cái tên GNU General Public License (GNU GPL/GPL) là một giấy phép mã nguồn mở có copyleft được sử dụng rộng rãi, đảm bảo cho người dùng khả năng chạy, nghiên cứu, tùy biển về phần mềm, là sản phẩm trí tuệ của Richard Stallman của Quỹ Phần mềm Tự do (FSF) cho dự án GNU, hỗ trợ cấp cho người nhận chương trình máy tính quyền của Định nghĩa Phần mềm Tự do.

Nhờ có copyleft mà GPL đã trở thành Giấy phép mã nguồn mở phổ biến nhất trong lĩnh vực phầm mềm tự do và nguồn mở. Các sản phẩm tiêu biểu được tạo ra theo giấy phép GPL có thể kể đến như nhân Linux và Bộ biên dịch GNU hay GCC.

Nhờ giấy phép này mà nhân Linux đã có những thành công rực rỡ trên con đường phát triển của mình.

Các điều khoản của giấy phép GPL

GNU GPL cho đến nay đã trải qua 3 phiên bản gồm 17 điều khoản như được tự do chạy chương trình dưới bất cứ mục đích nào, tự do tìm hiểu các hoạt động của chương trình và tự do thực hiện các thay đổi, chỉnh sửa lên nó và quyền truy cập mã nguồn là điều kiện bắt buộc cho quyền tự do này, tự do tái phân phối bản sao, tự do trong việc cải tiến, phát hành cải tiến ra công cộng, tạo điều kiện thuận lợi cho kỹ thuật phân tích ngược (reverse engineeing).

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ể.

Kết luận

– 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, 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), tuy nhiên 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.

Có thể thấy rằng nhờ có các giấy phép mã nguồn mở mà ngành phần mềm đã và đang trở nên phát triển mạnh hơn bao giờ hết.

Các giấy phép tuy khác nhau nhưng đều có điểm chung trong việc tạo điều kiện chỉnh sửa cho nhà phát triển, tạo cơ hội cải tiến chương trình, làm đa dạng hóa chương trình gốc, giúp từng byte, từng bit người sử dụng tương tác trở nên hoàn hảo hơn bao giờ hết. Tuy nhiên, bạn cũng cần lưu ý đến những rủi ro khi thiết kế web mã nguồn mở để có những sự lựa chọn đúng đắn nhất.

Hi vọng bài viết của LPTech mang lại giá trị cho bạn!

Thông tin liên hệ

Nếu bạn có thắc mắc gì, có thể gửi yêu cầu cho chúng tôi, và chúng tôi sẽ liên lạc lại với bạn sớm nhất có thể .

Công ty TNHH TMĐT Công nghệ LP

Giấy phép kinh doanh số 0315561312/GP bởi Sở Kế Hoạch và Đầu Tư TP. Hồ Chí Minh.

Văn phòng: Lầu 4, Toà nhà Lê Trí, 164 Phan Văn Trị, Phường 12,Quận Bình Thạnh, HCMC

Hotline: 0338 586 864

Mail: sales@lptech.asia

Zalo:LP Tech Zalo Official

Liên hệ qua Zalo: 0338586864 ( hoặc bấm vào link này: http://lptech.asia/zalo-lptech). Hoặc nhập thông tin mà bạn cần hỗ trợ vào ô liên hệ bên dưới để lên lạc với LPTech nhé.

Bài viết cùng chuyên mục

Authentication là gì? 7 phương pháp...

Authentication là gì? Đóng vai trò gì trong bảo mật và phát triển phần mềm. Tìm hiểu khái niệm về authentication và các phương pháp xác...

CSRF là gì? Tìm hiểu cách chống tấn công giả mạo...

CSRF (Cross-Site Request Forgery) là một dạng tấn công trong các ứng dụng web. Tìm hiểu chi tiết về CSRF và cách bảo vệ ứng dụng khỏi...

Pentest là gì? Tầm quan trọng của kiểm thử xâm nhập

Tìm hiểu về phương pháp kiểm thử xâm nhập - Pentest, một giải pháp bảo mật thiết yếu cho doanh nghiệp trong thời đại số hóa.

NAT là gì? Phân loại NAT theo chức năng và cách...

NAT là một kỹ thuật mạng dùng để chuyển đổi địa chỉ IP của một gói data khi nó đi qua một thiết bị mạng như router hoặc tường lửa. Các...

Tấn công brute-force là gì? Cách phòng chống tấn...

Brute force là một hình thức tấn công mà các hacker thường sử dụng. Chúng thực hiện bằng các phần mềm tự động để thử mật khẩu tài khoản...

XSS là gì? Cách truy vết và phòng chống tấn công...

XSS, viết tắt của cụm từ Cross Site Scripting, là một lỗ hổng trong bảo mật mà các hacker sẽ sử dụng để cài đặt các phần mềm độc hại vào...

Bài viết mới nhất


Cần Giờ - Thạnh An: Rong chơi những ngày cuối năm

Một chuyến đi ngẫu hứng vào những ngày cuối năm của các thành viên, rời xa thành phố để đến với Cần Giờ và Đảo Thạnh An.

15 nền tảng CMS thông dụng tốt nhất năm 2025

CMS (Content Management System) là hệ thống để tạo, quản lý và chỉnh sửa nội dung một cách dễ dàng mà không cần kiến thức lập trình.

Design Pattern là gì? Các loại Design Pattern...

Design Pattern là gì? Đây là những mẫu thiết kế giúp tổ chức mã nguồn, tăng tính linh hoạt và dễ dàng bảo trì hệ thống.

Outsourcing là gì? Sự khác nhau giữa Product và...

Outsourcing, Outsource là hình thức làm việc sử dụng dịch vụ thuê ngoài để giúp doanh nghiệp hoàn thành nhiệm vụ. Xem bài viết để tìm hiểu chi tiết...

Authorization là gì? Các loại Authorization phổ...

Authorization là gì? Đây là quá trình xác định quyền truy cập của người dùng vào tài nguyên trong hệ thống bất kỳ để đảm bảo tính bảo mật.

Authentication là gì? 7 phương pháp...

Authentication là gì? Đóng vai trò gì trong bảo mật và phát triển phần mềm. Tìm hiểu khái niệm về authentication và các phương pháp xác thực phổ...

Array là gì? Tổng hợp 15 phương thức của Array...

Array là gì trong JavaScript? Đây là câu hỏi phổ biến khi làm quen với lập trình. Mảng (array) giúp lưu trữ và quản lý nhiều giá trị trong một biến...

SaaS là gì? Tổng quan về mô hình Software as a...

SaaS là mô hình dịch vụ phần mềm dựa trên cloud, cho phép người dùng truy cập các ứng dụng trực tiếp qua internet mà không cần cài đặt phức tạp....

AWS là gì? Tất tần tật chứng chỉ AWS 'đẻ vàng'...

AWS là nền tảng điện toán đám mây hàng đầu thế giới, cung cấp hơn 200 dịch vụ tiên tiến, từ lưu trữ dữ liệu đến trí tuệ nhân tạo. Tìm hiểu ngay...

Google Search Console cải tiến thời gian xem...

Ngày 12 tháng 12 Google Search Console cập nhật chế độ xem 24 giờ cho các báo cáo hiệu suất giúp cải thiện độ mới dữ liệu hơn so với chế độ xem cũ