Nhược điểm của phần mềm nguồn mở

Mục lục:

Nhược điểm của phần mềm nguồn mở
Nhược điểm của phần mềm nguồn mở

Video: Nhược điểm của phần mềm nguồn mở

Video: Nhược điểm của phần mềm nguồn mở
Video: 16 Dấu Hiệu Hữu Ích Giúp Bạn Hiểu Chó Của Mình Hơn - YouTube 2024, Tháng tư
Anonim
CyanogenMod đã chết, bị giết bởi công ty mẹ Cyanogen. Cộng đồng đang cố gắng thu thập các mảnh và tạo ra một dự án mới, LineageOS, dựa trên mã. Nhưng đó là một lời nhắc nhở rằng phần mềm nguồn mở không phải là tất cả ánh nắng mặt trời, cầu vồng và sự ổn định: trên thực tế, nó thường có thể rất lộn xộn.
CyanogenMod đã chết, bị giết bởi công ty mẹ Cyanogen. Cộng đồng đang cố gắng thu thập các mảnh và tạo ra một dự án mới, LineageOS, dựa trên mã. Nhưng đó là một lời nhắc nhở rằng phần mềm nguồn mở không phải là tất cả ánh nắng mặt trời, cầu vồng và sự ổn định: trên thực tế, nó thường có thể rất lộn xộn.

Ngay cả khi một dự án là nguồn mở, nó thậm chí không nhất thiết phải đáp ứng với cộng đồng, ít hơn một phần mềm đáng tin cậy mà bạn có thể phụ thuộc vào. Các dự án khác nhau: Một số được điều hành bởi một hoặc hai nhà phát triển như một sở thích, những người khác tập hợp các nhà phát triển được trả bởi nhiều tập đoàn lớn, trong khi những người khác được điều hành bởi một công ty mẹ độc thân. Mỗi tình huống đều có những vấn đề và kịch tính riêng.

Chúng tôi yêu phần mềm mã nguồn mở - đừng làm cho chúng tôi sai - nhưng nó thể hiện một số thách thức nhất định. Chúng ta hãy xem xét một vài.

Nguồn mở thường bị trì hoãn và tốc độ phát triển Glacial

Nhiều dự án mã nguồn mở dường như bị một tốc độ phát triển chậm, nơi các phiên bản mới bị trì hoãn không ngừng, các tính năng mới đến chậm nếu có, và rất khó để ưu tiên các tính năng khó nhưng quan trọng.
Nhiều dự án mã nguồn mở dường như bị một tốc độ phát triển chậm, nơi các phiên bản mới bị trì hoãn không ngừng, các tính năng mới đến chậm nếu có, và rất khó để ưu tiên các tính năng khó nhưng quan trọng.

Chỉ cần nhìn vào những nỗ lực của Ubuntu để khởi chạy máy tính để bàn Unity 8 và máy chủ hiển thị Mir, cho phép tầm nhìn của nó về “hội tụ”. Phiên bản mới này của máy tính để bàn Linux được cho là ổn định từ nhiều năm trước, và vẫn không được. Dự án này đã chuyển động với tốc độ băng giá, nhiều đến nỗi Canonical bị Microsoft đánh bại, công bố tầm nhìn của riêng mình về PC được hỗ trợ bởi điện thoại thông minh trước Windows 10 - và được phân phối trên đó. Canonical vẫn chưa mang lại tầm nhìn lâu dài. Có thể nó sẽ ổn định trong vài năm nữa.

Mozilla cũng đã có một số khó khăn ưu tiên. Họ vẫn chưa phân phối các tính năng đa xử lý và hộp cát trong Firefox. Điều này rất quan trọng để giữ an toàn cho trình duyệt, ngăn ngừa sự cố từ việc gỡ xuống toàn bộ trình duyệt và sử dụng tốt hơn CPU đa xử lý. Tất cả các trình duyệt chính khác đã phân phối các tính năng này, bao gồm cả Internet Explorer bị ghét. Mozilla đã phê duyệt dự án “Điện phân” để thêm các tính năng này, nhưng tạm dừng nó vào năm 2011 vì nó quá khó. Mozilla sau đó đã phải khởi động lại nó vào năm 2013. Tính năng này sẽ được thiết lập để đến vào năm 2017 - thực sự là rất muộn. Trong khi đó, Mozilla lãng phí thời gian làm việc trên hệ điều hành Firefox, một hệ điều hành điện thoại thông minh thất bại.

