Thứ hai, 30/10/2017 | 00:00 GMT+7

Sự khác biệt giữa phần mềm nguồn mở và miễn phí


Giới thiệu

Một khía cạnh của phát triển phần mềm mà nhiều người có xu hướng quên mất là cách phần mềm đó nên được cấp phép. Giấy phép phần mềm quy định cách mã được dùng và phân phối bởi những người được cấp phép ( user cuối), điều này có thể tạo ra tác động đáng kể đến mức độ phổ biến của công nghệ. Hầu hết phần mềm hiện đại được bán theo giấy phép độc quyền cho phép nhà xuất bản hoặc người tạo giữ các quyền sở hữu trí tuệ của phần mềm.

Tuy nhiên, có một quan điểm khác cho rằng điều này đặt một mức độ kiểm soát không cần thiết vào tay các nhà xuất bản phần mềm. Bằng cách ngăn những người được cấp phép sao chép và thay đổi mã nguồn của phần mềm, ý tưởng này được giữ vững, các nhà xuất bản phần mềm độc quyền sẽ kìm hãm sự đổi mới và kìm hãm sự phát triển tiềm năng của các công nghệ mới. Lập trường này đã truyền cảm hứng cho việc tạo ra các giấy phép cấp cho user quyền nghiên cứu, thay đổi và chia sẻ mã nguồn của phần mềm theo ý thích của họ. Phần mềm được cấp phép theo cách này thường được biết đến với một trong hai tên: “phần mềm miễn phí” hoặc “phần mềm nguồn mở”.

Nói chung, cả hai thuật ngữ đều đề cập đến cùng một điều: phần mềm có ít hạn chế về cách nó được dùng . Từ quan điểm của những người đề xuất, cả phần mềm miễn phí và open-souce đều an toàn hơn, hiệu quả hơn và hoạt động tin cậy hơn so với các phần mềm độc quyền của họ. Tuy nhiên, tại sao ta có hai nhãn cho cùng một thứ? Câu trả lời liên quan đến một chút lịch sử, và sự hiểu biết về các sắc thái hình thành hai chuyển động riêng biệt nhưng có liên quan chặt chẽ với nhau.

Một chút nền

Ý tưởng rằng một cá nhân làm việc với một phần mềm nên được phép xem, chỉnh sửa và chia sẻ mã nguồn của nó mà không có hậu quả pháp lý không có gì mới. Trước những năm 1970, phần mềm thường được phân phối cùng với mã nguồn của nó, lý do là phần mềm thường dành riêng cho phần cứng và user cuối sẽ phải sửa đổi nó để chạy trên máy cụ thể của họ hoặc thêm các chức năng đặc biệt.

Hầu hết những người tương tác với máy tính vào khoảng thời gian này đều làm như vậy trong môi trường học tập hoặc nghiên cứu nghiêm ngặt. Điều này nghĩa là các tài nguyên máy tính thường được chia sẻ và việc thay đổi phần mềm để tạo ra quy trình làm việc hiệu quả hơn hoặc các giải pháp tin cậy hơn được khuyến khích rộng rãi. Ví dụ, Dự án Genie của UC Berkeley đã phát triển Hệ thống chia sẻ thời gian Berkeley — một hệ điều hành chia sẻ thời gian được xây dựng từ đầu — bằng cách hack mã nguồn của máy tính SDS 930 của phòng thí nghiệm.

Tuy nhiên, khi phần mềm ngày càng trở nên phức tạp và tốn kém để production , các công ty phần mềm đã tìm cách ngăn chặn việc chia sẻ mã nguồn một cách không kiềm chế nhằm bảo vệ nguồn doanh thu của họ và từ chối đối thủ cạnh tranh truy cập vào việc triển khai của họ. Họ bắt đầu đưa ra các hạn chế pháp lý đối với sản phẩm của bạn , bao gồm bản quyền và hợp đồng cho thuê, đồng thời cũng bắt đầu phân phối sản phẩm của bạn theo giấy phép độc quyền. Vào cuối những năm 1970, hầu hết các công ty phần mềm đã ngừng vận chuyển phần mềm có kèm theo mã nguồn. Điều này khiến nhiều user máy tính lâu năm lên tiếng bày tỏ sự không hài lòng của họ, và đặc tính của họ cuối cùng sẽ hình thành nền tảng của Phong trào Phần mềm Tự do.

