ソフトウエアのバージョンナンバー…ルールや数字の違いは?

バージョン 1.3.5などのように「.」で区切っていくつかの数字が並んでいると思いますが、どのような意味やルールになっているのでしょうか?

また、この数字があることで、なにがどのように影響するのでしょうか?

普通にパソコンを使っていると、バージョンナンバーの違いで、大きな影響を受けているとすれば、Windowsのバーション?ぐらいであり、他はあまり関係が無いような気がしませんか?

スポンサーリンク

バージョンナンバーの表と裏(内部)

Windowsの話がでたので、Windowsのバージョンについて、確認しておきたいと思います。

Windowsの後についている数字は、製品名の一部と思うと理解できます。

つまり、Windows 7 は「Windows 7」という製品名で、内部バージョンという別の管理ナンバーがあります。

しかし「7」という数字があるので、Windowsバージョン7と思っている人が多いでしょう。

現在利用している Windows 10のバージョン情報等を見てみると、以下のようになっていました。

Microsoft Windows

バージョン 1803(OSビルド 17134.471)

 

バージョンナンバーは型番のようなもの?

相当普及しているであろうWindowsのバージョンナンバーについてみてみましたが、なんだか余計にわからなくなってしまったのではないでしょうか?

バージョンナンバーは、型番と言ってしまうと言い過ぎかもしれませんが、電気製品などの型番みたいなものと考えると理解できます。

つまり、なんとなくルール的なものはあるけれども、交通ルールのような絶対的なものではなく、流通しやすいとか管理しやすいとか、そのような考え方も含んでいるでしょう。

ちなみに、フリーソフトをいくつか作ってリリースしていましたが、色々調べて結局のところ、自分でわかりやすく管理しやすい体系にしていました。

しかし、大規模なソフトウエアや大手の企業のソフトウエアには、それなりのきちんとしたルールが存在します。

まるで、ビデオテープやCDの規格のように独自にですが…もちろん違う組織でも同じようなルールのところもあります。

しかし、それぞれバラバラでは、色々な不都合がありますので、きちんとした規格があれば助かります。

そこで、セマンティック バージョニングというバージョン番号のつけ方に関するルールがあります。

 

セマンティック バージョニングとは

https://semver.org/lang/ja/

セマンティック バージョニング 2.0.0

バージョンナンバーは、メジャー.マイナー.パッチとし、バージョンを上げるには

  1. APIの変更に互換性のない場合はメジャーバージョンを
  2. 後方互換性があり機能性を追加した場合はマイナーバージョンを
  3. 後方互換性を伴うバグ修正をした場合はパッチバージョンを上げます。

※正式に取り入れるには、さらに決まりがあります。

なんだかよくわからないと思いますが、ザックリ表現すると、以下のように表現出来るでしょう。

例:バージョン X.Y.Z

X:メジャー.Y:マイナー.Z:パッチ

という構成で表現します。

  1. メジャーは、API(アプリケーションプログラミングインターフェース)の変更で、前メジャーバージョンと互換性が無い場合に、番号を上げるパートになります。
  2. マイナーは、同メジャーバージョンにおいて、機能の追加を行った場合に上げるパートになります。
  3. パッチは、同様にバグを修正した場合に上げます。

非常に簡潔でわかりやすいと思いますので、今後フリーソフトなどを作る時には、このルールで行いたいと思います。

なお、実際のソフトウエアには、概ね似たようなルールになっているようですが、細かくはWindowsのように、企業や製作者独自のルールでバージョンナンバーがつけられています。

 

ところでバージョンナンバーって重要か?

バージョンナンバーは、単にソフトなどを利用するだけなら、あまり気にする必要はないと思います。

Windowsが良い例ですが、自分の使っているのが、Windows 10という製品だと知っていても、ほとんどの方は、バージョンナンバーを知らないでしょう。

しかし、何らかのトラブルがあったような時、バージョンナンバー等は重要になります。

利用しているバージョンナンバーがわかれば、既知の問題でのトラブルなのか、新たなトラブルなのかがわかります。

しかし、過去の経験からですが、サポートの問い合わせやコメントをされる半分以上の方は、利用している環境やバージョンについて、きちんと説明してくれません(必要とは思っていないのでしょう)。

そのため、最低1回はやり取りが増えますので、急いでいる場合は、余計に問題が大きくなってしまいます。

少し話が逸れましたが、わかりやすいバージョンナンバーリングは、サポートする時にも非常に重要になってきます。

 

まとめ

バージョンの数字は、どのような意味やルールになっているのでしょうか?

バージョンナンバーは、電気製品などの型番みたいなもの

大規模なソフトウエア会社では、独自に製品のバージョンルールがありますが、業界として統一の規格では無いので、わかりにくかったりもします。

そこで、セマンティック バージョニングというバージョン付けルールがあります。

バージョン メジャー.マイナー.パッチ

実際には、概ね似たようなルールになってはいるようですが、細かくは独自のルールでバージョンナンバーがつけられています。

なお、バージョンナンバーは、困った時には必要ですので、サポートを頼む時にはチェックしておきましょう。

 

コメント

タイトルとURLをコピーしました