Khi một dự án sử dụng rất nhiều nhà phát triển tình nguyện, điều đó có thể gặp khó khăn trong việc tìm kiếm những người làm công việc khó khăn mà không phải là điều thú vị để làm.

Bộ phim nội bộ bắt đầu Forks, Forks và Forks khác

Mã nguồn của dự án nguồn mở có sẵn cho bất kỳ ai thay đổi. Đó là điểm! Nếu một dự án nguồn mở thay đổi theo cách bạn không thích, thì bạn - hoặc cộng đồng - có thể lấy mã nguồn cũ đó và tiếp tục làm việc với nó như một dự án mới. Nhưng các dự án cộng đồng thường bị bao bọc trong bộ phim nội bộ khiến họ chia ra nhiều dự án, gây nhầm lẫn và xa lánh người dùng.
Mã nguồn của dự án nguồn mở có sẵn cho bất kỳ ai thay đổi. Đó là điểm! Nếu một dự án nguồn mở thay đổi theo cách bạn không thích, thì bạn - hoặc cộng đồng - có thể lấy mã nguồn cũ đó và tiếp tục làm việc với nó như một dự án mới. Nhưng các dự án cộng đồng thường bị bao bọc trong bộ phim nội bộ khiến họ chia ra nhiều dự án, gây nhầm lẫn và xa lánh người dùng.

Ví dụ, khi GNOME 3 khởi chạy và nhiều người dùng GNOME 2 không hài lòng, không có một con đường rõ ràng ngay lập tức. Các nhà phát triển đã phải chia mã GNOME thành các dự án khác như MATE và Quế. Một môi trường máy tính để bàn biến thành ba và tài nguyên phát triển nằm rải rác hơn giữa các dự án. Kết quả là, phải mất một thời gian để cộng đồng có được những dự án mới này.

Tương tự, cộng đồng OpenOffice không vui khi Oracle mua Sun. Oracle thậm chí đã nhanh chóng đổi tên thành bộ phần mềm văn phòng độc quyền, không mã nguồn mở StarOffice thành “Oracle Open Office”. Cộng đồng đã tạo ra một ngã ba mới, LibreOffice, dựa trên mã OpenOffice. Nó đã trở thành bộ phần mềm văn phòng nguồn mở thực tế cho nhiều người, nhưng những người khác vẫn sử dụng OpenOffice bởi vì họ không nhận thức được cái nĩa tốt hơn và bộ phim xung quanh nó. OpenOffice chỉ có rất nhiều công nhận tên được xây dựng.

Và, tất nhiên, có CyanogenMod. Cyanogen Inc vừa rút phích cắm trên các dịch vụ trực tuyến của CyanogenMod - có nghĩa là họ sẽ giết ROM Android bên thứ ba phổ biến nhất so với giao cho cộng đồng, thay vào đó buộc cộng đồng tạo một nhánh mới của CyanogenMod có tên là LineageOS. Tại sao Cyanogen không bàn giao dự án CyanogenMod cho cộng đồng? Câu trả lời có vẻ là bộ phim nội bộ (bạn có thấy một khuôn mẫu ở đây không?). Cyanogen là công ty có CEO hứa rằng họ sẽ "đặt một viên đạn qua đầu của Google". Cuối cùng, nó đã đặt một viên đạn qua đầu của CyanogenMod.

Điều này tất cả chỉ kết thúc làm tổn thương người dùng của CyanogenMod, người đã nhận được rất ít thông báo trước khi các máy chủ và dịch vụ của CyanogenMod bị tắt. Điện thoại sẽ tiếp tục hoạt động, nhưng các bản cập nhật tiện lợi và các dịch vụ khác đang tăng lên trong khói gần như qua đêm. Người dùng chỉ cần hy vọng dự án LineageOS sẽ nhanh chóng trở thành người thay thế.

Không phải tất cả các dự án nguồn mở đều được cộng đồng điều khiển

Các dự án nguồn mở không phải lúc nào cũng được thúc đẩy bởi cộng đồng. Nói một chương trình là mã nguồn mở chỉ có nghĩa là mã có sẵn để làm những gì bạn thích. Công ty phát triển phần mềm không nhất thiết phải chạy nó như một dự án cộng đồng, hoặc họ có thể quan tâm đến việc sử dụng dự án để quảng bá phần mềm khác của họ.
Các dự án nguồn mở không phải lúc nào cũng được thúc đẩy bởi cộng đồng. Nói một chương trình là mã nguồn mở chỉ có nghĩa là mã có sẵn để làm những gì bạn thích. Công ty phát triển phần mềm không nhất thiết phải chạy nó như một dự án cộng đồng, hoặc họ có thể quan tâm đến việc sử dụng dự án để quảng bá phần mềm khác của họ.

