1.3 Bài 1
Chứng chỉ: |
Linux Essentials |
---|---|
Phiên bản: |
1.6 |
Chủ đề: |
1 Cộng đồng Linux và Sự nghiệp trong lĩnh vực Mã nguồn mở |
Mục tiêu: |
1.3 Phần mềm Mã nguồn mở và vấn đề Cấp phép |
Bài: |
1 trên 1 |
Giới thiệu
Trong khi các thuật ngữ phần mềm tự do và phần mềm mã nguồn mở đã được sử dụng rộng rãi, một số hiểu lầm về ý nghĩa của chúng vẫn còn tồn tại. Đặc biệt, khái niệm “tự do” cần được xem xét kỹ hơn. Hãy cùng bắt đầu với định nghĩa của hai thuật ngữ này.
Định nghĩa về Phần mềm Mã nguồn Mở và Tự do
Tiêu chí của Phần mềm Tự do
Trước hết, “tự do” (free) trong ngữ cảnh của phần mềm tự do không liên quan gì đến “miễn phí” (free), hay như người sáng lập Quỹ Phần mềm Tự do (FSF) Richard Stallman đã nói một cách ngắn gọn:
"Để hiểu rõ khái niệm này, chúng ta có thể coi “tự do” như trong “tự do ngôn luận” chứ không phải trong "`vào cổng tự do`*". — Richard Stallman, Phần mềm Tự do là gì?
*Bản gốc là "To understand the concept, you should think of “free” as in “free speech,” not as in “free beer”." Bản dịch đã được thay đổi để phù hợp với văn phong và nhận thức trong tiếng Việt.
Bất kể việc người dùng có phải trả tiền cho phần mềm hay không, có bốn tiêu chí để cấu thành phần mềm tự do. Richard Stallman đã mô tả những tiêu chí này là “bốn quyền tự do thiết yếu” và ông đếm chúng từ số 0:
-
“Quyền tự do chạy chương trình theo ý muốn cho mọi mục đích (Quyền tự do số 0).”
Phần mềm được sử dụng ở đâu, như thế nào và cho mục đích gì không bị bắt buộc tuân theo quy định hoặc hạn chế.
-
“Quyền tự do nghiên cứu cách thức hoạt động của chương trình và thay đổi nó để chương trình hoạt động theo ý muốn của mình (Quyền tự do số 1). Truy cập vào mã nguồn là điều kiện tiên quyết cho điều này.”
Ai cũng có thể thay đổi phần mềm theo ý tưởng và nhu cầu của họ. Ngược lại, điều này ám chỉ rằng cái gọi là mã nguồn (tức là tất cả các tệp chứa trong phần mềm) phải có sẵn ở dạng mà người lập trình có thể đọc được. Và tất nhiên, quyền này áp dụng cho một người dùng có thể muốn thêm một tính năng duy nhất cũng như cho các công ty phần mềm muốn xây dựng các hệ thống phức tạp như hệ điều hành điện thoại thông minh hoặc phần sụn của bộ định tuyến.
-
“Quyền tự do phân phối lại các bản sao để giúp đỡ những người khác (Quyền tự do số 2).”
Quyền tự do này khuyến khích mạnh mẽ mỗi một người dùng chia sẻ phần mềm với những người khác. Do đó, trọng điểm ở đây là phân phối rộng nhất có thể và từ đó có được cộng đồng người dùng và nhà phát triển cũng phát triển rộng nhất có thể; cộng đồng này, trên cơ sở các quyền tự do này, sẽ tiếp tục phát triển và cải thiện phần mềm vì lợi ích của tất cả mọi người.
-
“Quyền tự do phân phối bản sao của các phiên bản đã được sửa đổi của mình cho người khác (Quyền tự do số 3). Bằng cách này, chúng ta có thể tạo cơ hội cho cả cộng đồng hưởng lợi từ những thay đổi của mình. Quyền truy cập vào mã nguồn là điều kiện tiên quyết cho điều này.”
Đây không chỉ là về vấn đề phân phối phần mềm tự do mà còn là về việc phân phối phần mềm tự do đã được sửa đổi. Bất kỳ ai thực hiện các thay đổi đối với phần mềm tự do đều có quyền cung cấp các thay đổi đó cho những người khác. Song song với đó, họ cũng phải có nghĩa vụ với quyền tự do của người khác, tức là họ không được hạn chế các quyền tự do ban đầu khi phân phối phần mềm ngay cả khi họ đã sửa đổi hoặc mở rộng phần mềm đó. Ví dụ: nếu một nhóm nhà phát triển có nhiều ý tưởng đa dạng về định hướng của một phần mềm cụ thể so với các tác giả ban đầu thì nhóm đó có thể tách nhánh phát triển của riêng mình (được gọi là fork) và tiếp tục phát triển nó như một dự án mới. Nhưng tất nhiên, tất cả các nghĩa vụ liên quan đến các quyền tự do này vẫn phải có.
Sự nhấn mạnh vào ý nghĩa của quyền tự do cũng nhất quán trong chừng mực mà mọi phong trào tự do đều cùng chống lại một loại đối tượng, cụ thể là một thế lực đàn áp các quyền tự do được mặc nhận và coi phần mềm là tài sản và muốn khoá nó lại. Ngược lại với phần mềm miễn phí, những phần mềm như vậy được gọi là phần mềm độc quyền.
Phần mềm Mã nguồn mở vs. Phần mềm Tự do
Đối với nhiều người, phần mềm tự do và phần mềm mã nguồn mở có ý nghĩa như nhau. Chữ viết tắt FOSS được sử dụng thường xuyên cho Phần mềm Mã nguồn mở và Tự do (Free and Open Source Software) nhấn mạnh vào điểm chung này. FLOSS là viết tắt của Free/Libre and Open Source Software (Phần mềm Tự do và Mã nguồn mở) là một thuật ngữ khác cũng khá phổ biến; nó nhấn mạnh vào khái niệm quyền tự do nhằm tránh nhầm lẫn về ngữ nghĩa cho các ngôn ngữ khác ngoài tiếng Anh. Tuy nhiên, sự khác biệt của hai thuật ngữ này xét trên khía cạnh nguồn gốc và sự phát triển của chúng cũng rất đáng để nhắc đến.
Thuật ngữ phần mềm tự do với định nghĩa về bốn quyền tự do được nêu trên đã được Richard Stallman và dự án GNU do ông thành lập vào năm 1985 đặt ra — gần 10 năm trước khi Linux xuất hiện. Cái tên “GNU không phải là Unix” (GNU is Not Unix) đã ngay lập tức cho thấy một ẩn ý: GNU bắt đầu như một sáng kiến nhằm phát triển một giải pháp thuyết phục về mặt kỹ thuật — giống như hệ điều hành Unix — từ đầu để cung cấp cho cộng đồng và liên tục cùng nhau cải thiện nó. Tính mở của mã nguồn chỉ đơn thuần là một sự cần thiết về mặt kỹ thuật và tổ chức, nhưng trong hình ảnh tự thân của nó, phong trào phần mềm tự do vẫn là một phong trào mang tính xã hội và chính trị — thậm chí theo một số người còn là phong trào ý thức hệ.
Với sự thành công của Linux, khả năng hợp tác của Internet cùng với hàng ngàn dự án và công ty nổi lên trong vũ trụ phần mềm mới này, khía cạnh xã hội ngày càng trở nên mờ nhạt. Bản thân tính mở của mã nguồn cũng thay đổi: từ một yêu cầu kỹ thuật trở thành một yếu tố mang tính định nghĩa: một khi mã nguồn được hiển thị, phần mềm lập tức đã được coi là “mã nguồn mở”. Các động cơ xã hội đã nhường chỗ cho một cách tiếp cận thực tế hơn trong việc phát triển phần mềm.
Phần mềm tự do và phần mềm mã nguồn mở có cùng một mục đích với cùng các phương pháp và ở trong cùng một cộng đồng toàn cầu gồm nhiều các cá nhân, dự án và công ty. Nhưng vì chúng đến với nhau từ hai định hướng khác biệt - một bên là định hướng xã hội và một bên là định hướng thực dụng-kỹ thuật - nên đôi khi giữa hai bên sẽ xả ra xung đột. Những xung đột này phát sinh khi kết quả của công việc chung không tương ứng với các mục tiêu ban đầu của cả hai phong trào. Điều này đặc biệt xảy ra khi phần mềm công khai mã nguồn của nó nhưng lại đồng thời không tôn trọng bốn quyền tự do của phần mềm tự do (chẳng hạn như khi xảy ra các hạn chế về việc tiết lộ, thay đổi hoặc kết nối với các thành phần phần mềm khác).
Giấy phép cho phép phần mềm khả dụng xác định các điều kiện mà phần mềm phải tuân theo liên quan đến việc sử dụng, phân phối và sửa đổi. Và bởi vì các yêu cầu và động cơ có thể rất khác nhau nên vô số giấy phép khác nhau đã được tạo ra trong phạm vi của FOSS. Do cách tiếp cận cơ bản hơn hẳn, không có gì đáng ngạc nhiên khi phong trào phần mềm tự do không công nhận nhiều giấy phép mã nguồn mở là “tự do” và từ đó từ chối chúng. Ngược lại, điều này khó xảy ra đối với phần mềm mã nguồn mở do cách tiếp cận thực dụng hơn nhiều của nó.
Hãy cùng điểm qua những mặt vô cùng phức tạp của lĩnh vực giấy phép dưới đây.
Giấy phép
Không giống như tủ lạnh hay ô tô, phần mềm không phải là một sản phẩm vật lý mà là một sản phẩm kỹ thuật số. Do đó, trên thực tế, một công ty không thể chuyển quyền sở hữu một sản phẩm như vậy bằng cách bán nó và thay đổi quyền sở hữu vật lý — thay vào đó, họ sẽ chuyển giao quyền sử dụng sản phẩm đó và người dùng sẽ phải đồng thuận trên hợp đồng với các quyền sử dụng đó. Tất cả những quyền sử dụng và giới hạn không được sử dụng đều sẽ được ghi lại trong giấy phép phần mềm và từ đó chúng ta có thể hiểu được tầm quan trọng của chúng.
Trong khi các nhà cung cấp phần mềm sở hữu độc quyền lớn (chẳng hạn như Microsoft hoặc SAP) có giấy phép riêng được thiết kế tỉ mỉ cho từng sản phẩm của họ thì những người ủng hộ phần mềm tự do và mã nguồn mở ngay từ đầu đã nỗ lực để giấy phép của họ mang tính rõ ràng cao và có giá trị chung, bởi xét cho cùng, mỗi một người dùng đều nên hiểu về giấy phép và nếu cần có thể tự mình sử dụng chúng cho những phát triển của riêng họ.
Tuy nhiên, không khó để thấy được lý tưởng đơn giản này rất khó có thể đạt được vì có quá nhiều yêu cầu cụ thể và những hiểu biết pháp lý không phải lúc nào cũng tương thích lẫn nhau trên phạm vi quốc tế. Một ví dụ: Luật bản quyền của Đức và Mỹ về cơ bản là khác nhau. Theo luật của Đức, chỉ có một người là tác giả (trong tiếng Đức là Urheber), và tác phẩm của người đó là tài sản trí tuệ của họ. Mặc dù tác giả có thể cấp quyền sử dụng tác phẩm của mình nhưng họ lại không thể chuyển nhượng hoặc từ bỏ quyền tác giả của mình. Việc từ bỏ tác quyền là một điều khá xa lạ đối với luật pháp Hoa Kỳ. Ở Mỹ, một tác giả (tuy nhiên cũng có thể là một công ty hoặc một tổ chức) chỉ có quyền khai thác và có thể chuyển giao một phần hoặc toàn bộ quyền này, từ đó hoàn toàn tách mình ra khỏi tác phẩm của chính mình. Giấy phép có giá trị quốc tế phải được diễn giải trên cơ sở tôn trọng các quy định pháp luật khác nhau.
Hệ quả là có rất nhiều các loại giấy phép FOSS, đôi khi còn có nội dung hoàn toàn khác nhau. Tệ hơn nữa là còn có nhiều phiên bản khác nhau của cùng một loại giấy phép, hoặc hỗn hợp các giấy phép (trong một dự án hoặc thậm chí khi kết nối nhiều dự án), từ đó có thể gây ra nhầm lẫn hoặc thậm chí là tranh chấp pháp lý.
Cả những đại diện của phần mềm tự do và những người ủng hộ phong trào mã nguồn mở với định hướng kinh tế rất rõ ràng đã tạo ra các tổ chức của riêng họ mà ngày nay chịu trách nhiệm quyết định về việc xây dựng các giấy phép phần mềm theo các nguyên tắc của họ cũng như hỗ trợ các thành viên của mình trong việc thực thi chúng.
Copyleft
Tổ chức Phần mềm Tự do (FSF) được nhắc đến ở trên đã xây dựng Giấy phép Công cộng Chung GNU (GPL) - một trong những giấy phép quan trọng nhất cho phần mềm tự do được sử dụng bởi nhiều dự án (ví dụ như Dự án Nhân Linux). Ngoài ra, tổ chức này cũng đã phát hành các giấy phép với các tùy chỉnh theo từng trường hợp cụ thể (chẳng hạn như Giấy phép Công cộng Chung GNU Hạn chế (LGPL) nhằm quản lý sự kết hợp của phần mềm tự do với các sửa đổi được thực hiện để mã hoá các phần mà mã nguồn của các sửa đổi không cần phải được phát hành công khai); Giấy phép Công cộng Chung Affero GNU (AGPL) bao gồm việc bán quyền truy cập vào phần mềm được lưu trữ, hoặc Giấy phép Tài liệu Tự do GNU (FDL) mở rộng các nguyên tắc tự do đối với tài liệu phần mềm. Ngoài ra, FSF cũng đưa ra các khuyến nghị ủng hộ hoặc chống lại giấy phép của bên thứ ba và các dự án liên kết như GPL-Violations.org có nhiệm vụ điều tra các vi phạm đáng ngờ đối với giấy phép tự do.
FSF gọi nguyên tắc mà theo đó giấy phép tự do cũng áp dụng cho các biến thể sửa đổi của phần mềm là copyleft — trái ngược với nguyên tắc hạn chế bản quyền (copyright) mà FSF bác bỏ. Do đó, ý tưởng ở đây là chuyển các nguyên tắc tự do của giấy phép phần mềm một cách không hạn chế nhất có thể sang các biến thể tương lai của chính phần mềm đó để ngăn chặn các hạn chế sau này.
Chuyện nghe có vẻ rõ ràng và đơn giản như vậy lại dẫn đến nhiều vấn đề phức tạp đáng kể trong thực tế. Đó là lý do tại sao các nhà phê bình thường gọi nguyên tắc copyleft là “nguyên tắc lan truyền” bởi nó sẽ được truyền tiếp sang các phiên bản sau đó.
Ví dụ, từ những gì đã được đề cập, ta có thể suy ra rằng hai thành phần phần mềm được cấp phép theo các giấy phép copyleft khác nhau có thể sẽ không kết hợp được với nhau vì không thể chuyển giao cả hai giấy phép cùng một lúc sang một sản phẩm tiếp theo. Điều này thậm chí cũng áp dụng với các phiên bản khác nhau của cùng một giấy phép!
Vì lý do này, các giấy phép hoặc phiên bản giấy phép mới hơn thường không nắm quyền copyleft một cách chặt chẽ nữa. Trên phương diện này, Giấy phép Công cộng Hạn chế GNU (LGPL) đã đề cập ở trên chính là một sự nhượng bộ để có thể kết nối phần mềm tự do với các thành phần “không tự do”; quy cách này thường được thực hiện với tên gọi là thư viện. Các thư viện này chứa các chương trình con hoặc thường trình được sử dụng bởi nhiều chương trình khác. Điều này dẫn đến một tình huống khá phổ biến là phần mềm độc quyền sử dụng một chương trình con như vậy từ một thư viện tự do.
Một cách khác để tránh xung đột giấy phép là cấp phép kép, trong đó, một phần mềm sẽ được cấp phép theo các giấy phép khác nhau (ví dụ: một giấy phép miễn phí và một giấy phép độc quyền). Trường hợp sử dụng điển hình là phiên bản miễn phí của phần mềm chỉ có thể được sử dụng khi tôn trọng các hạn chế về quyền copyleft và các tuỳ chọn thay thế để có được phần mềm theo một giấy phép khác giúp giải phóng người dùng khỏi một số hạn chế nhất định, song song đổi lại một khoản phí có thể được sử dụng để tài trợ cho việc phát triển phần mềm.
Do đó, rõ ràng là việc lựa chọn giấy phép cho các dự án phần mềm nên được thực hiện một cách hết sức thận trọng vì sự hợp tác với các dự án khác, khả năng kết hợp với các thành phần khác và cả thiết kế của sản phẩm tương lai của những phần mềm đó đều phụ thuộc vào điều này. Copyleft đã đặt ra cho các nhà phát triển những thách thức đặc biệt về khía cạnh này.
Định nghĩa về Mã nguồn mở và Giấy phép Linh hoạt
Về phía mã nguồn mở, chúng ta có Tổ chức Sáng kiến Mã nguồn mở (OSI) được thành lập vào năm 1998 bởi Eric S. Raymond và Bruce Perens, chủ yếu tập trung đến các vấn đề cấp phép. OSI cũng đã phát triển một quy trình đã được tiêu chuẩn hóa để kiểm tra giấy phép phần mềm tuân thủ Định nghĩa Mã nguồn mở của họ. Hơn 80 giấy phép mã nguồn mở được công nhận hiện có thể được tìm thấy trên trang web của OSI.
Tại đây, họ cũng liệt kê các giấy phép đạt tiêu chuẩn “OSI” (OSI-approved) mâu thuẫn rõ ràng với nguyên tắc copyleft, đặc biệt là nhóm Giấy phép BSD. _Bản phân phối Phần mềm Berkeley (BSD) là một biến thể của hệ điều hành Unix ban đầu được phát triển tại Đại học Berkeley và sau này đã tạo ra các dự án tự do như NetBSD, FreeBSD và OpenBSD. Giấy phép nền tảng của các dự án này thường được gọi là giấy phép linh hoạt. Ngược lại với giấy phép copyleft, chúng không có mục đích thiết lập các điều khoản sử dụng cho các biến thể đã được sửa đổi. Thay vào đó, quyền tự do tối đa sẽ giúp phần mềm được phân phối rộng rãi nhất có thể bằng cách để những người chỉnh sửa phần mềm tự quyết định xử lý các chỉnh sửa như thế nào — chẳng hạn như liệu họ có muốn phát hành chúng hay coi chúng là một tài nguyên đóng và phân phối chúng dưới hình thức thương mại hoá.
Giấy phép BSD 2 Điều khoản, còn được gọi là Giấy phép BSD đơn giản hóa hoặc Giấy phép BSD tự do, là minh chứng cho mức độ đơn giản hoá của các giấy phép linh hoạt. Ngoài điều khoản trách nhiệm pháp lý được tiêu chuẩn hóa giúp bảo vệ nhà phát triển khỏi các khiếu nại trách nhiệm pháp lý phát sinh từ thiệt hại do phần mềm gây ra, giấy phép này chỉ bao gồm hai quy tắc sau:
Việc phân phối lại và sử dụng ở dạng nguồn và dạng nhị phân có hoặc không có sửa đổi được cho phép khi đáp ứng các điều kiện sau:
Việc phân phối lại mã nguồn phải giữ lại thông báo bản quyền ở trên, danh sách các điều kiện này và tuyên bố từ chối trách nhiệm sau đây.
Việc phân phối lại ở dạng nhị phân phải sao chép lại thông báo bản quyền ở trên, danh sách các điều kiện này và tuyên bố từ chối trách nhiệm sau đây trong tài liệu và/hoặc các thành phần khác được cung cấp cùng với việc phân phối.
Creative Commons
Ý tưởng phát triển thành công của FLOSS cũng như những tiến bộ công nghệ liên quan đã dẫn đến các nỗ lực chuyển giao nguyên tắc mã nguồn mở sang các lĩnh vực phi kỹ thuật khác. Việc chuẩn bị và cung cấp kiến thức cũng như sự hợp tác sáng tạo trong việc giải quyết các nhiệm vụ phức tạp hiện được coi là minh chứng của nguyên tắc mã nguồn mở mở rộng và chú trọng nội dung.
Điều này dẫn đến nhu cầu tạo ra các nền tảng đáng tin cậy cho cả các các lĩnh vực này để theo đó các kết quả công việc có thể được chia sẻ và xử lý. Do các giấy phép phần mềm có sẵn hầu như đều không phù hợp với việc này nên đã có nhiều nỗ lực trong việc chuyển đổi các yêu cầu đặc thù này thành các giấy phép tiện dụng tương tự cho từ công trình khoa học tới các t`ác phẩm nghệ thuật số hóa “theo tinh thần của mã nguồn mở” .
Cho đến nay, sáng kiến quan trọng nhất thuộc phạm trù này là Creative Commons (CC) với các trọng điểm được tóm tắt như sau:
Creative Commons là một tổ chức phi lợi nhuận toàn cầu cho phép chia sẻ và sử dụng lại sự sáng tạo và kiến thức thông qua việc cung cấp các công cụ pháp lý miễn phí.
Với Creative Commons, trọng tâm của việc chuyển nhượng quyền quay ngược từ nhà phân phối sang tác giả. Ví dụ: Trong xuất bản truyền thống, một tác giả thường chuyển giao tất cả các quyền xuất bản (in ấn, dịch thuật, v.v.) cho một nhà xuất bản; nhà xuất bản này sẽ đảm bảo việc phân phối tác phẩm một cách tốt nhất có thể. Các kênh phân phối Internet với những thay đổi đáng kể giờ đây đã đặt tác giả vào vị trí tự mình thực hiện các quyền xuất bản này và tự quyết định tác phẩm của mình có thể được sử dụng như thế nào. Creative Commons đã tạo cơ hội để xác định những vấn đề này một cách đơn giản và đáng tin cậy về mặt pháp lý và thậm chí còn nhiều hơn thế: các tác giả được khuyến khích cung cấp tác phẩm của họ như một đóng góp cho quá trình trao đổi và hợp tác chung. Không giống như tác quyền truyền thống là cung cấp cho tác giả tất cả các quyền mà họ có thể chuyển giao cho người khác khi cần, cách tiếp cận của Creative Commons là hoàn toàn ngược lại: tác giả cung cấp tác phẩm của mình cho cộng đồng, nhưng họ cũng có thể chọn một tập hợp các tính năng cần được cân nhắc khi sử dụng tác phẩm của họ — các tác giả càng chọn nhiều tính năng thì giấy phép càng trở nên hạn chế.
Và do đó, nguyên tắc “Chọn giấy phép” của CC sẽ yêu cầu tác giả từng bước xác định các thuộc tính riêng lẻ và tạo các giấy phép phù hợp mà sau này họ có thể gán cho tác phẩm dưới dạng văn bản và biểu tượng.
Để dễ hiểu hơn, sau đây là tổng quan về sáu loại kết hợp và giấy phép CC có thể cung cấp:
- CC BY (“Attribution”)
-
Giấy phép tự do cho phép bất kỳ ai cũng có thể chỉnh sửa và phân phối tác phẩm miễn là họ có nêu tên tác giả.
- CC BY-SA (“Attribution-ShareAlike”)
-
Giống như CC BY, ngoại trừ việc tác phẩm đã sửa đổi chỉ có thể được phân phối theo cùng một giấy phép. Nguyên tắc này nhắc ta nhớ về copyleft vì giấy phép này cũng là một loại giấy phép “kế thừa”.
- CC BY-ND (“Attribution-NoDerivatives”)
-
Giống như CC BY, ngoại trừ việc tác phẩm chỉ có thể được chuyển giao khi không trải qua chỉnh sửa.
- CC BY-NC (“Attribution-NonCommercial”)
-
Tác phẩm có thể được chỉnh sửa và phân phối bằng cách nêu tên tác giả nhưng chỉ trong các điều kiện phi thương mại.
- CC BY-NC-SA (“Attribution-NonCommercial-ShareAlike”)
-
Giống như BY-NC, ngoại trừ việc tác phẩm chỉ có thể được chia sẻ với cùng các điều kiện (ví như cùng một giấy phép giống với copyleft).
- CC BY-NC-ND (“Attribution-NonCommercial-NoDerivatives”)
-
Giấy phép hạn chế nhất: việc phân phối được cho phép với sự ghi công của tác giả nhưng chỉ được phân phối khi không trải qua chỉnh sửa và trong các điều kiện phi thương mại.
Mô hình kinh doanh trong Mã nguồn mở
Khi nhìn lại, chiến thắng của FLOSS đóng vai trò như một phong trào gốc rễ của những người theo chủ nghĩa công nghệ lý tưởng không phụ thuộc vào những ràng buộc kinh tế, tiền tệ và đưa các tác phẩm của họ vào phục vụ công chúng. Đồng thời, các công ty trị giá hàng tỷ đô la đã được tạo ra trong môi trường của FLOSS; một ví dụ điển hình chính là công ty Red Hat của Mỹ thành lập năm 1993 với doanh thu hàng năm lên tới hơn 3 tỷ USD (2018) và đã được gã khổng lồ CNTT IBM tiếp quản vào năm 2018.
Vì vậy, trên lập trường của những nhà sáng tạo và sáng lập, chúng ta phải xem xét sự căng thẳng giữa việc phân phối phần mềm chất lượng cao miễn phí và gần như miễn phí với các mô hình kinh doanh vì một lý do rất rõ ràng: vô số các nhà phát triển phần mềm tự do có trình độ cao cũng cần phải kiếm được tiền, và do đó, môi trường FLOSS phi thương mại thuần tuý ban đầu phải phát triển các mô hình kinh doanh bền vững để bảo tồn vũ trụ của chính nó.
Một cách tiếp cận phổ biến, đặc biệt là đối với các dự án lớn hơn trong giai đoạn ban đầu, được gọi là huy động vốn từ cộng đồng, tức là thu tiền quyên góp thông qua một nền tảng như Kickstarter. Đổi lại, các nhà tài trợ sẽ nhận được một phần thưởng được định trước từ các nhà phát triển trong trường hợp dự án thành công, tức là nếu đạt được các mục tiêu đã xác định trước đó, có thể là quyền truy cập không giới hạn vào sản phẩm hoặc các tính năng đặc biệt.
Một cách tiếp cận khác là cấp phép kép: phần mềm tự do sẽ được cung cấp song song theo một giấy phép hạn chế hơn hoặc thậm chí là độc quyền, đồng thời đảm bảo cho khách hàng các dịch vụ mở rộng hơn (thời gian phản hồi trong trường hợp có lỗi, các cập nhật, phiên bản cho các nền tảng nhất định, v.v.). Một ví dụ chính là ownCloud đang được phát triển bởi GPL và cung cấp cho khách hàng doanh nghiệp “Phiên bản doanh nghiệp” theo giấy phép độc quyền.
Chúng ta cũng hãy lấy ownCloud làm ví dụ về một mô hình kinh doanh FLOSS phổ biến khác: các dịch vụ chuyên nghiệp. Nhiều công ty có thiếu sót về kiến thức kỹ thuật nội bộ cần thiết để có thể thiết lập cũng như vận hành các phần mềm quan trọng và phức tạp một cách đáng tin cậy và trên hết là an toàn. Đó là lý do tại sao họ mua các dịch vụ chuyên nghiệp như tư vấn, bảo trì hoặc trợ giúp trực tiếp từ các nhà sản xuất. Các vấn đề về trách nhiệm pháp lý cũng đóng một vai trò nhất định trong quyết định này bởi các công ty cũng có thể chuyển giao các rủi ro hoạt động tới nhà sản xuất.
Nếu một phần mềm có thể trở nên thành công và phổ biến trong lĩnh vực của nó thì đó là do khi khách hàng sử dụng các phần mềm này, có khả năng kiếm tiền ngoại vi (như buôn bán hoặc sử dụng các chứng chỉ) từ đó và công nhận địa vị cụ thể của chúng. Chẳng hạn như nền tảng học tập Moodle cung cấp chứng nhận cho các giảng viên và những người lưu lại kiến thức của họ cho các khách hàng tiềm năng. Đây chỉ là một ví dụ trong số vô vàn các ví dụ khác.
Phần mềm dưới dạng Dịch vụ (SaaS) là một mô hình kinh doanh khác đặc biệt dành cho các công nghệ dựa trên trang web. Tại đây, nhà cung cấp đám mây sẽ chạy các phần mềm như Phần mềm Quản lý Quan hệ Khách hàng (CRM) hoặc Hệ thống quản lý nội dung (CMS) trên máy chủ và cấp cho khách hàng của họ quyền truy cập vào ứng dụng đã cài đặt. Điều này giúp cho khách hàng không cần bận tâm tới quá trình cài đặt và bảo trì phần mềm. Đổi lại, khách hàng sẽ trả tiền cho việc sử dụng phần mềm dựa trên các thông số (ví dụ như số lượng người dùng). Tính khả dụng và bảo mật đóng một vai trò quan trọng bởi chúng chính là các yếu tố kinh doanh trọng yếu.
Cuối cùng nhưng không kém phần quan trọng là mô hình phát triển các tiện ích mở rộng dành riêng cho từng khách hàng lên thành các phần mềm tự do theo yêu cầu; mô hình này đặc biệt phổ biến trong các dự án nhỏ. Sau đó, khách hàng thường tự quyết định tiếp việc sử dụng và phân phối các tiện ích mở rộng này, tức là họ cũng có thể phát hành chúng hoặc khoá chúng lại như một phần của mô hình kinh doanh của riêng mình.
Một điều đáng lẽ phải rõ ràng hơn là mặc dù các phần mềm tự do thường có sẵn miễn phí nhưng nhiều mô hình kinh doanh đã được tạo ra trong môi trường của chúng. Những mô hình này liên tục được sửa đổi và mở rộng bởi vô số các tác giả tự do và các công ty trên toàn thế giới dưới những hình thức rất sáng tạo, và toàn bộ những yếu tố này chính là sự bảo đảm cho sự tồn tại của toàn bộ phong trào FLOSS.
Bài tập Hướng dẫn
-
Tóm lại, “bốn quyền tự do” theo định nghĩa của Richard Stallman và Tổ chức Phần mềm Tự do là gì?
quyền tự do số 0
quyền tự do số 1
quyền tự do số 2
quyền tự do số 3
-
FLOSS là từ viết tắt đại diện cho cái gì?
-
Bạn đã phát triển phần mềm tự do và muốn đảm bảo rằng bản thân phần mềm đó cũng như tất cả các hoạt động trong tương lai dựa trên nó sẽ vẫn tiếp tục được tự do. Bạn sẽ chọn giấy phép nào?
CC BY
GPL Phiên bản 3
Giấy phép BSD 2 điều khoản
LGPL
-
Bạn gọi giấy phép nào sau đây là giấy phép linh hoạt, giấy phép nào là copyleft?
Giấy phép BSD đơn giản hóa
GPL Phiên bản 3
CC BY
CC BY-SA
-
Bạn đã viết một ứng dụng web và xuất bản nó theo giấy phép tự do. Làm thế nào để bạn có thể kiếm tiền từ sản phẩm này? Hãy nêu ra ba khả năng.
Bài tập Mở rộng
-
Các ứng dụng sau có sẵn theo giấy phép nào (bao gồm cả phiên bản)?
Apache HTTP Server
MySQL Community Server
Wikipedia articles
Mozilla Firefox
GIMP
-
Bạn muốn phát hành phần mềm của mình theo GNU GPL Phiên bản 3. Bạn nên làm theo những bước nào?
-
Bạn đã viết phần mềm độc quyền và muốn kết hợp nó với phần mềm tự do theo GPL phiên bản 3. Bạn có được phép làm điều này không hay sẽ phải cân nhắc điều gì?
-
Tại sao Tổ chức Phần mềm Tự do lại phát hành Giấy phép Công cộng Chung Affero GNU (GNU AGPL) như một phần bổ sung cho GNU GPL?
-
Hãy kể tên ba ví dụ về phần mềm tự do được cung cấp dưới dạng “Phiên bản doanh nghiệp”, tức phiên bản có tính phí.
Tóm tắt
Trong bài học này chúng ta đã học về:
-
Điểm giống và khác nhau giữa Phần mềm tự do và Phần mềm mã nguồn mở (FLOSS)
-
Giấy phép FLOSS, tầm quan trọng và những vấn đề xoay quanh chúng
-
Copyleft và giấy phép linh hoạt
-
Mô hình kinh doanh FLOSS
Đáp án Bài tập Hướng dẫn
-
Tóm lại, “bốn quyền tự do” theo định nghĩa của Richard Stallman và Tổ chức Phần mềm Tự do là gì?
quyền tự do số 0
chạy phần mềm
quyền tự do số 1
nghiên cứu và sửa đổi phần mềm (mã nguồn)
quyền tự do số 2
phân phối phần mềm
quyền tự do số 3
phân phối phần mềm đã qua sửa đổi
-
FLOSS là từ viết tắt đại diện cho cái gì?
Free/Libre Open Source Software - Phần mềm Mã nguồn Mở Tự do.
-
Bạn đã phát triển phần mềm tự do và muốn đảm bảo rằng bản thân phần mềm đó cũng như tất cả các hoạt động trong tương lai dựa trên nó sẽ vẫn tiếp tục được miễn phí. Bạn sẽ chọn giấy phép nào?
CC BY
GPL Phiên bản 3
X
Giấy phép BSD 2 điều khoản
LGPL
-
Bạn gọi giấy phép nào sau đây là giấy phép linh hoạt, giấy phép nào là copyleft?
Giấy phép BSD đơn giản hóa
linh hoạt
GPL Phiên bản 3
copyleft
CC BY
linh hoạt
CC BY-SA
copyleft
-
Bạn đã viết một ứng dụng web và xuất bản nó theo giấy phép tự do. Làm thế nào để bạn có thể kiếm tiền từ sản phẩm này? Hãy nêu ra ba khả năng.
-
Cấp phép kép, ví dụ: bằng cách cung cấp “Phiên bản doanh nghiệp” có tính phí.
-
Cung cấp lưu trữ, dịch vụ và hỗ trợ.
-
Phát triển tiện ích mở rộng độc quyền cho khách hàng.
-
Đáp án Bài tập Mở rộng
-
Các ứng dụng sau có sẵn theo giấy phép nào (bao gồm cả phiên bản)?
Apache HTTP Server
Apache License 2.0
MySQL Community Server
GPL 2
Wikipedia articles (English)
Creative Commons Attribution Share-Alike license (CC-BY-SA)
Mozilla Firefox
Mozilla Public License 2.0
GIMP
GPL 3
-
Bạn muốn phát hành phần mềm của mình theo GNU GPL Phiên bản 3. Bạn nên làm theo những bước nào?
-
Nếu cần, hãy bảo vệ bản thân trước người sử dụng dịch vụ, có thể là bằng cách từ bỏ bản quyền để bạn có thể chỉ định giấy phép.
-
Thêm một thông báo bản quyền cho mỗi tệp.
-
Thêm tệp có tên
COPYING
với toàn bộ nội dung giấy phép vào phần mềm của bạn. -
Thêm tham chiếu đến giấy phép trong mỗi tệp.
-
-
Bạn đã viết phần mềm độc quyền và muốn kết hợp nó với phần mềm tự do theo GPL phiên bản 3. Bạn có được phép làm điều này không hay sẽ phải cân nhắc điều gì?
Mục Các câu hỏi thường gặp của Tổ chức Phần mềm Tự do có cung cấp thông tin như sau: Sự kết hợp là khả thi với điều kiện phần mềm độc quyền và phần mềm miễn phí của bạn vẫn tách biệt với nhau. Tuy nhiên, bạn phải chắc chắn rằng sự tách biệt này vẫn được đảm bảo về mặt kỹ thuật và người dùng có thể nhận biết được. Nếu tích hợp phần mềm miễn phí bằng cách biến nó trở thành một phần của sản phẩm của bạn thì bạn cũng phải xuất bản sản phẩm với giấy phép GPL theo nguyên tắc copyleft.
-
Tại sao Tổ chức Phần mềm Tự do lại phát hành Giấy phép Công cộng Chung Affero GNU (GNU AGPL) như một phần bổ sung cho GNU GPL?
GNU AGPL thu hẹp khoảng cách về giấy phép đặc biệt sẽ phát sinh với phần mềm tự do được lưu trữ trên máy chủ: Nếu nhà phát triển thực hiện các thay đổi đối với phần mềm, họ không bắt buộc phải công khai quyền truy cập cho những thay đổi này theo GPL bởi họ đã cho phép truy cập vào chương trình chứ không hề “phân phối lại” dựa trên chương trình theo định nghĩa GPL. Còn GNU AGPL lại quy định rằng phần mềm phải được cung cấp để tải xuống cùng với tất cả các thay đổi đã được thực hiện.
-
Hãy kể tên ba ví dụ về phần mềm tự do được cung cấp dưới dạng “Phiên bản doanh nghiệp”, tức phiên bản có tính phí.
MySQL, Zammad, Nextcloud