Máy Tính

9 Nhược Điểm Phần Mềm Mã Nguồn Mở Bạn Cần Biết Trước Khi Sử Dụng

Người dùng trải nghiệm các ứng dụng phần mềm mã nguồn mở trên máy tính

Phần mềm mã nguồn mở (open-source software – OSS) đã và đang nhận được sự yêu mến rộng rãi từ cộng đồng công nghệ, đến mức nhiều người dùng, bao gồm cả chúng tôi, đã và đang tích cực tìm kiếm cũng như ủng hộ các dự án này. Khả năng tự host (self-host) các dịch vụ như Immich hay Automatisch chỉ có thể thực hiện được nhờ vào bản chất mã nguồn mở của chúng. Thậm chí, có thể bạn đang sử dụng phần mềm mã nguồn mở mà không hề hay biết, bởi những ứng dụng phổ biến như Firefox, GIMP, OBS, VLC và hệ điều hành Linux đều là các công cụ mã nguồn mở. Tuy nhiên, khi càng làm việc và tương tác nhiều với phần mềm mã nguồn mở, chúng tôi đã gặp phải những vấn đề khó có thể bỏ qua và rất quan trọng để bạn cân nhắc khi quyết định sử dụng. Bài viết này sẽ đi sâu vào 9 nhược điểm chính của phần mềm mã nguồn mở, giúp bạn có cái nhìn toàn diện hơn về những thách thức tiềm ẩn mà công nghệ này mang lại, đặc biệt trên thị trường Việt Nam.

Người dùng trải nghiệm các ứng dụng phần mềm mã nguồn mở trên máy tínhNgười dùng trải nghiệm các ứng dụng phần mềm mã nguồn mở trên máy tính

8. Ứng dụng mã nguồn mở vẫn có thể thu phí

Các tính năng nhất định bị khóa

Nhiều người thường đánh đồng phần mềm mã nguồn mở với phần mềm miễn phí. Mặc dù đa số các ứng dụng mã nguồn mở là miễn phí, điều này không có nghĩa là bạn sẽ không gặp phải các hình thức kiếm tiền hay tường phí (paywalls) khi sử dụng chúng. Vấn đề này không chỉ dừng lại ở việc các nhà phát triển kêu gọi quyên góp hay ủng hộ cho những đóng góp của họ, mà còn ở việc khóa một số tính năng nhất định sau các giấy phép doanh nghiệp (enterprise licenses) hoặc gói dịch vụ trả phí.

Ngay cả khi bạn tự host phần mềm, bạn có thể phát hiện ra rằng một số tính năng yêu cầu một giấy phép khác. Chúng tôi đã trải nghiệm điều này khi thử OpenProject. Tương tự, Brave là một trình duyệt miễn phí tuyệt vời và cũng là mã nguồn mở, nhưng một số tính năng như VPN và tường lửa yêu cầu bạn phải đăng ký gói thuê bao. Nếu một dịch vụ cung cấp lưu trữ đám mây hoặc gói đám mây, bạn sẽ thường thấy đây là một phần của các dịch vụ trả phí.

Chúng tôi hoàn toàn ủng hộ việc các nhà phát triển cố gắng kiếm sống từ phần mềm mà họ đã tạo ra, đặc biệt khi nguồn thu đó tài trợ cho việc cải tiến các phiên bản cộng đồng/hợp tác. Tuy nhiên, đây là một điểm mà người dùng cần lưu ý khi áp dụng các giải pháp mã nguồn mở thay thế, để tránh những hiểu lầm về khái niệm “miễn phí” của phần mềm mã nguồn mở.

Màn hình khởi động trình duyệt Brave trên macOS với logo và giao diện người dùngMàn hình khởi động trình duyệt Brave trên macOS với logo và giao diện người dùng

7. Dự án dễ bị gỡ bỏ do khiếu nại DMCA

Hầu hết nhà phát triển không có công ty lớn hậu thuẫn

