Liệu mã từ bỏ bao giờ chết đúng cách?


10

Theo ấn tượng của tôi, theo thời gian, ngày càng có nhiều mã nguồn mở được tạo ra, được thêm vào các kho lưu trữ miễn phí hoặc một phần miễn phí khác nhau và sau đó thường bị bỏ rơi.

Có bất kỳ tiêu chuẩn được chấp nhận chung để xử lý mã bị bỏ rơi? Điều này có nên được thi hành bởi các kho lưu trữ không, hay đây sẽ là điều mà các tác giả mã gốc phải làm?


2
Tại sao nó cần phải được xử lý? Nếu đó là Nguồn mở, đôi khi ai đó có thể muốn nó cho một cái gì đó và không tốn nhiều tiền để giữ nó trong kho.
David Thornley

Bạn có ý nghĩa gì bởi "các tiêu chuẩn để xử lý mã bị bỏ rơi" ?? "del . "?
Rook

@Rook: Hoặc "rm -rf *" cho người dùng Unix / Linux.
David Thornley

@David Thornley - vâng, vâng ... bạn nhận được điểm :)
Rook

Câu trả lời:


7

Vấn đề lớn ở đây là quyết định khi một cái gì đó bị bỏ rơi.

Phần mềm được sử dụng bởi những người có máy cũ hoặc chính sách nâng cấp bảo thủ (ví dụ: ngân hàng), do đó, một tệp được tải xuống có thể 10 lần mỗi năm vẫn có thể hữu ích cho nhiều người không bao giờ nâng cấp. Nếu họ cần cài đặt lại, họ sẽ có thể có phiên bản cũ tương thích với hệ thống của họ.

Phần mềm lỗi thời (được thay thế bằng nâng cấp hoặc thay thế thả xuống) cũng có thể hữu ích cho nhiều người. Chứng kiến ​​các lỗi trình duyệt của thập niên 90 sẽ dẫn đến các chính sách không nâng cấp ngay cả khi đối mặt với các bản vá bảo mật vì các phần mềm khác phụ thuộc vào các lỗi trong một phiên bản cụ thể.

Vì vậy, tôi sẽ nói không, đơn giản vì không có cách nào đáng tin cậy để xác định xem phần mềm có còn được sử dụng hay không. Không có bằng chứng không phải là bằng chứng vắng mặt :)


+1 cho câu cuối cùng. Bạn không bao giờ có thể nói ai dựa vào phần mềm đó, đó là lý do tại sao Microsoft gần như chiếm ưu thế về khả năng tương thích ngược.
Michael K

1

Đó là một mối quan tâm bảo trì cho các kho lưu trữ mã chết. Họ tiêu thụ tài nguyên, ngay cả khi không có lưu lượng truy cập cho các dự án đó. Một nhà cung cấp có hai sự lựa chọn: loại bỏ nó hoặc giữ nó vô thời hạn. Một số nơi như SourceForge chọn giữ các dự án cho đến khi chủ sở hữu xóa chúng theo cách thủ công. Ngay cả sau đó họ vẫn có tài liệu lưu trữ.

Cách tiếp cận tốt nhất tôi từng thấy để loại bỏ các thư viện cũ không còn được sử dụng cho bất kỳ điều gì mới là cách tiếp cận này:

  • Khấu hao thư viện - đặt nó trong phần mềm tương đương với "gác mái". Điều đó có nghĩa là bạn gửi tin nhắn thông báo ra danh sách phân phối email đã biết và tắt những danh sách đó xuống. "Gác mái" là một vị trí truy cập chỉ HTTP để bất kỳ người dùng quan tâm nào cũng có thể tải xuống một bản sao khi họ chọn. Tất cả các trang sẽ có từ chối trách nhiệm "không được chấp nhận" và nếu ngôn ngữ của dự án hỗ trợ thì API sẽ được đánh dấu là @deprecated.
  • Sau một khoảng thời gian xác định trên gác mái (ít nhất là một tháng, hoặc có thể một năm, tùy thuộc vào chính sách), hãy xóa hoàn toàn thư viện.
  • Xóa tất cả các tham chiếu đến thư viện trên trang web của bạn.

Thông thường các dự án đã chết vì không có cộng đồng xung quanh, không có người bảo trì, không có người dùng quan tâm đến việc phân phối email của người dùng, không có hoạt động nào trên các bản phân phối email, v.v. những người đang sử dụng công cụ nhưng không đóng góp dưới bất kỳ hình thức nào) một cơ hội cuối cùng để có được những gì họ sẽ làm. Nó cũng nói với họ rằng họ phải di chuyển khỏi dự án hoặc chọn nó để duy trì cho chính họ.


1

Bạn cũng có thể hỏi cùng một câu hỏi về văn học hoặc âm nhạc. Chắc chắn có rất nhiều phần mềm cũ "thực sự bị bỏ rơi" được viết vào những năm 80 mà bạn không biết vì, không ai sử dụng hay nghĩ về nó nữa. Nhưng không có nhân vật nào có thẩm quyền xử lý nó, bởi vì tất cả đều phi tập trung. Đó chỉ là bản chất của web. Thước đo thực sự duy nhất về mức độ thành công của một phần mềm là bao nhiêu người vẫn tìm thấy một lý do thuyết phục để tiếp tục sử dụng nó. Khi hết người ủng hộ, nó chết một cách tự nhiên.

Tương tự như vậy, chúng ta có xu hướng xem mọi nhà soạn nhạc thế kỷ 18 là Mozart, và mọi thế kỷ 16 đều chơi như Shakespeare. Luật của Sturgeon ra lệnh rằng 90% tất cả mọi thứ cả bây giờ và sau đó là / là tào lao, nhưng bạn đã quen thuộc hơn với những thứ tào lao tồn tại bây giờ vì nó không có đủ thời gian để trải nghiệm sự phân rã hoàn toàn của người dùng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.