Sự khởi đầu của phần mềm miễn phí

Phong trào Phần mềm Tự do phần lớn là sản phẩm trí tuệ của Richard Stallman. Stallman bắt đầu nghiên cứu khoa học máy tính vào đầu những năm 1970 trước sự gia tăng của các giấy phép phần mềm độc quyền, và ông làm việc như một nhà nghiên cứu tại Phòng thí nghiệm Trí tuệ Nhân tạo MIT cho đến đầu những năm 1980.Từng là thành viên của cộng đồng hacker hàn lâm trong hơn một thập kỷ, anh ấy đã trở nên thất vọng vì sự lan rộng của phần mềm độc quyền và coi đó là sự vi phạm quyền của mọi người trong việc đổi mới và cải tiến phần mềm hiện có.

Năm 1983, Stallman khởi động Dự án GNU - một nỗ lực nhằm tạo ra một hệ điều hành hoàn chỉnh cung cấp cho user quyền tự do xem, thay đổi và chia sẻ mã nguồn của nó. Stallman đã trình bày rõ động lực của bạn cho dự án trong Tuyên ngôn GNU . Trong đó, ông khẳng định niềm tin của bạn rằng việc cấp phép độc quyền ngăn chặn sự phát triển phần mềm dựa vào cộng đồng, làm giảm hiệu quả sự đổi mới và làm tê liệt sự tiến bộ của công nghệ.

Theo Stallman, điều này đặt ra gánh nặng không công bằng cho user và nhà phát triển, những người có thể thay đổi mã cho phù hợp với nhu cầu của riêng họ hoặc thay đổi nó để phục vụ một chức năng mới. Do đó, Dự án GNU có thể được coi là một phản ứng đối với sự trỗi dậy của phần mềm độc quyền cũng như sự gọi lại kỷ nguyên trước đây của mã nguồn chia sẻ tự do và phát triển phần mềm hợp tác.

Năm 1985, Stallman xây dựng Dự án GNU bằng cách thành lập Tổ chức Phần mềm Tự do (FSF), một tổ chức phi lợi nhuận chuyên quảng bá khái niệm phần mềm miễn phí cho công chúng. Sau đó, Stallman cũng sẽ phát triển Giấy phép Công cộng GNU, một giấy phép phần mềm đảm bảo quyền của user cuối được chạy, xem và chia sẻ mã nguồn một cách tự do.

Theo FSF, để một phần mềm được coi là thực sự “miễn phí”, giấy phép của phần mềm đó phải đảm bảo bốn quyền tự do thiết yếu cho user :

  • Tự do chạy chương trình như bạn muốn, cho bất kỳ mục đích nào.
  • Quyền tự do nghiên cứu cách hoạt động của chương trình và thay đổi nó để nó hoạt động tính toán của bạn như bạn muốn. Quyền truy cập vào mã nguồn là yêu cầu cho việc này.
  • Quyền tự do phân phối lại các bản sao để bạn có thể giúp đỡ người hàng xóm của bạn .
  • Quyền tự do phân phối các bản sao của các version đã sửa đổi của bạn cho người khác. Bằng cách này, bạn có thể cho cả cộng đồng cơ hội hưởng lợi từ những thay đổi . Quyền truy cập vào mã nguồn là yêu cầu cho việc này.

FSF coi bất kỳ phần mềm nào không đáp ứng từng tiêu chí này là không miễn phí và do đó, là phi đạo đức.

Sự trỗi dậy của nguồn mở

