Anlamsal Yazılım Sürüm Numaraları – Semantic Versioning

25 Ağu

Bir yazılım ürünü hakkında bilgi edinmek istediğimizde About(Hakkında) diyalog kutuları veya Readme(Beni Oku) metin dosyalarına bakarız. Bilgiler içerisinde yazılım adı, şirket adı, telif hakkı gibi bilgiler yanında yazılımın sürüm numaraları da bulunur.

Yazılım ürünü, bir masaüstü programı ise hakkında kutusu aşağıdaki gibi olacaktır:

internet explorer
internet explorer about box

Bir .Net kütüphanesi ise AssemblyInfo dosyasında versiyon numarası aşağıdaki gibi olacaktır:

.Net Kütüphanesi AssemblyInfo
.Net Kütüphanesi AssemblyInfo

Her iki durumda da versiyon numaraları noktalarla ayrılmış 4 adet sayıdan oluşmaktadır. Bazı yazılım ürünleri, 3 basamaklı şekilde gösterilmektedir. Öncelikle bu ifade şekillerinin ne anlama geldiğini bilmeliyiz ki yazılımın bize ne söylemek istediğini anlayalım.

version control
sürüm numaraları

Genellikle 1.0.35.40 gibi dört sayıdan oluşan yazılım sürüm numaralarının her bir basamağı:

  1. Basamak Major
  2. Basamak Minor
  3. Basamak Build
  4. Basamak Revision

olacak şekilde ifade edilmektedir.

Burada 1.0.40 gibi üç basamaklı sürüm numaraları için bir not düşecek olursak:

  1. Basamak Major
  2. Basamak Minor
  3. Basamak Revision

şeklinde ifade edilmektedir. Yani Build basamağı ihmal edilmiştir.

1 Major: Yazılım sürümünün ilk basamak numarası, büyük(major) sürüm numarasıdır. Bir yazılımın ilk ana sürümü için bu numara 1 olacaktır. Yazılımda köklü değişiklikler olduğunda bu versiyon numarası değiştirilir. Örneğin yazılım geliştirme sürecinde bir teknoloji değişikliği yapıldığında veya ana işlevlerde değişiklikler yapıldığı durumlarda major sürüm numarası bir arttırılır.

2 Minor: Yazılım sürümünün ikinci basamak numarası, küçük(minor) sürüm numarasıdır. Yazılımın çalışma şeklini değiştirmeyen yeni özellikler eklendiğinde, service pack gibi iyileştirici düzenlemeler yapıldığında minor sürüm numarası bir arttırılır.

3 Build: Yazılım sürümünün üçüncü basamak numarası, geliştirme sürecinde tamamlanan iterasyonları ifade eden sürüm numarasıdır.  SDLC (Software Development Life Cycle) methodolojilerini uygulayan takım çalışmalarında Waterfall veya Spiral gibi iterasyon temelli döngüler tamamlandığında belli modüller oluşur. Her döngü tamamlandığında build sürüm numarası bir arttırılır.

4 Revision: Yazılım sürümünün dördüncü basamak numarası, düzeltilen hataların(bug) sayısını gösteren sürüm numarasıdır. Hiçbir yazılım mükemmel değildir. Gözden kaçan hatalı noktalarda yazılım istendiği şekliyle çalışmayacaktır ve bu noktaların düzeltilmesi gerekecektir. Her hata düzeltme işlemi sonrasında dördüncü sürüm numarası bir arttırılır.

Kaynaklar:
http://semver.org/
https://www.open-mpi.org/software/ompi/versions/