本当にプロジェクト次第です。一部のプロジェクトはバージョン1.0をリリースしていません。
MAMEの開発者は、エミュレータプログラムのバージョン1.0をリリースするつもりはありません。アーケードゲームは常に存在するため、真に「完成」することはないという議論があります。バージョン0.99の後には、バージョン0.100が続きました(マイナーバージョン100> 99)。同様に、Xfire 1.99の後に1.100が続きました。6年間の開発後、eMuleはまだバージョン0.50に達していません。ウィキペディアでのソフトウェアのバージョン管理
バージョンに番号を付ける一般的な方法の1つ(私が使用し始めたもの)は、セマンティックバージョニングです。
このスキームでは、バージョン番号とその変更方法は、基礎となるコードと、あるバージョンから次のバージョンに変更されたものについての意味を伝えます。
それがどのように機能するかについてのより多くのアイデアを提供し、および/またはあなたの質問のいくつかに答えるためのいくつかの引用:
1.0.0のリリース時期を知るにはどうすればよいですか?
ソフトウェアが本番環境で使用されている場合、おそらくすでに1.0.0になっているはずです。ユーザーが依存するようになった安定したAPIがある場合、1.0.0である必要があります。後方互換性について多くのことを心配しているなら、おそらくすでに1.0.0になっているはずです。
これは、迅速な開発と迅速な反復を妨げませんか?
メジャーバージョン0は、すべて迅速な開発に関するものです。毎日APIを変更する場合は、バージョン0.xxのままにするか、次のメジャーバージョンで作業する別の開発ブランチにする必要があります。
パブリックAPIに対するわずかな後方互換性のない変更でもメジャーバージョンバンプが必要な場合、バージョン42.0.0に非常に急速に移行することはありませんか?
これは責任ある開発と先見性の問題です。互換性のない変更は、多くの依存コードを持つソフトウェアに軽く導入しないでください。アップグレードに要する費用は非常に大きくなる可能性があります。互換性のない変更をリリースするためにメジャーバージョンをバンプしなければならないということは、変更の影響を熟考し、関連するコスト/利益比を評価することを意味します。
「アルファ」、「ベータ」などのリリースを指定する方法に関するルールもあります。詳細については、http://semver.org/をご覧ください。
[編集]別の興味深いバージョン番号付けスキームは、MongoDBが使用するものです:
MongoDBは、開発リリースに奇数バージョンを使用します。
MongoDBバージョンには3つの数字があります:ABC
- Aはメジャーバージョンです。これはめったに変更されず、非常に大きな変更を意味します
- Bはリリース番号です。これには、後方互換性を破壊する可能性のある機能や事柄を含む多くの変更が含まれます。Bでさえ安定したブランチになり、奇数のBは開発になります。
- Cはリビジョン番号であり、バグとセキュリティの問題に使用されます。
例えば:
- 1.0.0:最初のGAリリース
- 1.0.x:1.0.xのバグ修正-アップグレードすることを強くお勧めします。リスクはほとんどありません
- 1.1.x:開発リリース。これには、完全には完成しておらず、進行中の新機能が含まれます。1.0とは異なる場合があります
- 1.2.x:2番目のGAリリース。これは1.1.xリリースの集大成です。