Stallman đã chọn nhãn "phần mềm miễn phí" để liên quan đến ý tưởng rằng user sẽ được tự do thay đổi và chia sẻ mã nguồn khi họ thấy phù hợp. Điều này đã dẫn đến một số nhầm lẫn trong nhiều năm, vì nhiều người cho rằng "phần mềm miễn phí" đề cập đến bất kỳ phần mềm nào có thể có được với chi phí bằng không (sẽ được dán nhãn chính xác hơn là "phần mềm miễn phí" hoặc "phần mềm chia sẻ"). FSF nổi tiếng giải thích sự lựa chọn tên với dòng, "hãy nghĩ về tự do như trong ngôn luận tự do, không phải như trong bia miễn phí."

Tuy nhiên, vào cuối những năm 1990, một số người đam mê GNU và Linux ngày càng lo lắng rằng ý nghĩa kép này sẽ khiến một phần lớn user bỏ lỡ triết lý đằng sau phần mềm miễn phí và lợi thế của nó so với mã độc quyền. FSF cũng đã được biết đến với lập trường đạo đức cứng rắn chống lại các loại phần mềm độc quyền.Một số người ủng hộ phần mềm tự do lo ngại rằng cách tiếp cận này quá không thân thiện với lợi ích kinh doanh và cuối cùng sẽ cản trở sự lan rộng của Phong trào Phần mềm Tự do.

Nhà thờ và Chợ

Năm 1997, Eric S. Raymond, khi đó là một nhà phát triển và ủng hộ phần mềm miễn phí, đã viết The Cathedral and the Bazaar , một bài luận được trích dẫn rộng rãi so sánh hai mô hình phát triển khác nhau được sử dụng trong các dự án phần mềm miễn phí khác nhau. “The Cathedral” đề cập đến một mô hình phát triển từ trên xuống trong đó một group các nhà phát triển độc quyền production mã, được minh chứng bằng sự phát triển của GNU Emacs. Mặt khác, “The Bazaar” đề cập đến một phương pháp trong đó mã được phát triển công khai trên internet, như trường hợp phát triển nhân Linux.

Lập luận trọng tâm của bài luận là mô hình Bazaar vốn có hiệu quả hơn trong việc tìm kiếm và giải quyết các lỗi phần mềm, vì nhiều người có thể xem và thử nghiệm mã nguồn hơn. Vì vậy, Raymond lập luận, việc sử dụng quy trình phát triển dựa trên cộng đồng, từ dưới lên dẫn đến kết quả là phần mềm an toàn hơn, tin cậy hơn.

Để đáp lại một phần những ý tưởng được trình bày trong The Cathedral and the Bazaar , Netscape đã phát hành mã nguồn của trình duyệt web Communicator dưới dạng phần mềm miễn phí vào đầu năm 1998. (Mã nguồn Communicator sau này là nền tảng của Mozilla FireFox 1.0). Lấy cảm hứng từ tiềm năng thương mại mà Netscape nhìn thấy trong bản phát hành mã nguồn này, một group những người đam mê phần mềm miễn phí (bao gồm Raymond, Linus Torvalds, Philip Zimmerman và nhiều người khác) đã tìm cách đổi thương hiệu cho Phong trào Phần mềm Tự do và chuyển trọng tâm của nó ra khỏi đạo đức hoặc triết học động cơ. Group đã chọn “mã nguồn mở” làm nhãn hiệu cho phần mềm có thể chia sẻ miễn phí với hy vọng rằng nó sẽ phản ánh tốt hơn giá trị kinh doanh của một mô hình phát triển hợp tác, dựa vào cộng đồng.

