Apakah kode meninggalkan-ware benar-benar mati?


10

Adalah kesan saya bahwa, seiring waktu, semakin banyak kode sumber terbuka dihasilkan, ditambahkan ke berbagai repositori gratis atau sebagian gratis, dan kemudian secara umum ditinggalkan.

Apakah ada standar yang diterima secara umum untuk membuang kode yang ditinggalkan? Haruskah ini ditegakkan oleh repositori, atau apakah ini sesuatu yang harus dilakukan oleh pembuat kode asli?


2
Mengapa harus dibuang? Jika itu Open Source, seseorang mungkin menginginkannya untuk suatu saat, dan tidak perlu banyak biaya untuk menyimpannya di repositori.
David Thornley

Apa yang Anda maksud dengan "standar untuk membuang kode yang ditinggalkan" ?? "del . "?
Benteng

@Rook: Atau "rm -rf *" untuk pengguna Unix / Linux.
David Thornley

@ David Thornley - ya, baiklah ... Anda mengerti intinya :)
Rook

Jawaban:


7

Masalah besar di sini adalah memutuskan kapan sesuatu ditinggalkan.

Perangkat lunak lama digunakan oleh orang-orang dengan mesin lama atau kebijakan pemutakhiran yang konservatif (misalnya bank), sehingga file yang diunduh mungkin 10 kali per tahun masih dapat bermanfaat bagi banyak orang yang tidak pernah memutakhirkannya. Jika mereka perlu menginstal ulang, mereka harus bisa mendapatkan versi lama yang kompatibel dengan sistem mereka.

Perangkat lunak usang (diganti dengan pemutakhiran atau penggantian drop-in) juga dapat bermanfaat bagi banyak orang. Saksikan bug peramban tahun 90-an yang akan menghasilkan kebijakan tanpa pemutakhiran bahkan di hadapan patch keamanan karena perangkat lunak lain bergantung pada bug dalam versi tertentu.

Jadi saya katakan tidak, hanya karena tidak ada cara yang dapat diandalkan untuk menentukan apakah perangkat lunak masih digunakan. Tidak adanya bukti bukanlah bukti ketidakhadiran :)


+1 untuk kalimat terakhir. Anda tidak akan pernah tahu siapa yang bergantung pada perangkat lunak itu, itulah sebabnya Microsoft menempatkan prioritas yang hampir sama pada kompatibilitas ke belakang.
Michael K

1

Ini adalah masalah pemeliharaan untuk repositori yang menampung kode mati. Mereka mengkonsumsi sumber daya, bahkan jika tidak ada lalu lintas ke proyek-proyek itu. Penyedia memiliki dua pilihan: singkirkan atau simpan tanpa batas. Beberapa tempat seperti SourceForge memilih untuk menyimpan proyek sampai pemilik menghapusnya secara manual. Bahkan saat itu mereka masih memiliki arsip.

Pendekatan terbaik yang pernah saya lihat untuk menyingkirkan perpustakaan lama yang tidak lagi digunakan untuk hal baru adalah pendekatan ini:

  • Deprecate the library - letakkan di perangkat lunak yang setara dengan "loteng". Itu berarti Anda mengirim pesan pemberitahuan ke daftar distribusi email yang diketahui, dan menutup daftar itu. "Loteng" adalah lokasi akses hanya HTTP sehingga setiap pengguna yang tertarik dapat mengunduh salinan sesuai pilihan mereka. Semua halaman akan memiliki disclaimer "usang", dan jika bahasa proyek mendukungnya, semua API akan ditandai sebagai @deprecated.
  • Setelah periode waktu tertentu di loteng (setidaknya satu bulan, atau mungkin satu tahun, tergantung kebijakan), hapus perpustakaan sepenuhnya.
  • Hapus semua referensi ke perpustakaan di situs Anda.

Biasanya proyek mati sudah mati karena tidak ada komunitas di sekitarnya, tidak ada pengelola, tidak ada pengguna yang cukup peduli untuk berada di distro email pengguna, tidak ada aktivitas di distro email, dll. Ledakan email akhir akan mendapatkan pengguna pasif (yang orang-orang yang menggunakan barang-barang tetapi tidak berkontribusi dengan cara apa pun) kesempatan terakhir untuk mendapatkan apa yang mereka inginkan. Ini juga memberi tahu mereka bahwa mereka harus bermigrasi jauh dari proyek atau mengambilnya untuk mempertahankannya sendiri.


1

Anda mungkin juga mengajukan pertanyaan yang sama tentang sastra atau musik. Pasti ada banyak perangkat lunak lama yang "benar-benar ditinggalkan" yang ditulis pada tahun 80-an yang tidak Anda sadari karena, well, tidak ada yang menggunakannya atau memikirkannya lagi. Tetapi tidak ada figur otoritas yang menolaknya, karena semuanya terdesentralisasi. Itu hanya sifat dari web. Satu-satunya ukuran nyata dari seberapa sukses sebuah perangkat lunak adalah, adalah berapa banyak orang masih menemukan alasan kuat untuk terus menggunakannya. Ketika kehabisan pendukung, ia mati secara alami.

Demikian pula, kita cenderung melihat setiap komposer abad ke-18 sebagai Mozart, dan setiap penulis naskah abad ke-16 sebagai Shakespeare. Hukum Sturgeon menyatakan bahwa 90% dari semuanya baik sekarang dan kemudian adalah omong kosong, tetapi Anda lebih akrab dengan omong kosong yang ada sekarang karena belum memiliki cukup waktu untuk mengalami peluruhan pengguna yang lengkap.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.