CyanogenMod là một ví dụ điển hình về điều này. Khi Cyanogen Inc. đến, họ không thực sự quan tâm đến CyanogenMod. Mục tiêu mới của Cyanogen đã trở thành tiếp thị nền tảng hệ điều hành Modun Cyanogen cho các nhà sản xuất, giao dịch về sự công nhận tên tuổi lớn của CyanogenMod sau khi giết chết dự án. Có lẽ đó chỉ là tiền.

Oracle không bao giờ quan tâm đến OpenOffice, nhưng ban đầu muốn sử dụng tên của nó để thúc đẩy doanh số bán hàng của bộ phần mềm văn phòng độc quyền của StarOffice bằng cách xây dựng thương hiệu với tên “Open Office”. Sau đó, nó đã ủng hộ dự án cho Apache sau khi hầu hết các nhà phát triển tình nguyện còn lại.

Google cũng không thực sự quan tâm đến Android như một dự án nguồn mở đầy đủ, đó là lý do tại sao ngày càng nhiều phần của “Dự án nguồn mở Android” (hoặc “AOSP”) bị bỏ lại. Google muốn mở Android để các nhà sản xuất dễ dàng tùy chỉnh, nhưng các ứng dụng nguồn mở như bàn phím và trình quay số ngày càng trở nên lỗi thời. Trên thiết bị Android người tiêu dùng, Google chỉ tích hợp bàn phím nguồn, trình quay số và các ứng dụng khác của riêng mình. Google dường như đã cam kết với một lõi nguồn mở Android, nhưng không phải là toàn bộ hệ điều hành nguồn mở mà mọi người có thể sử dụng mà không có phần mềm và dịch vụ của Google. Xét cho cùng, cải tiến Dự án nguồn mở Android chỉ giúp Hệ điều hành Fire của Amazon, một đối thủ cạnh tranh với các thiết bị Android của Google. Điều đó là gì?

Nguồn mở có thể thiếu nhân lực nghiêm trọng, mặc dù được hàng triệu người sử dụng

Nếu một dự án là mã nguồn mở, bất kỳ ai cũng có thể sử dụng nó mà không cần đóng góp - thậm chí cả các công ty lớn. Điều này dẫn đến các vấn đề khi một dự án quan trọng, được sử dụng rộng rãi có sự thiếu hụt nhân lực và kinh phí.
Nếu một dự án là mã nguồn mở, bất kỳ ai cũng có thể sử dụng nó mà không cần đóng góp - thậm chí cả các công ty lớn. Điều này dẫn đến các vấn đề khi một dự án quan trọng, được sử dụng rộng rãi có sự thiếu hụt nhân lực và kinh phí.

Chúng tôi đã thấy kết quả này với lỗ hổng bảo mật Heartbleed vào năm 2014. Heartbleed đã khai thác lỗ hổng trong OpenSSL. OpenSSL là một thư viện mã hóa quan trọng được sử dụng bởi nhiều công ty công nghệ khổng lồ và hàng trăm nghìn máy chủ web. Nhưng nó chỉ có một nhân viên toàn thời gian không có việc làm bên ngoài và 2000 đô la một năm cho các khoản quyên góp. Dự án đã nhận thêm tiền từ các hợp đồng hỗ trợ thương mại và tư vấn, nhưng chỉ một nhân viên toàn thời gian duy nhất có vẻ cực kỳ thấp đối với một phần cơ sở hạ tầng quan trọng được sử dụng bởi các tập đoàn đa tỷ đô la như Google và Facebook.

Heartbleed thu hút sự chú ý đến mức độ thiếu phần mềm quan trọng này, vì vậy các công ty công nghệ lớn cam kết bỏ tiền mỗi năm để tài trợ cho sự phát triển OpenSSL và các dự án quan trọng khác như một phần của “Sáng kiến cơ sở hạ tầng cốt lõi”.

Có một kết quả tốt cho câu chuyện cụ thể này, chắc chắn - nhưng chỉ vì có quá nhiều sự chú ý đến nó. Khi bạn dựa vào một dự án mã nguồn mở để kích hoạt cơ sở hạ tầng của mình, thật dễ dàng để kết thúc tùy thuộc vào nó và giả sử người khác đang duy trì nó đủ tốt. Dự án mã nguồn mở quan trọng nào khác được đánh giá thấp? Chúng tôi có thể không nhận thấy cho đến khi có một vấn đề lớn khác.

Đề xuất: