Giới thiệu về phần mềm nguồn mở và các loại giấy phép nguồn mở PDF Print E-mail
Written by minhmang   
Friday, 01 April 2011 07:40

Giới thiệu Nguồn mở và Phần mềm Nguồn mở

Nguồn mở (NM – hay còn gọi là mã nguồn mở) là những nguyên tắc nhằm bảo đảm:

- Quyền sao chép và phân phối các bản sao chép

- Quyền truy nhập nguồn, điều kiện tiên quyết để có thể cải tiến PM

- Quyền cải tiến chương trình

NM chỉ là nguyên tắc, không phải là giấy phép nên không có giá trị pháp lý. Các điểm chính của nguyên tắc NM như sau:

- Tự do phân phối lại

- Chương trình phải được cung cấp dưới dạng: mã và nguồn

- Sản phẩm dẫn xuất: những thay đổi và các sản phẩm dẫn xuất đều được phép phân phối lại và hưởng mọi qui định của giấy phép gốc

- Tính toàn vẹn của mã nguồn

- Không phân biệt đối xử giữa cá nhân hoặc nhóm người.

- Không phân biệt đối xử theo lãnh vực sử dụng

- Người nhận chương trình được hưởng mọi quyền hạn mà không cần một giấy phép khác

- Giấy phép không được giới hạn vào một sản phẩm

Phần mềm miễn phí - Freeware là phần mềm được nhà cung cấp cho dùng không phải trả triền, có hoặc không có điều kiện. Nó thường là phần mềm nguồn đóng, chỉ dùng ở nguyên dạng được cung cấp. Người dùng không thể truy cập được mã nguồn nên không thể cải tiến, sửa đổi cho thích hợp với các yêu cầu riêng. Nếu cố tình làm việc này sẽ là vi phạm bản quyền.

Phần mềm nguồn mở (Free OpenSource Software – gọi tắt là FOSS) là phần mềm với mã nguồn được công bố và sử dụng một giấy phép nguồn 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 chưa thay đổi hoặc đã thay đổi.

Phần mềm nguồn mở không chỉ miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền, người dùng có quyền:

1. Tự do phân phối lại

2. Kèm mã nguồn

3. Được phép phân phối các bản sửa đổi

4. Tính toàn vẹn về mã nguồn của tác giả

5. Không phân biệt người hoặc nhóm người

6. Không phân biệt ngành nghề

7. Mọi người đều có quyền ngang nhau và không cần thêm các giấy phép bổ sung

8. Không cụ thể vào một sản phẩm nào đó

9. Không được giới hạn các phần mềm khác cùng được phân phối

10. Giấy phép phải độc lập với công nghệ

Tóm lại là người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo những nguyên tắc nói ở trên mà không cần xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn đóng, dù là được dùng miễn phí. Nhà cung cấp phần mềm nguồn mở có quyền yêu cầu người dùng trả một số chi phí về các dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn, … tức là những dịch vụ thực sự đã thực hiện để phục vụ người dùng, nhưng không được bán các sản phẩm nguồn mở vì nó là tài sản của trí tuệ chung, không phải là tài sản riêng của một nhà cung cấp nào.

“Một cách ngắn gọn, chương trình phần mềm nguồn mở là những chương trình mà quy trình cấp phép sẽ cho người dùng quyền tự do chạy chương trình theo bất kỳ mục đích nào, quyền nghiên cứu và sửa đổi chương trình, quyền sao chép và tái phát hành phần mềm gốc hoặc phần mềm đã sửa dổi (mà không phải trả tiền bản quyền cho những người lập trình trước)” – David Wheeler

Phần mềm tự do - Free Software: Free hiểu theo nghĩa tự do chứ không phải miễn phí.

Phân biệt Free Software (phần mềm tự do) và Freeware (phần mềm miễn phí)

Một phần mềm được gọi là Phần mềm tự do khi nó có đủ 4 tự do sau:

1. Tự do chạy chương trình cho bất kỳ mục đích nào.

2. Tự do nghiên cứu cách hoạt động của chương trình và thay đổi nó cho phù hợp nhu cầu của mình.

3. Tự do phân phối lại những bản sao.

4. Tự do cải tiến chương trình và phân phối bản cải tiến cho mọi người