Ngay sau đó, Sáng kiến Nguồn mở (OSI) được thành lập bởi Raymond và Bruce Perens để khuyến khích cả việc sử dụng thuật ngữ mới cũng như sự phổ biến của các nguyên tắc nguồn mở. OSI cũng đã phát triển Định nghĩa nguồn mở — danh sách mười nguyên tắc mà giấy phép của phần mềm phải tuân theo để nó được coi là nguồn mở:

  1. Phân phối lại miễn phí - Giấy phép sẽ không hạn chế bất kỳ bên nào bán hoặc cho đi phần mềm như một thành phần của bản phân phối phần mềm lớn hơn có chứa các chương trình từ nhiều nguồn.
  2. Mã nguồn - Chương trình phải bao gồm mã nguồn, và phải cho phép phân phối ở dạng mã nguồn cũng như dạng biên dịch.
  3. Các tác phẩm có nguồn root - Giấy phép phải cho phép các sửa đổi và các tác phẩm có nguồn root , đồng thời phải cho phép chúng được phân phối theo các điều khoản giống như giấy phép của phần mềm root .
  4. Tính toàn vẹn của Mã nguồn của Tác giả - Giấy phép chỉ có thể hạn chế việc phân phối mã nguồn ở dạng đã sửa đổi nếu giấy phép cho phép phân phối "tệp vá" với mã nguồn nhằm mục đích sửa đổi chương trình tại thời điểm xây dựng.
  5. Không Phân biệt Đối xử với Người hoặc Group - Giấy phép không được phân biệt đối xử với bất kỳ người hoặc group người nào.
  6. Không phân biệt đối xử với các lĩnh vực nỗ lực - Giấy phép không được hạn chế bất kỳ ai sử dụng chương trình trong một lĩnh vực nỗ lực cụ thể.
  7. Phân phối Giấy phép - Các quyền kèm theo chương trình phải áp dụng cho tất cả những người mà chương trình được phân phối lại mà không cần các bên đó thực hiện giấy phép bổ sung.
  8. Giấy phép Không được Dành riêng cho Sản phẩm - Các quyền kèm theo chương trình không được phụ thuộc vào việc chương trình là một phần của phân phối phần mềm cụ thể.
  9. Giấy phép Không được Hạn chế Phần mềm Khác - Giấy phép không được đặt ra các hạn chế đối với phần mềm khác được phân phối cùng với phần mềm được cấp phép.
  10. Giấy phép Phải là Công nghệ Trung lập - Không có điều khoản nào của giấy phép có thể được xác định trên bất kỳ công nghệ hoặc phong cách giao diện riêng lẻ nào.

Sự khác biệt giữa phần mềm nguồn mở và miễn phí

Theo như hầu hết mọi người đều lo lắng, sự khác biệt về ý nghĩa giữa “phần mềm miễn phí” và “phần mềm nguồn mở” là không đáng kể, và xuất phát từ sự khác biệt nhỏ trong cách tiếp cận hoặc triết lý. Như Open Source Initiative thấy, cả hai thuật ngữ đều có nghĩa giống nhau và chúng được dùng thay thế cho nhau trong bất kỳ ngữ cảnh nào. Họ chỉ đơn giản thích nhãn “mã nguồn mở” vì họ tin rằng nó cung cấp mô tả rõ ràng hơn về phần mềm và ý định của người tạo ra nó về cách sử dụng nó.

Tuy nhiên, đối với trại “phần mềm miễn phí”, “mã nguồn mở” không truyền tải đầy đủ tầm quan trọng của phong trào và các vấn đề xã hội lâu dài tiềm ẩn do phần mềm độc quyền gây ra. Tổ chức Phần mềm Tự do cho rằng OSI quá quan tâm đến việc thúc đẩy các lợi ích thiết thực của phần mềm không độc quyền (bao gồm lợi nhuận của nó và hiệu quả của mô hình phát triển dựa vào cộng đồng) và không quan tâm đủ đến vấn đề đạo đức hạn chế quyền của user đối với thay đổi và cải thiện mã theo các điều khoản của riêng họ.

