バージョン 1.3.5などのように「.」で区切っていくつかの数字が並んでいると思いますが、どのような意味やルールになっているのでしょうか?
また、この数字があることで、なにがどのように影響するのでしょうか?
普通にパソコンを使っていると、バージョンナンバーの違いで、大きな影響を受けているとすれば、Windowsのバーション?ぐらいであり、他はあまり関係が無いような気がしませんか?
バージョンナンバーの表と裏(内部)
Windowsの話がでたので、Windowsのバージョンについて、確認しておきたいと思います。
Windowsの後についている数字は、製品名の一部と思うと理解できます。
つまり、Windows 7 は「Windows 7」という製品名で、内部バージョンという別の管理ナンバーがあります。
しかし「7」という数字があるので、Windowsバージョン7と思っている人が多いでしょう。
現在利用している Windows 10のバージョン情報等を見てみると、以下のようになっていました。
Microsoft Windows
バージョン 1803(OSビルド 17134.471)
バージョンナンバーは型番のようなもの?
相当普及しているであろうWindowsのバージョンナンバーについてみてみましたが、なんだか余計にわからなくなってしまったのではないでしょうか?
バージョンナンバーは、型番と言ってしまうと言い過ぎかもしれませんが、電気製品などの型番みたいなものと考えると理解できます。
つまり、なんとなくルール的なものはあるけれども、交通ルールのような絶対的なものではなく、流通しやすいとか管理しやすいとか、そのような考え方も含んでいるでしょう。
ちなみに、フリーソフトをいくつか作ってリリースしていましたが、色々調べて結局のところ、自分でわかりやすく管理しやすい体系にしていました。
しかし、大規模なソフトウエアや大手の企業のソフトウエアには、それなりのきちんとしたルールが存在します。
まるで、ビデオテープやCDの規格のように独自にですが…もちろん違う組織でも同じようなルールのところもあります。
しかし、それぞれバラバラでは、色々な不都合がありますので、きちんとした規格があれば助かります。
そこで、セマンティック バージョニングというバージョン番号のつけ方に関するルールがあります。
セマンティック バージョニングとは
セマンティック バージョニング 2.0.0
バージョンナンバーは、メジャー.マイナー.パッチとし、バージョンを上げるには
- APIの変更に互換性のない場合はメジャーバージョンを
- 後方互換性があり機能性を追加した場合はマイナーバージョンを
- 後方互換性を伴うバグ修正をした場合はパッチバージョンを上げます。
※正式に取り入れるには、さらに決まりがあります。
なんだかよくわからないと思いますが、ザックリ表現すると、以下のように表現出来るでしょう。
例:バージョン X.Y.Z
X:メジャー.Y:マイナー.Z:パッチ
という構成で表現します。
- メジャーは、API(アプリケーションプログラミングインターフェース)の変更で、前メジャーバージョンと互換性が無い場合に、番号を上げるパートになります。
- マイナーは、同メジャーバージョンにおいて、機能の追加を行った場合に上げるパートになります。
- パッチは、同様にバグを修正した場合に上げます。
非常に簡潔でわかりやすいと思いますので、今後フリーソフトなどを作る時には、このルールで行いたいと思います。
なお、実際のソフトウエアには、概ね似たようなルールになっているようですが、細かくはWindowsのように、企業や製作者独自のルールでバージョンナンバーがつけられています。
ところでバージョンナンバーって重要か?
バージョンナンバーは、単にソフトなどを利用するだけなら、あまり気にする必要はないと思います。
Windowsが良い例ですが、自分の使っているのが、Windows 10という製品だと知っていても、ほとんどの方は、バージョンナンバーを知らないでしょう。
しかし、何らかのトラブルがあったような時、バージョンナンバー等は重要になります。
利用しているバージョンナンバーがわかれば、既知の問題でのトラブルなのか、新たなトラブルなのかがわかります。
しかし、過去の経験からですが、サポートの問い合わせやコメントをされる半分以上の方は、利用している環境やバージョンについて、きちんと説明してくれません(必要とは思っていないのでしょう)。
そのため、最低1回はやり取りが増えますので、急いでいる場合は、余計に問題が大きくなってしまいます。
少し話が逸れましたが、わかりやすいバージョンナンバーリングは、サポートする時にも非常に重要になってきます。
まとめ
バージョンの数字は、どのような意味やルールになっているのでしょうか?
バージョンナンバーは、電気製品などの型番みたいなもの
大規模なソフトウエア会社では、独自に製品のバージョンルールがありますが、業界として統一の規格では無いので、わかりにくかったりもします。
そこで、セマンティック バージョニングというバージョン付けルールがあります。
バージョン メジャー.マイナー.パッチ
実際には、概ね似たようなルールになってはいるようですが、細かくは独自のルールでバージョンナンバーがつけられています。
なお、バージョンナンバーは、困った時には必要ですので、サポートを頼む時にはチェックしておきましょう。
コメント