Chuyển đến nội dung chính

So sánh giấy phép mã nguồn mở Apache, MIT, GPL

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


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.

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

Kết luận
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.

Theo: TKT

Nhận xét

Bài đăng phổ biến từ blog này

HttpOnly Flag và Secure Flag của chiếc Cookie để làm gì?

Cookies rất hữu ích nhưng cũng tồn tại không ít rủi ro. Bài viết sau đây giúp tìm hiểu rõ thêm về 2 thuộc tính giúp bảo vệ Cookies là Httponly flag   và Secure flag.   Nếu anh em mò vào được bài này thì chắc cũng biết về Cookie rồi, nhưng còn hiểu lơ mơ    thì click vào đây trước nhé -  Cookie . Chuyện kể rằng, ngày xửa ngày xưa, có một "nghệ sĩ" nọ do không sao kê tiền từ thiện nên đã bị hacker tấn công chiếm rất nhiều tài khoản do bị mất cookie.  1. Tại sao lại mất?   Nguyên nhân "nghệ sĩ" bị mất thông tin cá nhân là do quá chủ quan khi click đọc email do rất nhiều "fan" gửi cho, trong những email đó có gắn đường link chứa mã độc đánh cắp cookie của 1 trang web nào đó.  Do cookies phản hồi từ server mà các đường link đó dẫn tới không được bảo vệ     nên đã bị đối tượng xấu lấy mất cookies chứa xác thực đăng nhập -> dẫn tới mất thông tin. Về mặt bản chất, cũng có thể hiểu đây như là một cuộc tấn công XSS , đối tượng gửi email sẽ execute một đoạn scri

Mã hóa đối xứng và bất đối xứng

Hôm nay mình xin được nói về hai thuật toán cơ bản và quan trong nhất trong bảo mật đó là mã hóa đối xứng và mã hóa bất đối xứng . 1. Mã hóa đối xứng (mã hóa không công khai- symmetric-key algorithms ) - Là lớp thuật toán các mã hóa trong đó việc mã hóa và giải mã đều dùng chung cho 1 khóa (secret key) 1.1 Các loại thuật toán khóa đối xứng Thuật toán đối xứng có thể được chia ra làm hai thể loại, mật mã luồng ( stream ciphers ) và mật mã khối ( block ciphers ). Mật mã luồng mã hóa từng bit của thông điệp trong khi mật mã khối gộp một số bit lại và mật mã hóa chúng như một đơn vị. Cỡ khối được dùng thường là các khối 64 bit. Thuật toán tiêu chuẩn mã hóa tân tiến ( Advanced Encryption Standard ), được NIST công nhận tháng 12 năm 2001, sử dụng các khối gồm 128 bit. Các thuật toán đối xứng thường không được sử dụng độc lập. Trong thiết kế của các hệ thống mật mã hiện đại, cả hai thuật toán bất đối xứng ( asymmetric ) (dùng chìa khóa công khai) và thuật toán đối xứng được sử

Những câu hỏi phỏng vấn kỹ sư bảo mật thường gặp.

Dưới đây là một danh sách các câu hỏi thường được sử dụng trong việc phỏng vấn tuyển dụng chuyên gia bảo mật. Nhiều câu hỏi được thiết kế buộc người được phỏng vấn phải suy nghĩ, và không thể chuẩn bị trước cho dạng câu hỏi này. Ở đó, các phản ứng của ứng viên cũng quan trọng  như câu trả lời. Một số câu hỏi được pha trộn giữa kỹ thuật và lý thuyết, hoặc câu hỏi tìm hiểu quan điểm của ứng viên để tạo ra những câu hỏi khó khăn hơn. Các câu hỏi cũng thường được chia thành các thể loại khác nhau, một số câu hỏi mẹo sẽ được chèn vào giữa. Mục đích của những câu hỏi dạng đánh đố này là tìm kiếm những điểm yếu kỹ thuật thường chỉ xuất hiện khi ứng viên đi vào làm việc :| . Nhóm câu hỏi chung 1. Giữa các dự án mã mở và mã đóng, bên nào bảo mật hơn? Câu trả lời của ứng viên sẽ nói rất nhiều về họ. Nó cho thấy 1) họ biết những khái niệm gì trong phát triển phần mềm, 2) cho thấy mức độ chín chắn của ứng viên. Mục tiêu chính của câu hỏi là đưa ra được ưu/ nhược điểm của hệ mã đóng và mã m