Semver sebagian besar khawatir tentang versi perpustakaan dan paket dengan cara yang menghindari neraka ketergantungan, dalam berbagai inkarnasinya. Namun, ide di balik Semver dapat diperluas ke semua jenis program - setiap kode memiliki beberapa jenis antarmuka pengguna, atau itu sangat tidak berguna.
- Perpustakaan pemrograman atau layanan web memiliki API.
- Perangkat lunak konsumen mungkin memiliki GUI.
- Program baris perintah memiliki seperangkat sakelar dan opsi.
- File konfigurasi juga merupakan antarmuka pengguna.
Menggunakan contoh perangkat lunak konsumen, seperti pengolah kata:
- Tambahkan nomor tambalan saat Anda mengirim perbaikan bug, misalnya: " bug tetap di mana aplikasi selalu macet pada pukul 00:00 pada hari Selasa ".
- Tambahkan nomor versi minor saat menambahkan fitur baru, misalnya: " menambahkan dukungan untuk teks yang digarisbawahi ".
- Tambahkan versi utama saat Anda merombak antarmuka pengguna secara signifikan, atau menulis ulang semua internal. Contoh: “ Toolbar menggunakan terlalu banyak layar. UI sekarang disediakan hanya melalui gerakan sentuh ”- perubahan seperti itu akan memutus alur kerja yang ada.
Namun, banyak masalah yang coba dipecahkan Semver tidak ada di luar area manajemen ketergantungan. Dalam aplikasi konsumen, versi ini tidak hanya versi, tetapi juga aset pemasaran.
Firefox dan Chrome merilis versi baru secara relatif sering, dan menambah nomor versi utama mereka di setiap rilis. Ini menghasilkan angka versi yang sangat tinggi (keduanya saat ini berusia 30-an). Peramban dengan nomor versi yang lebih tinggi harus lebih baik daripada peramban dengan nomor versi yang lebih rendah, bukan?
Nomor versi utama sistem operasi Apple OS X telah menjadi bagian dari namanya (X adalah 10 dalam angka Romawi), menjadikan nomor versi minor nomor versi utama yang efektif.
Sistem operasi Ubuntu menggunakan skema versi year.month.patchlevel. Ini membuatnya mudah untuk mengingat berapa umur OS Anda, tetapi membuatnya jauh lebih sulit untuk mengetahui versi mana yang kompatibel, dan berapa lama dukungan untuk setiap versi berlangsung.
Kernel Linux menabrak nomor versi dari 2.6.39 ke 3.0.0, karena 39
semakin besar, dan untuk memperingati ulang tahun ke 20 Linux.
Sistem pengaturan huruf TeX Donald Knuth yang legendaris menggunakan nomor versi yang, pada versi 3, konvergen ke π dengan menambahkan digit lain pada setiap rilis: 3.14159265…. Ini menandakan bagaimana sistem semakin mendekati kesempurnaan. Demikian pula, sistem Metafont konvergen ke e : 2.7182818….
Jadi, banyak aplikasi yang tidak terlayani dengan baik oleh Semver. Pilih skema versi yang bagus untuk pengguna Anda (terlepas dari apakah pengguna ini sesama programmer atau konsumen), dan tetap konsisten.