danglingfarpointer's memoization

仕事周りでの気付き、メモ、愚痴などを書いていきます。

バージョン番号の考え方

外(外部組織や不特定多数)に対して、ソフトウェアや文書のような継続的に見直しのかかるアーティファクトを展開していく場合、バージョン番号のルールを決めておくのが常だと思われる。

バージョン番号をどうふるかについては、ある程度汎用的な考え方がある。

セマンティック バージョニング 2.0.0: http://semver.org/lang/ja/

バージョン番号は3つの番号の組から成り、先頭から順に「メジャーバージョン」、「マイナーバージョン」、「リビジョン」と呼ぶ。それぞれの意味は次の通り。

  • メジャーバージョン: 互換性のない変更を表す。例えばある機能が削除されることや変更されること(ただし単に増えることは除く)、その他大幅な変更を表す。利用者にとっては、メジャーバージョンがアップすると、今までと同じ使用方法が保証されないことを意味する。メジャーバージョンは通常1からスタートする。メジャーバージョンが0である場合は、まだ大幅な見直しのかかる可能性があることを意味する。

  • マイナーバージョン: 互換性のある変更を表す。例えば機能が単に増えることや使用の前提条件が緩和されることを意味する。利用者は、マイナーバージョンがアップしても、今までと同じ使用方法を期待してよい。

  • リビジョン: 仕様修正の伴わない軽微な変更を表す。例えば不具合修正など。メジャーとマイナーバージョンが同一ならば、通常はリビジョンがアップするほど安定的になる。