Việc một phần mềm nhất định là miễn phí hay open-souce hay không phụ thuộc vào giấy phép nó được phân phối theo giấy phép nào và giấy phép đó có được phê duyệt bởi Sáng kiến nguồn mở, Quỹ phần mềm tự do hay cả hai. Có rất nhiều sự chồng chéo giữa giấy phép nào được phê duyệt bởi tổ chức nào, nhưng có một vài trường hợp ngoại lệ. Ví dụ: Thỏa thuận nguồn mở của NASA là giấy phép được OSI phê duyệt mà FSF coi là quá hạn chế. Do đó, FSF không khuyến khích bất kỳ ai sử dụng phần mềm được phân phối theo giấy phép đó. Nói chung, mặc dù vậy, có một cơ hội tốt là nếu nó có thể được mô tả là phần mềm miễn phí, thì nó cũng sẽ phù hợp với định nghĩa về phần mềm nguồn mở.

Tên khác

Trong những năm qua, một số tên khác cho loại phần mềm này đã được đề xuất để chấm dứt cuộc tranh luận này. “Phần mềm nguồn mở và miễn phí” - thường được rút ngắn thành “Phần mềm nguồn mở” - là một trong những phần mềm được sử dụng rộng rãi nhất và được coi là trung lập an toàn giữa hai phần mềm. Thuật ngữ “phần mềm libre” (“libre” có nguồn root từ một số ngôn ngữ Lãng mạn và gần như nghĩa là “trạng thái tự do”) đã có được sự ủng hộ của riêng nó, đến nỗi từ viết tắt “FLOSS” ( nghĩa là “tự do / tự do và phần mềm nguồn mở) cũng trở nên khá phổ biến.

Cần lưu ý cả phần mềm nguồn mở và miễn phí đều khác biệt với phần mềm trong domain công cộng. Phần mềm open-souce và miễn phí xác định các quyền tự do của nó thông qua việc cấp phép, trong khi phần mềm domain công cộng có thể tuân theo một số đặc điểm tương tự nhưng không nằm ngoài hệ thống cấp phép.Một điểm khác biệt quan trọng của cả phần mềm nguồn mở và miễn phí là các phần mềm hoạt động dựa trên open-souce hoặc miễn phí cũng phải được phân phối với giấy phép phần mềm nguồn mở. Phần mềm được phát hành vào domain công cộng không có yêu cầu này.

Một vấn đề khác với phần mềm domain công cộng bắt nguồn từ thực tế là không phải quốc gia nào trên thế giới cũng công nhận nội dung không có bản quyền. Điều này khiến không thể đưa ra tuyên bố được công nhận trên phạm vi global rằng một phần mềm thuộc phạm vi công cộng. Do đó, cả FSF và OSI đều không khuyến khích các nhà phát triển phát hành phần mềm vào domain công cộng.

Kết luận

Các thuật ngữ “phần mềm miễn phí” và “phần mềm nguồn mở” có thể swap cho nhau cho hầu hết các ngữ cảnh và việc ai đó thích cái này hơn cái kia thường phụ thuộc vào ngữ nghĩa hoặc quan điểm triết học của họ. Tuy nhiên, đối với nhiều lập trình viên đang tìm cách phát triển phần mềm và đưa nó ra công chúng hoặc đối với những nhà hoạt động hy vọng thay đổi cách mọi người nhìn và tương tác với công nghệ, sự khác biệt có thể là một điều quan trọng. Do đó, khi phát hành phần mềm mới, điều cần thiết là phải cân nhắc cẩn thận những ưu và nhược điểm của các giấy phép khác nhau — bao gồm cả giấy phép độc quyền — và chọn loại phù hợp nhất với nhu cầu cụ thể của bạn.

Nếu bạn muốn tìm hiểu thêm về giấy phép phần mềm nào phù hợp với dự án tiếp theo của bạn , Danh sách Giấy phép của Tổ chức Phần mềm Miễn phí cung cấp mô tả chi tiết về cả giấy phép miễn phí và không miễn phí. Ngoài ra, trang Giấy phép & Tiêu chuẩn của Sáng kiến Nguồn Mở cũng có thể được quan tâm.


Tags:

Các tin liên quan