Chúng tôi đã chứng kiến không ít dự án mã nguồn mở bị gỡ bỏ do nguy cơ kiện tụng, và bạn sẽ thường xuyên thấy điều này xảy ra nếu theo dõi các subreddit hoặc trang tin tức về mã nguồn mở. Mặc dù một số yêu cầu gỡ bỏ này có thể hợp pháp, nhưng ngay cả khi không, các nhà phát triển cũng không thể làm gì nhiều để chống lại nếu họ không có một công ty lớn đứng sau hỗ trợ.

Một số dự án mã nguồn mở được duy trì bởi các công ty hoặc quỹ lớn, nhưng số lượng lớn hơn rất nhiều là các dự án nhỏ chỉ với một vài người đóng góp. Những nhóm nhỏ này không có đủ tài chính cho các vụ kiện tụng kéo dài. Do đó, nhiều người chỉ chọn từ bỏ hoàn toàn một dự án nếu nó thu hút sự chú ý của một công ty có đội ngũ luật sư hùng hậu. Điều này đặt ra rủi ro đáng kể cho sự bền vững của các công cụ mã nguồn mở nhỏ.

Thông báo gỡ bỏ dự án theo luật DMCA trên nền tảng GitHubThông báo gỡ bỏ dự án theo luật DMCA trên nền tảng GitHub

6. Công cụ yêu thích của bạn có thể bị bỏ rơi

Không phải dự án nào cũng được “fork” lại

Các dự án bị bỏ rơi không phải là vấn đề chỉ xảy ra với phần mềm mã nguồn mở. Có rất nhiều ứng dụng và dịch vụ độc quyền bị các công ty tạo ra chúng “bỏ rơi” (ví dụ điển hình là “nghĩa địa” của Google). Tuy nhiên, chúng tôi nhận thấy rằng phần mềm độc quyền thường có vòng đời dài hơn.

Vấn đề này ảnh hưởng nhiều nhất đến các dự án nhỏ. Firefox có khả năng tiếp tục phát triển mạnh mẽ nhờ sự hậu thuẫn của Mozilla Foundation và Mozilla Corporation. Nhưng đối với một công cụ thú vị với mục đích sử dụng ngách, các nhà phát triển gốc có thể dễ dàng từ bỏ nó.

May mắn thay, nhiều nhà phát triển sẽ đặt một thông báo từ chối trách nhiệm trên GitHub khi họ ngừng duy trì dự án của mình và sẽ chuyển hướng người dùng đến một trong các bản “fork” (phát triển tiếp dựa trên mã nguồn gốc) của nó. Tuy nhiên, cũng có rất nhiều dự án không được cập nhật trong nhiều năm mà không có bất kỳ thông báo nào từ người tạo gốc. Chúng tôi đã nhận thấy đây là một vấn đề thường gặp với các plugin cộng đồng của Obsidian, với nhiều plugin phổ biến cho thấy chúng đã không được cập nhật trong nhiều năm.

Thông báo về một kho lưu trữ GitHub không còn được duy trì hoạt độngThông báo về một kho lưu trữ GitHub không còn được duy trì hoạt động

5. Khó xác minh bảo mật nếu bạn không phải là nhà phát triển

Bạn cần phải xem xét kỹ mã nguồn

Một trong những lợi ích được ca ngợi của phần mềm mã nguồn mở là vì mã nguồn công khai, nó luôn sẵn sàng để kiểm tra. Điều này có nghĩa là các nhà phát triển và thành viên cộng đồng khác có thể xác định các lỗ hổng bảo mật bị bỏ qua trong mã và cảnh báo những người khác.

Nhưng điều gì sẽ xảy ra nếu bạn đang sử dụng một công cụ ít được biết đến? Trong trường hợp đó, khả năng phát hiện ra vấn đề phụ thuộc vào kiến thức về lập trình và an ninh mạng của chính bạn. Vì các nhà phát triển không phải là những người duy nhất tự host hoặc sử dụng phần mềm mã nguồn mở, có rất nhiều người sẽ không thể phát hiện ra nếu có vấn đề với một ứng dụng cụ thể. Việc đọc hiểu và phân tích mã nguồn đòi hỏi một mức độ chuyên môn nhất định, điều mà không phải ai cũng có.

Mã nguồn của trình duyệt Firefox hiển thị trên giao diện GitHubMã nguồn của trình duyệt Firefox hiển thị trên giao diện GitHub

