Paket dinamai seperti itu di mana ada (atau dulu) suatu kebutuhan untuk memudahkan transisi antara dua versi utama suatu paket, dan waktu yang dibutuhkan untuk melakukannya diperkirakan akan lama. Selama masa transisi, baik versi lama dan baru tetap tersedia, dengan pengertian bahwa di masa mendatang versi lama akan dihentikan.
Terkadang periode transisi terjadi selama rilis sistem yang sedang Anda gunakan. Untuk beberapa paket, itu terjadi cukup sering sehingga Anda dapat mengharapkan untuk melihat versi paket transisi di setiap rilis sistem baru. Alat pengembangan perangkat lunak sering masuk dalam kategori ini, karena memutakhirkan ke alat baru dengan jadwal yang sama dengan rilis sistem mungkin tidak praktis. Ketergantungan perusahaan saya pada versi tertentu dari GCC, Autoconf dan Perl mungkin berada pada siklus 5 tahun, sedangkan OS saya mungkin berada pada siklus peningkatan 3 tahun. Oleh karena itu membuatnya lebih mudah bagi saya untuk mengadopsi OS baru jika itu termasuk versi lama saya dari beberapa paket selain apa pun yang saat ini pada saat OS baru sedang dikembangkan.
Di lain waktu, perubahan versi utama ini terjadi di masa lalu, di masa lalu, dan sekarang semua orang ada di versi saat ini. Inilah yang terjadi dengan Apache, misalnya. Perubahan 1,3 ke 2,0 adalah kesepakatan yang jauh lebih besar dari sudut pandang kompatibilitas daripada perubahan versi 2.x mana pun, jadi setelah semua orang keluar dari 1.3, tidak ada lagi kebutuhan untuk terus menawarkan beberapa versi Apache dalam rilis OS yang diberikan. Tapi, setelah Anda membuat semua orang menggunakan apache2
paket, tidak ada argumen yang sangat baik untuk mengubah nama kembali menjadi adil apache
. Itu akan menyebabkan kerumitan upgrade yang tidak perlu. Selain itu, di mana ada kebutuhan yang dirasakan di masa lalu untuk menyediakan dua versi paralel sementara, kebutuhan mungkin akan terulang di masa depan.
Praktik penamaan paket ini biasanya hanya terjadi pada pustaka atau paket inti penting. Untuk paket periferal lainnya, Anda diharapkan untuk meningkatkan ke apa pun saat ini.
Perpustakaan lebih sering diperlakukan dengan cara ini daripada aplikasi karena, berdasarkan sifatnya, paket lain bergantung padanya. Semakin populer suatu perpustakaan, semakin tidak praktis untuk menuntut agar setiap paket lain bergantung padanya dibangun kembali dan disatukan kembali secara murni sehingga perpustakaan dapat ditingkatkan ke versi utama baru tanpa periode transisi ini.
Seringkali ketika aplikasi diperlakukan dengan cara ini, itu karena mengandung elemen pustaka. Misalnya, Apache bukan hanya server web, tetapi juga menyediakan API pengembangan untuk plugin. ( mod_foo
dan semacamnya.) Jika seseorang memiliki mod_something
tautan lama terhadap plugin Apache 1.3 ABI dan belum memutakhirkannya untuk menggunakan API 2.0 yang lebih baru, akan lebih mudah jika OS Anda terus menawarkan Apache 1.3 yang lama sampai semua pembuat plugin memiliki kesempatan. untuk memperbarui plugin mereka.