Itu benar-benar tergantung pada proyek; beberapa proyek bahkan tidak merilis versi 1.0.
Pengembang MAME tidak bermaksud untuk merilis versi 1.0 dari program emulator mereka. Argumennya adalah bahwa itu tidak akan pernah benar-benar "selesai" karena akan selalu ada lebih banyak game arcade. Versi 0.99 hanya diikuti oleh versi 0.100 (versi minor 100> 99). Dengan cara yang sama Xfire 1.99 diikuti oleh 1.100. Setelah 6 tahun pengembangan, eMule bahkan belum mencapai versi 0,50. Versi perangkat lunak di Wikipedia
Salah satu metode penomoran versi yang populer (yang sudah mulai saya gunakan) adalah Semantic Versioning .
Di bawah skema ini, nomor versi dan cara perubahannya menyampaikan makna tentang kode yang mendasarinya dan apa yang telah dimodifikasi dari satu versi ke versi berikutnya.
Beberapa kutipan memberi Anda lebih banyak ide tentang cara kerjanya dan / atau menjawab beberapa pertanyaan Anda:
Bagaimana saya tahu kapan harus merilis 1.0.0?
Jika perangkat lunak Anda digunakan dalam produksi, mungkin seharusnya sudah 1.0.0. Jika Anda memiliki API stabil tempat pengguna bergantung, Anda harus 1.0.0. Jika Anda sangat mengkhawatirkan kompatibilitas ke belakang, Anda seharusnya sudah mencapai 1.0.0.
Tidakkah ini menghambat pengembangan yang cepat dan iterasi yang cepat?
Versi utama nol adalah semua tentang perkembangan yang cepat. Jika Anda mengubah API setiap hari Anda harus masih dalam versi 0.xx atau pada cabang pengembangan terpisah yang bekerja pada versi utama berikutnya.
Jika bahkan perubahan terkecil yang tidak kompatibel ke API publik memerlukan versi benjolan besar, tidak akankah saya berakhir di versi 42.0.0 dengan sangat cepat?
Ini adalah pertanyaan tentang pengembangan dan tinjauan ke masa depan yang bertanggung jawab. Perubahan yang tidak kompatibel tidak boleh diperkenalkan secara ringan ke perangkat lunak yang memiliki banyak kode dependen. Biaya yang harus dikeluarkan untuk meningkatkan dapat menjadi signifikan. Harus menabrak versi utama untuk merilis perubahan yang tidak kompatibel berarti Anda akan memikirkan dampak dari perubahan Anda, dan mengevaluasi rasio biaya / manfaat yang terlibat.
Ada juga aturan tentang cara menentukan rilis "alpha," "beta," dll. Lihat detailnya di http://semver.org/ .
[Sunting] Skema penomoran versi lain yang menarik adalah yang digunakan MongoDB :
MongoDB menggunakan versi nomor ganjil untuk rilis pengembangan.
Ada 3 angka dalam versi MongoDB: ABC
- A adalah versi utama. Ini jarang akan berubah dan menandakan perubahan yang sangat besar
- B adalah nomor rilis. Ini akan mencakup banyak perubahan termasuk fitur dan hal-hal yang mungkin merusak kompatibilitas. Bahkan B akan menjadi cabang yang stabil, dan B aneh akan menjadi pengembangan.
- C adalah nomor revisi dan akan digunakan untuk masalah bug dan keamanan.
Sebagai contoh:
- 1.0.0: rilis GA pertama
- 1.0.x: perbaikan bug ke 1.0.x - sangat disarankan untuk ditingkatkan, risikonya sangat kecil
- 1.1.x: rilis pengembangan. ini akan mencakup fitur-fitur baru yang belum sepenuhnya selesai, dan sedang berjalan. Beberapa hal mungkin berbeda dari 1.0
- 1.2.x: rilis GA kedua. ini akan menjadi puncak dari rilis 1.1.x.