4. Một số dự án có thể khiến bạn gặp rắc rối

Nhiều dự án không đi kèm cảnh báo rõ ràng

Một điều chúng tôi nhận thấy khi duyệt qua các ứng dụng tự host và mã nguồn mở được đề xuất là mọi người thường mặc định rằng những người được đề xuất phần mềm đều nhận thức được hậu quả khi sử dụng nó. Chẳng hạn, mặc dù bạn có thể tự host các ứng dụng giải trí một cách hoàn toàn hợp pháp, nhưng thực tế là nhiều người sử dụng các nền tảng này để tải xuống nội dung có bản quyền mà họ không sở hữu. Tùy thuộc vào nơi bạn sống, việc chia sẻ phương tiện này với người khác có thể khiến bạn gặp rắc rối với pháp luật.

Cũng có rất nhiều ứng dụng mã nguồn mở cho phép bạn tải xuống từ các nền tảng như YouTube hoặc sử dụng chúng mà không có quảng cáo. Tuy nhiên, các nền tảng này lại đi ngược lại điều khoản dịch vụ của YouTube. Ngay cả các trình chặn quảng cáo, một công cụ thiết yếu cho nhiều người dùng internet, về mặt kỹ thuật cũng vi phạm điều khoản của YouTube. May mắn thay, trong trường hợp này, bạn thường chỉ được cảnh báo tắt trình chặn quảng cáo thay vì bị cấm tài khoản. Nhưng điều này không có nghĩa là các dịch vụ như YouTube và Spotify sẽ không bắt đầu cấm người dùng vi phạm điều khoản của họ trong tương lai.

Trang web chính thức của tiện ích chặn quảng cáo uBlock OriginTrang web chính thức của tiện ích chặn quảng cáo uBlock Origin

3. Nhiều giao diện người dùng không trực quan

Không phải dự án nào cũng được trau chuốt

Rất nhiều dự án mã nguồn mở tập trung vào tính năng hơn là giao diện người dùng (UI), và chúng tôi sẽ lập luận rằng thà có một bộ tính năng phong phú còn hơn một UI bóng bẩy. Nhưng giao diện người dùng không trực quan chắc chắn là một nhược điểm mà chúng tôi thường gặp phải khi sử dụng phần mềm mã nguồn mở từ các nhóm nhà phát triển nhỏ hơn.

Tuy nhiên, chúng tôi cũng đã bất ngờ trước sự trau chuốt của một số dự án nhất định. Chúng tôi đã thử Immich để xem liệu nó có thể tái tạo các tính năng yêu thích của Google Photos hay không, và chúng tôi đã rất ngạc nhiên khi thấy phần mềm này dễ sử dụng nhưng cũng đầy đủ tính năng. Nhưng đồng thời, mặc dù chúng tôi sử dụng GIMP cho một số chỉnh sửa hình ảnh nhất định, chúng tôi luôn thấy giao diện người dùng của nó còn thiếu sót, gây khó khăn cho người dùng mới.

Các biểu tượng ứng dụng GIMP và Darktable trên màn hình MacBookCác biểu tượng ứng dụng GIMP và Darktable trên màn hình MacBook

2. Thiếu khả năng tích hợp

Phần mềm độc quyền thường tương thích tốt hơn

Một nhược điểm khác của phần mềm mã nguồn mở là nó không phải lúc nào cũng tích hợp tốt với các nền tảng khác. Một nền tảng lớn như Zapier có nhiều tích hợp hơn rất nhiều so với các giải pháp mã nguồn mở thay thế mà chúng tôi đã thử. Điều này đặc biệt đúng khi phần mềm đến từ một công ty xuất bản nhiều ứng dụng. Hãy thử nghĩ xem các ứng dụng của Microsoft hoạt động tốt với nhau như thế nào, hoặc vô số tích hợp mà các ứng dụng của Google có.

Điều này không có nghĩa là không thể tích hợp các dịch vụ yêu thích của bạn với các giải pháp mã nguồn mở thay thế. Trên thực tế, chúng tôi đã sử dụng Automatisch để tạo một vài tự động hóa không cần mã (no-code automations) với một số ứng dụng phổ biến mà chúng tôi sử dụng hàng ngày. Chúng tôi cũng biết rằng Home Assistant hỗ trợ rất nhiều tích hợp. Nhưng dự án bạn đang sử dụng càng nhỏ, khả năng bạn sẽ gặp phải ít tích hợp hơn với các công cụ khác càng cao.