Ghi chú: phần mềm tự do không có nghĩa là miễn phí

2. So sánh phần mềm nguồn mở và phần mềm độc quyền

Hãy so sánh các điều khoản trong giấy phép sử dụng

- Quyền sử dụng

- Quyền nghiên cứu

- Quyền thay đổi

- Quyền sao chép

3. Giới thiệu các loại giấy phép nguồn mở

Giấy phép phần mềm nguồn mở cho phép người dùng đọc, truy cập, thay đổi và sử dụng lại mã nguồn của một sản phẩm phần mềm. Cả phần mềm nguồn mở Apache dùng cho máy chủ web và cơ sở dữ liệu hỗ trợ Linux đều có giấy phép sử dụng giống như phần mềm của Microsoft. Vì thế, người dùng cũng cần phải biết quyền lợi và trách nhiệm của mình được ghi trong văn bản này.

Điều đầu tiên cần ghi nhớ là mã nguồn mở mang ý nghĩa tự do nhiều hơn là miễn phí. Những công ty chuyên về mã nguồn mở như Red Hat được phép thu tiền đối với sản phẩm đóng gói và phân phối công nghệ. Tất nhiên, người sử dụng có thể vào thẳng web site nào đó có lưu mã nguồn mở và tải xuống miễn phí. Tuy nhiên, các yêu cầu về giấy phép vẫn có hiệu lực.

Có nhiều loại giấy phép về mã nguồn mở. Thông thường, có những điểm khác nhau trong các loại giấy phép, vì vậy cần phải xem xét kỹ trước khi đầu tư phát triển mã nguồn mở. Ví dụ, giấy phép BSD dài chỉ một trang và nêu ba điểm cần phải tuân thủ, trong khi đó giấy phép Mozilla Public License 1.1 dài đến 12 trang, đề cập mọi thứ từ định nghĩa thuật ngữ cho đến cách thức áp dụng giấy phép cho chính phủ.

Phần này chỉ đề cập đến một số giấy phép mà giải pháp của chúng tôi có dùng tới:

Giấy phép GPL: (General Public License) cho phép mọi người nhận chương trình máy tính các quyền, hay tự do dưới đây:

· Tự do chạy chương trình, cho bất cứ mục đích nào.

· Tự do tìm hiểu chương trình hoạt động cách nào, và tự do sửa đổi nó. (Quyền truy cập mã nguồn là điều kiện tiên quyết cho tự do này.)

· Tự do tái phân phối bảo sao.

· Tự do cải tiến chương trình, và phát hành những gì cải tiến ra công cộng. (Quyền truy cập mã nguồn là điều kiện tiên quyết cho tự do này.)

Giấy phép GPL khác với các giấy phép tự do "ít ràng buộc" hơn, như là Giấy phép BSD, vì GPL có mục đích bảo đảm là các tự do ở trên được giữ trong các bản sao và tác phẩm tái sinh. Không giống vậy, các giấy phép kiểu BSD để những tác phẩm tái sinh được tái phân phối như phần mềm thương mại.

Giấy phép LPGL (Lesser General Public License)

Hầu hết phần mềm GNU, bao gồm một số thư viện có xu hướng sử dụng giấy phép GPL bình thường. Giấy phép này, GNU Lesser General Public License (LGPL), có hiệu lực với các thư viện được chỉ định nào đó, và hoàn toàn khác với giấy phép GPL bình thường. Sử dụng giấy phép này cho những thư viện nào đó nhằm cho phép việc liên kết các thư viện đó vào những chương trình không-miễn-phí.

Khi một chương trình được liên kết với một thư viện, cho dù là liên kết tĩnh hay liên kết động sử dụng thư viện chia sẻ, thì sự kết hợp của cả hai được gọi một cách hợp pháp là sản phẩm phối hợp, một phát triển dẫn xuất của thư viện gốc. Do đó giấy phép GPL bình thường chỉ cho phép sự liên kết như thế nếu như toàn bộ sự kết hợp đều thỏa mãn những tiêu chuẩn tự do của nó. Giấy phép LGPL cho phép những tiêu chuẩn lỏng lẻo hơn (không nghiêm ngặt) cho việc liên kết mã lệnh khác với thư viện.

