Gerçekten projeye bağlı; bazı projeler 1.0 sürümünü bile yayınlamıyor.
MAME geliştiricileri emülatör programlarının 1.0 sürümünü yayınlamayı düşünmüyorlar. Argüman asla gerçekten "bitmeyecek" çünkü her zaman daha fazla arcade oyunu olacak. Sürüm 0.99'u sadece sürüm 0.100 (küçük sürüm 100> 99) izledi. Benzer şekilde Xfire 1.99'u 1.100 izledi. 6 yıllık geliştirmenin ardından, eMule henüz 0.50 sürümüne bile ulaşmadı. Wikipedia'da yazılım sürümü oluşturma
(Kullanmaya başladığım) sürümleri numaralandırmanın popüler bir yöntemi Semantik Sürüm Oluşturma'dır .
Bu şema altında, sürüm numaraları ve bunların değiştirilme şekli, temel kod ve bir sürümden diğerine değiştirilenler hakkında anlam taşır.
Bazı alıntılar size nasıl çalıştığı hakkında daha fazla fikir vermek ve / veya bazı sorularınızı cevaplamak için:
1.0.0 sürümünü ne zaman yayınlayacağımı nasıl bilebilirim?
Yazılımınız üretimde kullanılıyorsa, muhtemelen 1.0.0 olmalıdır. Kullanıcıların bağımlı olduğu kararlı bir API'nız varsa, 1.0.0 olmalısınız. Geriye dönük uyumluluk hakkında çok endişeleniyorsanız, muhtemelen 1.0.0 olmalısınız.
Bu, hızlı gelişimi ve hızlı yinelemeyi cesaretlendirmiyor mu?
Başlıca sürüm sıfır hızlı gelişme ile ilgilidir. API'yı her gün değiştiriyorsanız, hala 0.xx sürümünde veya bir sonraki ana sürümde çalışan ayrı bir geliştirme dalında olmalısınız.
Genel API'daki en küçük geriye dönük uyumsuz değişiklikler bile büyük bir sürüm yumru gerektiriyorsa, 42.0.0 sürümüne çok hızlı bir şekilde ulaşmayacak mıyım?
Bu sorumlu bir gelişme ve öngörü sorunudur. Çok fazla bağımlı koda sahip yazılımlara uyumsuz değişiklikler hafifçe tanıtılmamalıdır. Yükseltme için yapılması gereken maliyet önemli olabilir. Uyumsuz değişiklikleri yayınlamak için büyük sürümleri çarpıştırmanız, değişikliklerinizin etkisini düşüneceğiniz ve maliyet / fayda oranını değerlendireceğiniz anlamına gelir.
Ayrıca "alfa", "beta" vb. Sürümlerin nasıl belirtileceğine ilişkin kurallar da vardır. Ayrıntıları http://semver.org/ adresinde bulabilirsiniz .
[Düzenle] Bir başka ilginç sürüm numaralandırma düzeni MongoDB kullandığı :
MongoDB geliştirme sürümleri için tek sayılı sürümleri kullanır.
MongoDB versiyonunda 3 numara vardır: ABC
- A ana versiyonudur. Bu nadiren değişecek ve çok büyük değişiklikler gösterecektir.
- B sürüm numarasıdır. Bu, geriye dönük uyumluluğu bozabilecek özellikler ve şeyler dahil birçok değişikliği içerecektir. Bs bile istikrarlı şubeler olacak ve tek Bs geliştirilecek.
- C, revizyon numarasıdır ve hata ve güvenlik sorunları için kullanılacaktır.
Örneğin:
- 1.0.0: ilk GA sürümü
- 1.0.x: 1.0.x hata düzeltmeleri - yükseltilmesi şiddetle tavsiye edilir, çok az risk
- 1.1.x: geliştirme sürümü. bu, tamamlanmayan yeni özellikleri içerir ve devam eden çalışır. Bazı şeyler 1.0'dan farklı olabilir
- 1.2.x: ikinci GA sürümü. bu 1.1.x sürümünün doruk noktası olacaktır.