Phần mềm mã nguồn mở ngày càng phổ biến và quan trọng là các nhà phát triển phải đối mặt với một câu hỏi tồn tại: Làm thế nào để kiếm tiền từ thứ bạn cho đi miễn phí?
Cơ quan tiêu chuẩn của Open Source Initiative cho biết giấy phép nguồn mở phải cho phép người dùng xem mã nguồn cơ bản, sửa đổi nó và chia sẻ nó khi họ thấy phù hợp. Các nhà phát triển độc lập và các công ty lớn hiện nay thường xuyên phát hành phần mềm theo các giấy phép này. Nhiều lập trình viên tin rằng cộng tác mở sẽ tạo ra phần mềm tốt hơn. Một số công ty mở mã của họ cho mục đích tiếp thị. Phần mềm mã nguồn mở hiện là nền tảng của nhiều công nghệ, từ hệ điều hành điện thoại thông minh đến các trang web của chính phủ.
John Anderson, phó chủ tịch công nghệ của công ty tư vấn Infinity Interactive cho biết: “Toàn bộ thế giới chạy trên phần mềm mã nguồn mở và chúng tôi không biết làm thế nào để duy trì điều đó mà không hủy hoại con người” bằng cách yêu cầu họ làm việc miễn phí, John Anderson, phó chủ tịch công nghệ của công ty tư vấn Infinity Interactive cho biết.
Các công ty phát hành phần mềm theo giấy phép nguồn mở tạo ra doanh thu theo nhiều cách khác nhau. Một số bán hỗ trợ, bao gồm Red Hat, mà IBM đã mua lại với giá 34 tỷ đô la vào đầu tháng này. Những người khác, như công ty tự động hóa đám mây HashiCorp , bán phần mềm độc quyền dựa trên các thành phần mã nguồn mở. Nhưng với sự gia tăng của điện toán đám mây, các nhà phát triển nhận thấy mã nguồn mở của họ được đóng gói vào các dịch vụ và được bán bởi các công ty khác. Ví dụ, Amazon bán một dịch vụ được lưu trữ trên đám mây dựa trên cơ sở dữ liệu nguồn mở phổ biến Redis, cạnh tranh với một dịch vụ được lưu trữ trên đám mây tương tự do Redis Labs , nhà tài trợ của dự án nguồn mở cung cấp.
Để bảo vệ khỏi những tình huống như vậy, các công ty đứng sau các dự án nguồn mở phổ biến đang hạn chế cách người khác có thể sử dụng phần mềm của họ. Redis Labs đã bắt đầu xu hướng vào năm ngoái khi cấp phép một số tiện ích bổ sung cho sản phẩm cốt lõi của mình theo các điều khoản về cơ bản cấm cung cấp các tiện ích bổ sung đó như một phần của dịch vụ điện toán đám mây thương mại. Theo cách đó, Amazon và các nhà cung cấp dịch vụ đám mây khác không thể sử dụng các tiện ích bổ sung đó trong các dịch vụ Redis cạnh tranh của họ. Các công ty muốn có chức năng được cung cấp bởi các tiện ích bổ sung đó cần phải tự phát triển các tính năng đó hoặc xin phép Redis Labs.
“Chúng tôi cảm thấy rằng nếu chúng tôi tiếp tục cấp phép cho tất cả sự đổi mới này theo giấy phép nguồn mở tự do, thì các nhà cung cấp đám mây có thể bắt đầu lưu trữ nó như một dịch vụ, mà không cần đóng góp gì lại cho cộng đồng và chiết xuất nhiều giá trị kinh tế từ hệ sinh thái, “Giám đốc tiếp thị của Redis Labs, Howard Ting, nói.” Sau đó, chúng tôi sẽ không thể tài trợ khoản đầu tư này và trả lại cho cộng đồng. “
Công ty phân tích Confluent và nhà sản xuất cơ sở dữ liệu CockroachDB đã thêm các điều khoản tương tự vào giấy phép của họ, ngăn các công ty điện toán đám mây sử dụng một số hoặc tất cả mã của họ để xây dựng các dịch vụ cạnh tranh. Thực hiện một cách hơi khác, MongoDB đã cấp phép sản phẩm cơ sở dữ liệu hàng đầu của mình vào năm ngoái theo “Giấy phép công khai phía máy chủ” (SSPL) mới yêu cầu các công ty bán hệ thống cơ sở dữ liệu dưới dạng dịch vụ đám mây cũng phát hành mã nguồn của bất kỳ phần mềm bổ sung nào mà họ đưa vào. Ngoài ra, khách hàng có thể mua giấy phép thương mại từ MongoDB.
Việc cung cấp cùng một phần mềm theo hai giấy phép khác nhau, được gọi là “giấy phép kép”, đang gây tranh cãi trong cộng đồng nguồn mở. Sáng kiến Nguồn mở không coi SSPL hoặc bất kỳ giấy phép nào mới được thông qua này là giấy phép nguồn mở.
Ting, thuộc Redis Labs, cho biết các phương pháp tiếp cận mới đang hoạt động. Ví dụ: đầu năm nay, Google đã công bố quan hệ đối tác chia sẻ doanh thu với một số công ty nguồn mở, bao gồm Redis Labs, Confluent và MongoDB. Nhưng các giấy phép mới đã không ngăn được Amazon bán các dịch vụ của riêng mình dựa trên các dự án mã nguồn mở được thương mại hóa bởi ba công ty. Ví dụ: vào tháng 1, Amazon đã tung ra DocumentDB, một dịch vụ cơ sở dữ liệu tương thích với phiên bản MongoDB trước đó, bao gồm các điều khoản cấp phép dễ dàng hơn.
Amazon nói rằng nó là bạn chứ không phải kẻ thù của phần mềm nguồn mở. Trong một cuộc nói chuyện tại hội nghị mã nguồn mở Oscon ở Portland, Oregon, hồi đầu tháng này, nhà công nghệ Arun Gupta của Amazon Web Services đã giới thiệu những đóng góp của công ty đối với mã nguồn mở, chẳng hạn như hệ thống quản lý máy ảo Firecracker được Amazon phát hành vào tháng 11 năm ngoái. Gupta cũng chỉ ra rằng Amazon đã đóng góp mã cho các dự án bên ngoài, bao gồm một số phần mềm mã hóa cho Redis mà nó đã phát hành vào năm ngoái .
Cũng tại hội nghị này, phó chủ tịch chiến lược kiến trúc đám mây của Amazon, Adrian Cockcroft đã đưa ra quan điểm rằng các dịch vụ đám mây của công ty thực sự giúp ích cho các dự án nguồn mở, thông qua các thỏa thuận chia sẻ doanh thu, bao gồm cả thỏa thuận với công ty quản lý đám mây nguồn mở Chef, hoặc đơn giản là cho vay tín nhiệm đối với các sản phẩm bằng cách cung cấp chúng như một dịch vụ.
Ting phản bác rằng Amazon chỉ có các giao dịch chia sẻ doanh thu với một số ít công ty và giảm bớt những đóng góp của Amazon cho Redis. Anh ấy nói rằng đóng góp duy nhất của Amazon là mã mã hóa mà anh ấy mong đợi sẽ được đưa vào phiên bản sắp tới của phần mềm cơ sở dữ liệu của Redis.
Một số người ủng hộ mã nguồn mở chê bai xu hướng đối với các giấy phép hạn chế hơn. Họ coi những tranh cãi về việc tái sử dụng mã nguồn mở là tranh chấp giữa các công ty nhỏ và công ty lớn, ít liên quan đến các nguyên tắc nguồn mở hoặc các nhà phát triển cá nhân. Bradley M. Kuhn, chủ tịch của Tổ chức Bảo tồn Tự do Phần mềm phi lợi nhuận cho biết, các công ty sử dụng giấy phép hạn chế muốn xác định lại mã nguồn mở nghĩa là chỉ có mã có sẵn, không nhất thiết là những người khác có thể sử dụng nó theo cách họ muốn. Ông nói: “Có một nỗ lực phối hợp để chọn ra các định nghĩa của Sáng kiến Nguồn Mở.
Những nỗ lực như vậy không phải là mới, Danese Cooper, người đã điều hành các sáng kiến mã nguồn mở tại Sun Microsystems, PayPal và công ty tư vấn công nghệ NearForm lưu ý. Sun Microsystems đã phát hành nền tảng lập trình Java theo giấy phép hạn chế cách người khác có thể sửa đổi nền tảng này, dẫn đến xung đột pháp lý kéo dài giữa Oracle, công ty mua lại Sun vào năm 2010 và Google, công ty đã tạo ra nền tảng Java riêng cho hệ điều hành Android. hệ thống. Cuối cùng, những loại giấy phép không phải nguồn mở này không còn được ưa chuộng vì chúng hạn chế tính hữu dụng của phần mềm được phát hành dưới quyền chúng và những người có thể đóng góp cho một dự án. Cooper nói: “Thế hệ mới đang mắc những sai lầm tương tự như thế hệ cũ đã làm.
“Sự phẫn nộ về mặt đạo đức [của cả hai bên] là nhảm nhí”, Adam Jacob, đồng sáng lập và cựu CTO của Chef, cho biết trong một bài phát biểu của Oscon. Ông nói, các công ty như MongoDB có thể nhỏ so với Amazon, nhưng họ vẫn được tài trợ tốt. MongoDB đã báo cáo doanh thu 267 triệu đô la trong năm tài chính kết thúc vào ngày 31 tháng 1 và có vốn hóa thị trường khoảng 8 tỷ đô la.
Jacob cho biết các công ty nguồn mở có thể tạo ra doanh thu mà không cần áp dụng các giấy phép hạn chế hơn. Rất lâu trước khi Amazon thực hiện thỏa thuận chia sẻ doanh thu với Chef, Amazon đã cung cấp một dịch vụ dựa trên phần mềm mã nguồn mở của Chef. Tuy nhiên, ông nói, dịch vụ của Amazon không đáp ứng được kỳ vọng của nhiều người dùng Chef. Vì vậy, để đáp ứng nhu cầu của chính khách hàng, Amazon đã làm việc với Chef để tạo ra một dịch vụ tốt hơn — một dịch vụ thực sự mang lại tiền cho Chef.
Những người khác nói rằng cuộc tranh luận che khuất nhu cầu của các dự án nhỏ hơn không thể trả tiền cho các nhà phát triển để phát triển hoặc duy trì phần mềm. Việc thiếu kinh phí cho các dự án nguồn mở có thể dẫn đến những hậu quả thực sự. Nổi tiếng nhất, vào năm 2014, các nhà nghiên cứu bảo mật đã tiết lộ các lỗ hổng bảo mật nghiêm trọng trong OpenSSL và Bash, là một phần của một số hệ điều hành chính, có khả năng khiến nhiều người dùng bị lộ. Cả OpenSSL và Bash đều được điều hành bởi những người tình nguyện không đủ khả năng thuê kiểm toán viên bảo mật.
Có những nỗ lực nhằm tài trợ cho các dự án nhỏ hơn, bao gồm các tổ chức phi lợi nhuận như Software Freedom Conservancy, tổ chức gây quỹ để trả tiền cho các nhà phát triển và các công ty khởi nghiệp như Tidelift, nhằm mục đích bán hỗ trợ cho các gói dự án nguồn mở có thể không thương mại hóa công việc của họ. của riêng họ.
Jacob nói rằng thường có sự căng thẳng giữa mô hình kinh doanh của các công ty nguồn mở và các cộng đồng phát triển xung quanh các dự án đó. Các nhà phát triển có thể muốn một phần mềm mã nguồn mở càng tốt càng tốt. Nhưng một công ty hy vọng kiếm tiền bằng cách bán các tiện ích mở rộng độc quyền cho phần mềm đó có thể muốn làm cho phần mềm vừa đủ tốt — để hướng khách hàng đến các dịch vụ độc quyền của công ty. Nếu phiên bản mã nguồn mở quá tốt, khách hàng sẽ không cần trả tiền cho các tiện ích bổ sung.
Anh ấy nói rằng không có gì sai khi một công ty muốn kiếm tiền từ phần mềm nguồn mở của mình và cố gắng ngăn cản những người khác làm như vậy. Nhưng anh ấy cho rằng những kỳ vọng đó nên được thiết lập sớm để các nhà phát triển biết những gì mong đợi. Để đạt được mục tiêu đó, Jacob đã tạo ra một tài nguyên web có tên là Cộng đồng nguồn mở và miễn phí bền vững, liệt kê các mô hình kinh doanh khác nhau cho các dự án nguồn mở và các nguyên tắc hướng dẫn cộng đồng nguồn mở bền vững. Theo tinh thần nguồn mở thực sự, nội dung của trang web là nguồn mở và những người khác đang đóng góp. Cuối cùng, Jacob hy vọng, đó có thể là ngôi nhà của các “hợp đồng xã hội” khác nhau mà các dự án nguồn mở có thể áp dụng, giống như ngày nay họ có thể áp dụng các giấy phép tiêu chuẩn khác nhau và thậm chí cả các quy tắc ứng xử.