Chúng ta gọi giấy phép này là “Lesser” General Public License (GPL “Ít hơn”) bởi vì nó thực hiện ít hơn để bảo vệ quyền tự do của người dùng so với giấy phép GPL bình thường. Nó cũng cung cấp cho những nhà phát triển phần mềm miễn phí ít thuận lợi hơn trong việc cạnh tranh với những chương trình không-miễn-phí. Những bất lợi này là lý do mà chúng ta sử dụng giấy phép GPL cho nhiều thư viện. Tuy nhiên, giấy phép Lesser cũng có thuận lợi trong một số trường hợp đặc biệt nào đó.

Ví dụ: trong một số trường hợp, có thể có một nhu cầu đặc biệt nhằm khuyến khích việc sử dụng rộng rãi một thư viện nào đó, sao cho nó trở thành một chuẩn không chính thức. Để có được điều này, những chương trình không-miễn-phí phải được cho phép sử dụng thư viện này. Một trường hợp thường gặp hơn là một thư viện miễn phí thực hiện cùng một công việc giống như những thư viện không-miễn-phí đã được sử dụng rộng rãi khác. Trong trường hợp này, chẳng có lợi gì nếu như chỉ hạn chế thư viện miễn phí cho phần mềm miễn phí mà thôi, vì vậy chúng ta sử dụng giấy phép LGPL.

Giấy phép MPL (Mozilla Public License - Giấy phép Công cộng Mozilla)

Một số lập trình viên đóng góp cho cộng đồng PMNM 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ọ. Do đó, một loạt giấy phép đã ra đời với sự hỗ trợ "yếu" đối với bản quyền. Mozilla Public License (MPL) là ví dụ điển hình nhất của loại này. Nó ra đời để giúp phân phối trình duyệt web Mozilla (nền tảng nguồn mở của trình duyệt 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, tùy theo từng trường hợp.

Giấy phép SISSL (Sun Industry Standards Source License - Giấy phép Mã nguồn theo chuẩn Công nghiệp của Sun)

Nói một cách ngắn gọn, đối với các phần mềm có áp dụng giấy phép này, mã nguồn gốc đượ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ã nguồn gốc đó theo các điều khoản của phiên bản đó. Người sử dụng cũng có thể chọn để sử dụng Mã nguồn gốc theo các điều khoản của bất kỳ phiên bản tiếp theo của Giấy phép do Sun công bố. 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.

4. So sánh các giấy phép mã nguồn mở

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

· Mozilla Public License (MozPL or MPL): MPL dung hòa giữa GPL và BSD. 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 lên freely trên Internet. Có thể nói rằng, MPL hơi giống LGPL.

· Apache: được phép đóng mã nguồn, thương mại hoá và giữ bản quyền sản phẩm

· BSD (Berkeley Software Distribution): 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 tác phẩm phát sinh được tái phân phối như phần mềm thương mại

· Public Domain (không bản quyền)

Một trong những quy định quan trọng trong giấy phép mã nguồn mở (được lưu ý trong giấy phép của Mozilla và một số khác): nếu bạn thay đổi mã thì phải lập tài liệu về các thay đổi và đính kèm mã nguồn của bạn vào tài liệu này.

Tóm lại, về căn bản các loại giấy phép mã nguồn mở có các điểm khác và giống nhau duới đây:

  • Giống: khi sử dụng (có sửa đổi hoặc không) đều phải có sự đồng ý của hãng chủ nhân.
  • Khác:

Khi sửa đổi (modify): có phải đưa mã nguồn (source code) ra thành mã nguồn mở (open-source) hay không?

o Không: BSD

o Có: GPL, LGPL, MPL

Khi sử dụng (derive): có phải đưa mã nguồn (source code) ra thành mã nguồn mở (open-source) hay không?

o Không: BSD, LGPL, MPL

o Có: GPL

Chú ý: sự khác nhau giữa sử dụng (derive) và sửa đổi (modify) khá là mập mờ.

Tổ chức mã nguồn mở Open Source Initiative (OSI) sẽ quản lý toàn bộ giấy phép phần mềm được OSI “phê chuẩn” tại www.opensource.org .

Last Updated on Wednesday, 20 April 2011 02:26
 
Copyright © 2018 Hue Linux & FOSS User Group. All Rights Reserved.
Hue Linux User Group
Custom Search