Semver, kitaplıkların ve paketlerin çeşitli enkarnasyonlarda bağımlılık cehennemini önleyecek şekilde versiyonlandırılması konusunda endişe duymaktadır. Bununla birlikte, Semver'in ardındaki fikir her türlü programa genişletilebilir - herhangi bir kod parçasının bir tür kullanıcı arayüzü vardır, ya da oldukça işe yaramaz.
- Bir programlama kütüphanesi veya web servisi bir API'ye sahiptir.
- Tüketici yazılımı bir GUI'ye sahip olabilir.
- Komut satırı programlarında bir dizi anahtar ve seçenek bulunur.
- Yapılandırma dosyaları aynı zamanda bir kullanıcı arayüzüdür.
Kelime işlemci gibi tüketici yazılımı örneğini kullanarak:
- Bir hata düzeltmesi gönderirken düzeltme eki numarasını artırın, örneğin: “ uygulamanın salı günleri saat 00: 00'da sürekli çökmesine neden olan sabit hata ”.
- Yeni bir özellik eklerken küçük sürüm numarasını artırın, örneğin: “ altı çizili metin için destek eklendi ”.
- Kullanıcı arabirimini büyük ölçüde elden geçirdiğinizde ana sürümü artırın veya tüm dahili bileşenleri yeniden yazın. Örneğin: “ Araç çubukları çok fazla ekran mülkü kullanıyor. Kullanıcı Arabirimi şimdi yalnızca dokunma hareketleriyle sağlanıyor ”- böyle bir değişiklik varolan iş akışlarını bozar.
Bununla birlikte, Semver'in çözmeye çalıştığı birçok sorun, bağımlılık yönetimi alanı dışında mevcut değildir. Tüketici uygulamalarında, sürüm yalnızca bir sürüm değil, aynı zamanda bir pazarlama varlığıdır.
Firefox ve Chrome yeni sürümleri nispeten sık yayınlar ve ana sürüm numaralarını her sürümde artırır. Bu gülünç yüksek sürüm numaralarına neden olur (her ikisi de 30'undadır). Daha yüksek sürüm numarasına sahip bir tarayıcı, daha düşük sürüm numarasına sahip bir tarayıcıdan daha iyi olmalıdır, değil mi?
Apple'ın işletim sistemi OS X'in ana sürüm numarası, küçük sürüm numarasını etkili ana sürüm numarası yapan, adının bir parçası haline gelmiştir (X, Romen rakamlarında 10'dur).
Ubuntu işletim sistemi year.month.patchlevel versiyonlama şemasını kullanır. Bu, işletim sisteminizin ne kadar eski olduğunu hatırlamanızı kolaylaştırır, ancak hangi sürümlerin uyumlu olduğunu ve her sürüm için ne kadar süren bir destek olduğunu bulmak çok daha zor hale gelir.
Linux çekirdeği sürüm numarasını 2.6.39'dan 3.0.0'a çıkardı, çünkü 39
biraz büyüyordu ve Linux'un 20. yıldönümünü anmak için.
Donald Knuth'un efsanevi TeX dizgi sistemi, sürüm 3'ten itibaren her sürümde başka bir rakam ekleyerek π'ya yaklaşan bir sürüm numarası kullanır: 3.14159265…. Bu, sistemin mükemmele nasıl yaklaştığını gösterir. Benzer şekilde, Metafont sistemi e : 2.7182818… ' e dönüşür.
Bu yüzden birçok başvuru Semver tarafından iyi bir şekilde sunulmuyor. Kullanıcılarınız için uygun bir sürüm şeması seçin (bu kullanıcıların diğer programcı veya tüketici olup olmadıklarına bakılmaksızın) ve tutarlı olmasını sağlayın.