Linux có rất nhiều phần mềm, nhưng khi lần đầu tiên chuyển đổi, bạn có thể thất vọng vì hệ điều hành này thiếu những cái tên quen thuộc. Nếu đã sử dụng Linux một thời gian, bạn cũng có thể vỡ mộng bởi một số loại phần mềm nhất định có tốc độ thay đổi tương đối chậm hoặc thiếu hỗ trợ lâu dài.
Tại sao một số ứng dụng nhất định vẫn chưa đến với Linux và điều gì đang cản trở cộng đồng tạo ra nhiều lựa chọn thay thế hơn? Hãy cùng tìm hiểu qua bài viết sau đây nhé!
1. Có rất nhiều phiên bản Linux
Khi phát triển phần mềm cho Windows, bạn chỉ cần kiểm tra phần mềm của mình trên một số hệ thống: Phiên bản Windows mới nhất, phiên bản trước đó và có thể là cả phiên bản trước đó nữa, tùy thuộc vào việc chương trình của bạn có nhắm mục tiêu đến các doanh nghiệp thường ít thay đổi hệ điều hành hay không, v.v. . Mọi thứ tương đối đơn giản.
Trên Linux, có rất nhiều phiên bản khác nhau, được gọi là những bản phân phối hay distro. Ngay cả khi bạn giới hạn bản thân với những distro nổi bật nhất, vẫn có hàng tá bản phân phối cần quan tâm.
Giả sử bạn quyết định chỉ hỗ trợ Ubuntu, phiên bản phổ biến nhất trên máy tính cá nhân. Với lịch trình phát hành của Ubuntu (nâng cấp 6 tháng một lần), sẽ có rất nhiều việc cần làm.
Các định dạng gói phổ quát đã cải thiện tình hình, nhưng vẫn còn nhiều lựa chọn. Nếu đang nhắm mục tiêu đến Ubuntu, bạn nên sử dụng định dạng Snap, nhưng trên thực tế, hầu hết các bản phân phối khác đều có mối quan hệ với Flatpak, một số khác lại ổn định trên AppImage.
Về lý thuyết, các ứng dụng ở bất kỳ định dạng nào trong 3 định dạng này đều có thể chạy trên mọi bản phân phối. Nhưng giả sử bản phân phối của bạn lại có phiên bản cũ của các thành phần nền mà Flatpaks cần để chạy. Điều đó nghĩa là một ứng dụng có thể thiếu chức năng mà nhà phát triển mong đợi. Tình hình đang được cải thiện, nhưng Linux vẫn còn nhiều cách để làm cho bối cảnh dễ dàng hơn với các nhà phát triển ứng dụng.
2. Linux có mô hình tài trợ không rõ ràng
Về mặt kỹ thuật, Linux thậm chí không phải là một hệ điều hành, mà là kernel, một khía cạnh của máy tính cho phép các nút bạn nhấn thực sự làm điều gì đó và màn hình hiển thị những gì đang được thực hiện.
Giao diện desktop và các ứng dụng mà người dùng sử dụng thực sự không liên quan gì đến Linux. Bạn có thể chạy nhiều phần mềm giống nhau trên FreeBSD, phần mềm này không sử dụng Linux kernel và bạn không thể chạy hầu hết các chương trình này trên Chromebook hoặc Android.
Triết lý làm nền tảng cho Linux là khái niệm về sự tự do cho phần mềm (code phải được hiển thị và chia sẻ tự do). Đây là cách duy nhất để đảm bảo rằng các chương trình không làm điều gì đó mờ ám và thực sự cấp cho mọi người quyền sở hữu thiết bị của họ.
Kết quả của điều này là rất khó để tính phí trực tiếp cho phần mềm. Bạn có thể bán một chương trình theo giấy phép phần mềm miễn phí, nhưng vì code này được cung cấp miễn phí, nên không có gì ngăn cản người khác biên dịch và phân phối một bản sao khác từ chương trình của bạn mà không cần mất tiền.
Do đó, những người phát triển Linux và phần mềm liên quan đã phải thử nghiệm nhiều cách khác nhau để tìm nguồn tài trợ cho công việc của họ. Nhiều người là tình nguyện viên tài trợ cho công việc của họ bằng một công việc toàn thời gian khác. Nhiều tình nguyện viên là sinh viên. Một số người được trả tiền để phát triển một khía cạnh của Linux, nhưng trong thời gian rảnh, họ lại đóng góp cho một khía cạnh khác. Chỉ một số ít nhà phát triển có thể quyên góp đủ để bù đắp cho những nỗ lực của họ.
Không có một mô hình tài trợ rõ ràng nào cho những người muốn kiếm sống bằng cách tạo ra các ứng dụng cho Linux, giống như họ có thể làm với những nền tảng khác, trừ khi những ứng dụng này là độc quyền. Tuy nhiên, đây lại là một loại phần mềm mà nhiều người dùng Linux không muốn liên quan.
Một bản phân phối Linux, elementary OS, có cách tiếp cận trả tiền tùy theo nhu cầu cho các ứng dụng mã nguồn mở và miễn phí được phát hành trong AppCenter, nhưng cho đến nay các nhà phát triển ứng dụng vẫn chưa được trả thù lao xứng đáng để có thể coi đây là công việc toàn thời gian.
3. Thiếu kinh phí để phát triển sâu hơn
Mô hình tài trợ không rõ ràng là một phần lý do khiến nhiều cộng đồng Linux không có đủ tiền để thực hiện loại công việc mà họ muốn làm. Những người làm việc trên một môi trường desktop cụ thể có thể muốn thiết kế một bộ ứng dụng đầy đủ tích hợp với giao diện của họ, nhưng lại thiếu tài nguyên để trả tiền cho mọi người thực hiện công việc.
Sự thiếu hụt tài nguyên này có nghĩa là những cộng đồng phần mềm miễn phí chủ yếu dựa vào các tình nguyện viên để phát triển. Nếu không có tình nguyện viên quan tâm với thời gian và những kỹ năng cần thiết, thì thường phần mềm mong muốn sẽ không được tạo ra.
Điều này cũng dẫn đến việc các tình nguyện viên phải hợp tác trong những chương trình nhất định. Đây không hẳn là một điều xấu. Nhưng nếu bạn đang tự hỏi tại sao không có nhiều lựa chọn thay thế mã nguồn mở hơn cho LibreOffice, đó một phần là vì nó thường có ý nghĩa hơn đối với các tình nguyện viên và các công ty sử dụng một số ít nhà phát triển, để đóng góp chức năng họ muốn cho LibreOffice thay vì tạo ra một bộ công cụ mới từ đầu.
4. Đối thoại cởi mở đi kèm với những bất đồng
Với việc các tình nguyện viên thực hiện rất nhiều công việc phát triển trên Linux, triết lý nguồn mở và những hạn chế về tài chính thúc đẩy mọi người làm việc cùng nhau, cần phải có sự giao tiếp để tất cả các phần kết hợp với nhau.
Vì mọi người thường không thể thu hút các nhà phát triển trả phí, họ phải thuyết phục mọi người tình nguyện dành thời gian của mình vì lý do đạo đức hoặc thực tế. Điều này có nghĩa là các bài đăng trên blog hoặc những bài phát biểu trực tiếp có thể có tác dụng truyền cảm hứng cho một số người, nhưng lại gây khó chịu cho những người khác.
Việc phát triển mã nguồn mở cũng có xu hướng xảy ra trong danh sách gửi thư mở, và những nền tảng như GitHub và GitLab. Những cuộc trò chuyện này thường liên quan đến sự khác biệt về quan điểm. Rạn nứt có thể hình thành, dẫn đến các nhà phát triển phải phát triển giao diện của riêng họ từ đầu, giống như công việc mà người khác đã làm. Đây là một phần lý do tại sao Linux có rất nhiều interface về mặt kỹ thuật làm cùng một việc, chỉ là theo những cách khác nhau.
Người dùng có thể có niềm đam mê thậm chí còn mạnh mẽ hơn các nhà phát triển, đặc biệt là lúc họ cảm thấy bất lực khi một chương trình yêu thích đang thay đổi giao diện hoặc một tính năng mà họ dựa vào sẽ biến mất hoàn toàn. Một số nhà phát triển thậm chí đã từ bỏ việc phát triển phần mềm miễn phí.
5. Linux desktop có thị phần thấp
Tất nhiên, mọi người không chỉ mong muốn có phần mềm được phát triển đặc biệt cho Linux. Nhiều người muốn truy cập vào cùng một phần mềm mà họ sử dụng trên Windows và macOS, chẳng hạn như Photoshop. Một số chương trình này có thể chuyển sang Linux, chẳng hạn như Steam, nhưng nhiều chương trình khác thì không.
Thị phần tương đối nhỏ của Linux là nguyên nhân chính cho vấn đề này. Trong khi Linux chiếm ưu thế trên máy chủ và siêu máy tính, thì chỉ có một tỷ lệ tương đối nhỏ người dùng Linux trên máy tính cá nhân. Dù con số này cũng lên đến hàng triệu người, nhưng nhiều công ty xác định rằng việc trả tiền cho các nhà phát triển để duy trì hỗ trợ cho hệ điều hành thứ ba là không đáng khi họ đã kiếm đủ tiền.
6. Doanh nghiệp có mối bận tâm về cấp phép Copyleft
Một số công ty có sự bảo lưu về việc cấp phép copyleft mà hầu hết những phần mềm trên Linux đều sử dụng. Các tổ chức này có thể muốn phát triển phần mềm hoặc tích hợp những thành phần nhất định, nhưng họ sợ rằng kết quả là bắt buộc về mặt pháp lý đối với tất cả các mã nguồn mở trong chương trình độc quyền của họ.
Nhiều công ty có ác cảm với giấy phép công khai GNU, vốn yêu cầu bất kỳ phần mềm nào sử dụng code được chia sẻ theo GPL phải được tạo thành mã nguồn mở.
Các công ty sử dụng phần mềm miễn phí thường thích code có sẵn theo giấy phép dễ dàng, như MIT và Apache, cho phép mọi người sử dụng code mà không yêu cầu chương trình kết quả phải trở thành nguồn mở và miễn phí.
Đối với một công ty có mô hình kinh doanh xoay quanh việc bán mã nguồn đóng, việc đọc sai giấy phép phần mềm miễn phí và các vụ kiện tụng pháp lý có thể là mối đe dọa cho lợi nhuận của công ty.