Một phần của vấn đề là mã nguồn mở đi kèm với rất nhiều ý kiến mạnh mẽ. Bất cứ khi nào một công ty lớn quyết định hạn chế giấy phép của mình, ngay cả khi vì lý do chính đáng, họ có thể nhận được rất nhiều phản ứng dữ dội (như HashiCorp và Elastic đã học được trong những năm gần đây). Mặt khác, công nghệ tuyệt vời được phát hành dưới dạng mã nguồn mở có thể nhanh chóng thu hút được rất nhiều sự ủng hộ từ cộng đồng phần mềm nguồn mở (OSS).
Không dễ để các doanh nghiệp quyết định nên đi theo con đường nào. Công ty tôi đã chọn phát hành trình quét bảo mật gốc đám mây của mình, Kubescape, dưới dạng mã nguồn mở thông qua Cloud Native Computing Foundation (CNCF) của Linux Foundation và chúng tôi vô cùng hài lòng với quyết định này. Trên thực tế, Kubescape gần đây đã được thăng cấp lên trạng thái dự án đang ấp ủ và được hàng nghìn doanh nghiệp trên toàn cầu sử dụng. Nhìn chung, chúng tôi coi đó là lợi ích ròng, nhưng chúng tôi đã cân nhắc kỹ lưỡng các ưu và nhược điểm trước khi quyết định. Chắc chắn không nên vội vàng, vì vậy tôi sẽ chia sẻ một số lời khuyên dựa trên kinh nghiệm của chúng tôi.
Xóa bỏ rào cản áp dụng mã nguồn mở
Các nhóm DevOps có nhiều lý do chính đáng để ngần ngại đưa mã mới vào cụm và môi trường của họ: Mã mới có thể chứa đầy lỗi, làm suy yếu thiết lập bảo mật và/hoặc làm hỏng cấu hình hiện tại của họ. Trừ khi bạn cung cấp giải pháp hoàn toàn là SaaS và không yêu cầu bất kỳ cài đặt dựa trên tác nhân/trong cụm/tại chỗ nào, bạn sẽ cần phải vượt qua những do dự này từ DevOps.
Việc chuyển sang mã nguồn mở có thể giúp ích cho việc này. Nó báo hiệu sự minh bạch và trách nhiệm giải trình, đồng thời cung cấp cho các nhóm cơ hội kiểm tra mã trong khi đóng góp mã mới hoặc mở các vấn đề khiến họ trở thành một phần của dự án và cung cấp cho họ khả năng tác động đến lộ trình của dự án. Họ có nhiều khả năng tin tưởng vào một giải pháp mời họ kiểm tra mã cốt lõi hơn là một giải pháp yêu cầu họ tin tưởng vào một hộp đóng.
Niềm tin này được khuếch đại nếu bạn tặng mã của mình cho một nền tảng có uy tín và cộng đồng sôi động với yếu tố “cool” mạnh mẽ. Một nền tảng có uy tín giúp xác thực chất lượng sản phẩm của bạn và chứng minh rằng bạn đã triển khai đúng quy trình, nhịp độ và quản trị đánh giá. Thậm chí còn tốt hơn khi dịch vụ OSS của bạn đã đạt được lực kéo đáng kể, cơ sở cài đặt lớn và một lượng phổ biến nhất định trong cộng đồng.
Tăng tốc cải tiến liên tục
Cải tiến liên tục không chỉ là một khẩu hiệu. Bạn muốn tìm và sửa lỗi và cải thiện dịch vụ của mình nhanh nhất có thể, và cách tốt nhất để làm điều đó là tăng cường sử dụng. Trở thành mã nguồn mở có nghĩa là công nghệ của bạn được thử nghiệm trên thực tế bởi nhiều người dùng hơn so với những gì bạn có thể tiếp cận thông qua bán hàng riêng.
Chúng tôi thấy rằng nền tảng của chúng tôi đã có mặt tại hơn 200.000 cụm tại thời điểm chúng tôi vẫn chỉ có vài chục khách hàng doanh nghiệp. Điều đó cho phép chúng tôi tận dụng phản hồi, yêu cầu về tính năng và xác thực của một lượng lớn người dùng, để chúng tôi có thể học hỏi và triển khai các cải tiến nhanh hơn.
Đồng thời, việc áp dụng tăng lên, một phần là do phạm vi tiếp cận lớn hơn của chúng tôi và một phần là do sản phẩm của chúng tôi đang được cải thiện với tốc độ nhanh như vậy. Có thể sử dụng cộng đồng nguồn mở của bạn làm môi trường thử nghiệm, sau đó phát hành các thay đổi trong phiên bản doanh nghiệp sau khi bạn đã kết hợp phản hồi và phiên bản đã ổn định hoặc ngược lại. Thật tốt khi có các tùy chọn kép chạy đồng thời.
Nguồn mở có nghĩa là ít kiểm soát hơn
Đó là những ưu điểm chính, nhưng cũng có những nhược điểm đối với mã nguồn mở và điều quan trọng là phải ghi nhớ chúng. Nhược điểm chính là khi sản phẩm của bạn là mã nguồn mở, bạn không thể kiểm soát cách mọi người sử dụng nó. Điều đó đặc biệt đúng nếu bạn quyết định mã nguồn mở thông qua diễn đàn cộng đồng, vì về cơ bản bạn đang trao nhãn hiệu của mình cho một nền tảng trung lập với nhà cung cấp.
Mặc dù cộng đồng nguồn mở tin tưởng rộng rãi, vẫn có một số người chỉ sử dụng mã nguồn mở của bạn và tránh các phiên bản và tính năng trả phí của bạn. (Tất nhiên, bạn có thể và nên coi những người dùng miễn phí này là một phần trong kênh bán hàng của mình và nỗ lực nâng cấp họ lên phiên bản doanh nghiệp để có thêm các tính năng và lợi ích).
Thậm chí sẽ có một số người sẽ lấy công sức của bạn và sử dụng nó để xây dựng một sản phẩm thương mại và kiếm tiền từ sự đổi mới của bạn và công việc của cộng đồng mà bạn xây dựng và quản lý. Bạn cần phải chấp nhận điều này, bởi vì bạn không thể ngăn cản nó xảy ra.
Mã nguồn mở chỉ hoạt động nếu nó phù hợp với cơ sở người dùng của bạn
Một trong những yếu tố chính trong việc quyết định các dự án nguồn mở là cơ sở người dùng của bạn. Bạn cần biết và hiểu mối quan tâm và động cơ của họ, để bạn có thể dự đoán chính xác cách họ sẽ phản ứng với một đề xuất OSS. Nếu đối tượng của bạn rất kỹ thuật, chẳng hạn như kỹ sư bảo mật, nhóm DevOps và nhà phát triển, họ có nhiều khả năng rơi vào phe ủng hộ nguồn mở.
Có một lý do tại sao chúng tôi gọi nó là ‘cộng đồng nguồn mở’. Nguồn mở không chỉ là một quyết định cấp phép: Đó là một tập hợp các niềm tin chung, với những người tham gia vượt xa khách hàng. Nó gần với một tôn giáo hoặc một giáo phái hơn là một lựa chọn mua hàng. Nếu cơ sở người dùng của bạn chia sẻ tình yêu của bạn đối với ý tưởng về nguồn mở, thì con đường này có nhiều khả năng thành công hơn.
Phần mềm nguồn mở đòi hỏi một mô hình kiếm tiền rõ ràng
Việc thiết lập một lộ trình vững chắc để kiếm tiền là rất quan trọng đối với bất kỳ doanh nghiệp nào, nhưng nó còn quan trọng gấp đôi đối với các công ty mã nguồn mở. Bạn phải rõ ràng về cách bạn sẽ kiếm tiền, vì mã nguồn mở có thể khiến bạn không có dòng tiền mạnh.
Ví dụ, bạn có thể chọn làm cho tất cả công nghệ của mình hoàn toàn là mã nguồn mở trong một năm, để thúc đẩy sự thâm nhập và phản hồi, sau đó giới thiệu các phương pháp kiếm tiền. Bạn có thể đi theo hướng mở lõi, đó là con đường mà công ty tôi đã chọn, nơi bạn cung cấp mã lõi của mình dưới dạng mã nguồn mở, sau đó bán các dịch vụ và tính năng bổ sung trên đầu.
Nhiều công ty quyết định cung cấp cả phiên bản OSS và phiên bản doanh nghiệp. Điều này có thể hiệu quả, nhưng bạn cần phải cân bằng giữa chức năng và hỗ trợ có trong phiên bản OSS và những gì bạn chỉ cung cấp cho khách hàng trả phí. Một lựa chọn khác là thiết lập mọi thứ sao cho mã nguồn mở chỉ có thể được sử dụng kết hợp với phiên bản doanh nghiệp. Phiên bản OSS không có giá trị nào ngoại trừ việc chứng minh tính minh bạch. Tuy nhiên, điều cần lưu ý là điều này có thể xung đột với việc làm việc với một tổ chức.
Một khi bạn mở nguồn, sẽ không có đường quay lại… kiểu như vậy
Trở thành mã nguồn mở là một quyết định rất quan trọng. Không có ích gì khi nó gần như là một con đường một chiều. Bạn có thể chuyển từ mã nguồn đóng sang mã nguồn mở, hoặc từ giấy phép hạn chế hơn sang giấy phép mở hơn, bất cứ khi nào bạn muốn, và bạn sẽ nhận được sự hoan nghênh từ cộng đồng công nghệ.
Nhưng có thể rất khó để chuyển sang hướng khác. Tất cả mã và thông tin mà bạn đã chia sẻ sẽ được công khai mãi mãi, vì vậy họ có thể sử dụng bất cứ khi nào và theo bất kỳ cách nào họ muốn. Và như đã đề cập ở trên, những người hâm mộ mã nguồn mở có thể rất chỉ trích bất kỳ ai từ bỏ dịch vụ OSS của họ, vì vậy họ ít có khả năng tôn trọng mã của bạn. HashiCorp đã học được điều này theo cách khó khăn khi những người hâm mộ fork Terraform sau khi họ chuyển từ giấy phép NPL sang giấy phép BSL.
Nói như vậy, mã nguồn mở có thể tuyệt vời khi hoàn cảnh phù hợp. Nếu bạn đã cân nhắc tất cả các yếu tố, cơ sở người dùng và dịch vụ công nghệ của bạn phù hợp và bạn đã xác định được một nền tảng uy tín tin tưởng vào sứ mệnh của mình, bạn có thể hưởng lợi từ một loạt lợi thế, giống như chúng tôi.