Ini mungkin merupakan kekhasan pribadi saya, tetapi saya suka menjaga kode dalam proyek-proyek yang hidup mutakhir - termasuk perpustakaan / kerangka kerja yang mereka gunakan. Sebagian darinya adalah saya percaya aplikasi web lebih aman jika sepenuhnya ditambal dan mutakhir. Sebagian darinya hanyalah sentuhan keterpaksaan obsesif di pihak saya.
Selama tujuh bulan terakhir, kami telah melakukan penulisan ulang utama perangkat lunak kami. Kami menjatuhkan kerangka kerja Xaraya, yang lambat dan pada dasarnya mati sebagai produk, dan dikonversi ke Cake PHP. (Kami memilih Cake karena memberi kami peluang untuk melakukan penulisan ulang perangkat lunak kami dengan sangat cepat, dan cukup banyak peningkatan kinerja atas Xaraya untuk menjadikannya layak untuk sementara kami.)
Kami menerapkan pengujian unit dengan SimpleTest, dan mengikuti semua konvensi penamaan file dan database, dll.
Kue sekarang sedang diperbarui ke 2.0. Dan, sepertinya tidak ada jalur migrasi yang layak untuk peningkatan. Konvensi penamaan untuk file telah berubah secara radikal, dan mereka menjatuhkan SimpleTest untuk PHPUnit.
Ini cukup banyak akan memaksa kita untuk tetap di cabang 1,3 karena, kecuali ada semacam alat konversi, itu tidak akan mungkin untuk memperbarui Kue dan kemudian secara bertahap meningkatkan kode warisan kami untuk menuai manfaat dari kerangka kerja Kue baru . Jadi, seperti biasa, kita akan berakhir dengan kerangka kerja lama di repositori Subversion kami dan hanya menambalnya sendiri sesuai kebutuhan.
Dan inilah yang membuat saya setiap saat. Begitu banyak produk open source tidak membuatnya cukup mudah untuk menjaga proyek berdasarkan mereka up to date. Ketika para pengembang mulai bermain dengan mainan mengkilap baru, beberapa tambalan penting akan dilakukan untuk cabang yang lebih tua, tetapi sebagian besar fokus mereka akan berada di basis kode baru.
Bagaimana Anda menghadapi perubahan radikal dalam proyek sumber terbuka yang Anda gunakan? Dan, jika Anda mengembangkan produk sumber terbuka, apakah Anda tetap mengingat jalur peningkatan ketika Anda mengembangkan versi baru?