Giao diện website Zapier trên màn hình laptop, minh họa khả năng tích hợp ứng dụngGiao diện website Zapier trên màn hình laptop, minh họa khả năng tích hợp ứng dụng

1. Bạn thường không nhận được hỗ trợ kỹ thuật

Bạn phải tự mình giải quyết

Nếu có điều gì đó không ổn khi bạn đang sử dụng phần mềm mã nguồn mở, bạn không có khả năng được tiếp cận với hỗ trợ kỹ thuật hoặc kênh dịch vụ khách hàng. Đôi khi bạn có thể tìm thấy các bài đăng của những người khác thảo luận về cách khắc phục sự cố, nhưng nếu công cụ bạn đang sử dụng không nổi tiếng, bạn có thể sẽ chỉ tìm thấy những ngõ cụt.

Một cách để nhận được một số trợ giúp là đăng một vấn đề lên GitHub, nhưng liệu bạn có nhận được phản hồi hay không hoàn toàn phụ thuộc vào nhà phát triển và những người đóng góp. Chúng tôi cũng nhận thấy rằng đôi khi khi nhận được phản hồi, cách khắc phục lại không thực sự hiệu quả.

Đây là một lĩnh vực khác mà việc thiếu kinh nghiệm lập trình cũng có thể gây khó khăn cho bạn, đặc biệt nếu bạn đang tự host phần mềm. Chúng tôi đã dành nhiều giờ để khắc phục sự cố phần mềm mã nguồn mở, cuối cùng phải từ bỏ việc sử dụng nó do những vấn đề không thể khắc phục. Điều này đã thúc đẩy chúng tôi bắt đầu học lập trình để hy vọng có thể khắc phục sự cố tốt hơn và cũng đóng góp cho các nền tảng mà chúng tôi được hưởng lợi.

Giao diện log của Docker hiển ý các thông báo lỗi khi vận hành phần mềmGiao diện log của Docker hiển ý các thông báo lỗi khi vận hành phần mềm

Phần mềm mã nguồn mở rất tuyệt, nhưng vẫn còn những vấn đề cần lưu ý

Có thể bạn đọc bài viết này và nghĩ rằng chúng tôi đang khuyến khích mọi người chỉ sử dụng phần mềm độc quyền, nhưng không phải vậy. Chúng tôi yêu thích phần mềm mã nguồn mở và thực tế là nó có thể tập hợp mọi người lại để cộng tác trên các công cụ hữu ích, sáng tạo.

Tuy nhiên, vẫn có một số nhược điểm, đặc biệt nếu bạn không có kỹ năng kỹ thuật để kiểm tra và khắc phục lỗi cũng như các vấn đề tiềm ẩn với phần mềm chia sẻ mã nguồn. Điều này cũng có nghĩa là khi các dự án bị bỏ rơi, bạn phải dựa vào những người khác để tiếp tục phát triển các bản fork của bản gốc hoặc hy vọng có một giải pháp thay thế có sẵn. Việc nhận thức rõ những thách thức này sẽ giúp bạn đưa ra quyết định sáng suốt hơn khi lựa chọn công cụ công nghệ cho mình.

Bạn nghĩ sao về những nhược điểm này của phần mềm mã nguồn mở? Hãy chia sẻ ý kiến của bạn trong phần bình luận bên dưới hoặc khám phá thêm các bài viết chuyên sâu về công nghệ khác trên blogcongnghe.net!

Related posts

SSD Di Động: Sự Lột Xác Của Thiết Bị Lưu Trữ Và 3 Ứng Dụng Hàng Ngày Không Thể Thiếu

Administrator

Rò Rỉ NVIDIA RTX Pro 6000: Hơn 24.000 CUDA Cores & 96GB DDR7 RAM Khủng Khiếp?

Administrator

Microsoft Và Mục Tiêu Đưa Người Dùng Đến Outlook Mới: Khó Khăn Nào Đang Cản Bước?

Administrator