Software apapun, baik yang open source maupun yang non open source, pasti mempunyai versi. Alasan utamanya, karena tidak ada software yang sempurna, software selalu di perbaiki, ditambahkan fitur dan disesuaikan dengan teknologi hardware.Makanya, sudah wajib hukumnya software menuliskan versi di belakangnya.
Sebenarnya pemberian versi bukan hanya berlaku untuk software, namun untuk semua produk buatan manusia, contohnya buku, ada buku edisi 1, buku edisi 2 atau buku edisi revisi, semua mengacu pada buku yang sama. Software pun membutuhkan penulisan versi. Namun berbeda dengan buku, penulisan versi software tidak ada standar baku. Masing masing Programmer punya cara sendiri dalam penulisannya.
Dalam artikel ini, saya akan menjelaskan metode penulisan versi software yang paling sering dipakai oleh para Programmer.
Metode Tanggal bulan Tahun
Teknik ini dibagi lagi menjadi 3 yaitu metode penulisan tahun saja, tahun -bulan, dan tahun-bulan-tanggal.
Metode Tahun (YYYY)
Metode ini sering dipakai oleh software closed source. Contohnya adalah Tune Up Utilites atau antivirus. Cara ini sangat praktis dan mudah diingat oleh user. Contoh produk beserta versi nya.
- Microsoft Office 2007
- Visual studio 2010
- TuneUp Utilities 2009
- Microsoft Windows 98
Metode Tahun Bulan (YY.MM)
Metode ini dipakai oleh ubuntu. COntohnya adalah ubuntu 13.10. Artinya ubuntu yang dirilis pada tahun 2013 di bulan 10.
Metode Tahun bulan tanggal (yyyy-mm-dd).
Metode ini sering dipakai untuk software yang belum stabil, biasanya bisa dirilis kapan saja, bahkan bisa tiap minggu atau tiap hari. Contoh software yang memakai penamaan versi seperti ini adalah Wine di versi versi awal. Misalkan Wine
Metode X.Y.Z
Metode ini adalah yang Terpopuler, namun cara ini juga punya banyak variasi. Berikut ini adalah variasinya
Metode X
Cara ini menuliskan versi software dengan versi integer. Misalkan versi pertama adalah versi 1, maka versi selanjutnya adalah versi 2. Cara ini sering dipakai oleh Game, Misalkan Game Age Of Empire I, Age Of Empire II, atau BatleField 4, Sim City 2 dan sebagainya.
Metode X.Y
Metode ini cukup populer, Alasan utama, jika setiap rilis software baru, harus naik 1 , maka versi software akan naik dengan sangat cepat. Metode ini juga punya aturan. Misalkan CandralabCMS 1.0, artinya versi tersebut adalah versi pertama. Jika ada perbaikan kecil atau penambahan fitur yang tidak terlalu signifikan, maka versi selanjutnya adalah candralabCMS1.1.
Perubahan poin X terjadi jika ada perubahan besar besaran di software yang menyebabkan tidak kompatibel dengan versi sebelumnya Contohnya adalah Windows. Secara internal, windows memakai metode pemversian seperti ini. Berikut ini adalah daftar versi internal Windows.
- Windows 5.0 (Windows 2000)
- Windows 5.1 (Windows XP)
- Windows 5.2 (Windows 2003)
- Windows 6.0 (Windows Vista)
- Windows 6.1 (Windows 7)
- Windows 6.2 (Windows 8)
- Windows 6.3 (Windows 8.1)
Microsoft menggunakan dua cara pemversian. Versi internal untuk developer dan versi external seperti Windows Vista untuk user. Perhatikan pola versi internalnya. Tampak bahwa Windows vista,7 dan 8 mempunyai nilai X yang sama yang artinya mereka masih satu keluarga. bahasa mudahnya, jika sebuah driver atau software berjalan di vista, maka dijamin (secara teori) akan jalan di Windows 8.1 ). Namun jika sebuah software berjalan di Windows XP, belum tentu akan berjalan di windows vista ketas, kenapa? karena versi Mayor (nilai X nya) sudah berbeda.
Metode X.Y.Z
Metode X.Y.Z punya aturan sbagai berikut
- X versi Mayor (Perubahan arsitektur/fitur besar besaran)
- Y versi Minor (Penambahan beberapa fitur )
- Z versi perbaikan/patch/bugfix. (perbaikan /bugfix,security fix dsb).
Contoh software yang memakai teknik ini adalah Android. Contoh versi android
- Android 2.2.3
- Android 2.3.7
- Android 3.1.1
- Androdi 4.1.2
Namun, demi alasan pemasaran, versi ini hanya dipakai oleh para Programmer, Android menggunakan teknik penamaan makanan penutup untuk user untuk mempermudah pemasaran. Bagian penamaan seperti ini akan dibahas dibawah.
Metode X.Y.Z.P
Aturan dari metode ini adalah
- X Mayor version
- Y Minor Version
- Z Micro Version
- patch /build
Software yang menggunakan teknik ini adalah Linux. Mengapa linux sampai menggunakan 4 versi? karena linux adalah proyek yang sangat besar, source codenya saja sampai jutaan baris, makanya perbaikan kode atau security fix ada di point P. Walaupun sudah berumur lebih dari 14 tahun, Versi major Linux baru 3. Contoh versi linux adalah Linux 2.6.39.4.
Metode Alpha, Beta, RC , Final
Metode ini tidak bisa berdiri sendiri, biasanya di kombinasikan dengan teknik X.Y.Z atau YY-MM seperti ubuntu. 4 nama diatas adalah fase dalam pengembangan software. penjelasannya adalah sebagai berikut :
- Alpha Versi awal dari software, baru dicoba di lingkungan internal developer atau perusahaan.
- Beta versi awal dari software, sudah diperkenalkan untuk umum,namun tidak disarankan dipakai untuk keperluan Produksi karena belum stabil (gampang crash).
- RC (release candidate) adalah tahapan sebelum rilis, biasanya ditujukan untuk memastikan bahwa software memang sudah stabil, biasanya versi RC tidak jauh berbeda dengan versi finalnya.
- Final release, Software sudah stabil dan siap dipasarkan atau di rilis untuk pemakai umum.
Metode versi dengan pola nama tertentu
Teknik ini biasanya dipakai untuk pemasaran, tujuan utamanya, orang awam non IT mudah mengucapkan dan mengingatnya, 3 Software populer yang menggunakan nama ini adalah Mac OS X, Ubuntu dan Android. Ubuntu menggunakan nama hewan khas Afrika, Mac OS menggunakan nama keluarga kucing dan android menggunakan nama makanan penutup yang manis.
- Ubuntu Saucy Salamander (Ubuntu 13.10)
- Ubuntu Raring Ringtail (Ubuntu 13.04)
- Android Kitkat (Android 4.4)
- Android Jelly Bean (Android
- Mac OS X Tiger ( Mac OS X 10.4)
- Mac OS X Lion (Mac OS X 10.7)
Dari semua contoh diatas, ternyata kebanyakan Programmer menggunakan kombinasi pemversian software. Tujuan utamanya adalah memudahkan mengingat versi baik untuk developer atau user/Consumer. Sekarang giliran anda, Mau pakai metode yang mana? Semoga artikel ini bermanfaat bagi anda, Pembahasan selanjutnya akan menjelaskan tentang Bagaimana Programmer open source mendapatkan uang.
subhanallah, nice post :)
ijin share mas bro. jazakallahu bi khoir