ソフトウェア製品のバージョン変更方法
ソフトウェアのバージョン管理は、ソフトウェア製品のさまざまなバージョンに対して一意の名前または番号を作成するプロセスです。
既存のバージョン番号のカテゴリ(メジャー、マイナー)では、番号は通常昇順で設定され、ソフトウェアの新しい開発に対応しています。 初期レベルでは、バージョン管理システムは、徐々に表示される電子情報のバージョンを追跡します。これにより、同じドキュメントの複数のバージョンを保存し、必要に応じて以前のバージョンに戻り、誰がいついつ変更したかを判断できます。 ただし、ソフトウェアの変更を追跡するために多数のバージョン管理スキームが作成されています。
ソフトウェア開発の各段階は、一連の数字または文字で構成される一意の識別子に対応しています。 いくつかのスキームでは、開発の段階間の変更の重要性を決定するために、連続した識別子が使用されます。これらの変更は重要度レベルによって分類されます。 開発の段階間でどのシーケンスを変更するかについての決定は、開発の最終段階での変更の重要性に基づきます。たとえば、4つの数字のシーケンスで構成されるバージョンのスキームでは、最初の数字はコードが完全に書き換えられたときにのみ追加でき、4番目の数字は変更されますインターフェイスまたはドキュメントに若干の変更を加えました。
後のリリースでは、機能に重大な移行がある場合にメジャー番号(メジャー)が増加し、マイナー機能が追加または修正された場合にのみマイナー番号(マイナー)が追加されます。 マイナーな問題がすべて修正されると、バージョン番号が変わります。 典型的なソフトウェア製品には次の番号が使用されます:
0.9(ベータ版)、0.9.1、0.9.2、0.9.3、1.0、1.0.1、1.0.2、1.1、1.1.1、2.0、2.0.1、 2.0.2、2.1、2.1.1、2.1.2、2.2など 開発者は、プログラムにいくつかの重要な機能が追加されたことを示すために、バージョン5.0から5.5にすぐにジャンプすることもありますが、メインバージョン番号を変更するには不十分ですが、このようなジャンプは依然として不適切です。
メジャーバージョン番号とマイナーバージョン番号を使用するもう1つの方法は、英数字シーケンスを追加して、リリースの開発段階(アルファ、ベータ、リリース候補)を決定することです。 このアプローチを使用する一連のバージョンは次のようになり
ます 。バージョン
0.5、0.6、0.7、0.8、0.9に新しい関数が追加された場合
、それらは
1.0b1、1.0b2 、および新しい関数
1.0b3と呼ばれ、バージョンは
1.0rc1になり
ます 。 バージョン
1.0rc1が十分安定している場合は
1.0になり
ますが、
修正が必要な
エラーが1.0rc1で見つかった場合、番号は
1.0rc2などになります。 このアプローチの重要な特徴は、バージョンの開発段階が同一であることです。 最新のベータ版と候補者による最初のリリース間、または候補者と最終製品による最後のリリース間で変更を加えることはできません。 これを行った場合は、開発段階が低いときに別のバージョンをリリースする必要があります。
英数字バージョンのよく知られた例は、
Macromedia Flash MX、
Adobe Photoshop CS2です。
バージョン番号を作成する際に人的要因が存在すると、バージョン変更でエラーが発生する場合があります。 たとえば、開発者は、重要な変更が行われたという誤った印象を与えるために、コードの1行が書き直されていなくても、バージョン間でシーケンスを変更できます。
指定段階指定
実際の使用にはまだ安定していないリリースにアルファまたはベータステータスを割り当てるには、最初のシーケンスでゼロを使用するスキームがあります。 バージョンをテストする予定がある場合、またはバージョンが内部使用にのみ適している場合は、3番目の数字が付けられます。
このようなスキームのシーケンスは次のとおりです。
- 0-アルファ
- 1-ベータ
- 2-リリース候補
- 3-公開リリース
例:
- 1.2-aの代わりに1.2.0.1
- 1.2-b2の代わりに1.2.1.2 (いくつかのバグが修正されたベータ版)
- 1.2-rcの代わりに1.2.2.3 (リリース候補)
- 1.2-rの代わりに1.2.3.0 (商用配布用)
- 1.2-r5の代わりに1.2.3.5 (多くのバグが修正された商用配布用)
シーケンス分離
公開する場合、シーケンスは句読点で区切ることができます。 句読点の選択とその使用は、スキームによって異なります。
次のリストは、同じリリースでの分割回路の可能な例を示しています。
- スキームは、シーケンス間で同じ句読点を使用できます: 2.4.13、2 / 4 / 13、2-4-13
- 分割する番号と分割しないスキームの選択は矛盾する場合があります: 2.413
- スキーマは、同じシーケンス内で異なる句読点を使用できます: 2.4_13
シーケンス番号
ダイアグラムには、
Microsoftが行うように、ソフトウェアアセンブリを示す4番目の未公開の番号がある場合があります。 逆に、
Adobe Flashは4番目のバージョン番号
10.1.53.64を最も区別します。 一部の企業にはビルド日も含まれています。 バージョン番号には、文字や句読点が含まれる場合があります
。Lotus1-2-3 Release 1a。シーケンス増分
バージョン内の数字のシーケンスをインクリメントするには、2つの異なる方法があります。 ほとんどのフリーソフトウェア製品は、連続した番号の連続したストリームを使用します:
1.7.0、1.8.0、1.8.1、1.9.0、1.10.0、1.11.0、1.11.1、1.11.2など。 そのような製品の例は
MediaWikiです。 他のプログラムは10進数を使用します:
1.7、1.8、1.81、1.82、1.9など。 このようなプログラムでは、バージョン
1.8以降
、バージョン
1.81が使用され、現在のリリースは
1.81a 、
1.81bなどで示され
ます 。
バージョンでの日付の使用
Wineプロジェクトの開発者は、バージョン管理時に日付を使用し、リリースの年、月、日を示しました:
“ Wine 20040505” 。 現在、
Wineはリリースの「標準」番号付けを使用しています
。2010の最新バージョンは番号
1.2です。
Ubuntu Linuxは同様の番号付けスキームを使用します。たとえば、2010年4月のリリースはUbuntu 10.04と番号付けされます。
Microsoft Officeのビルド番号も実際にはエンコードされた日付です。
ここで、バージョン番号付けで日付を使用する場合は、ISOスキームを使用する必要があります。つまり、最初に年、次に月、次に日(YYYY-MM-DD)を指定する必要があり、ハイフンは省略できます。
リリース年ごとのバージョン番号の例もあります(
Adobe Illustrator 88、
WordPerfect Office 2003)。 この動きはマーケティング目的で最もよく使用されますが、このバージョン番号はまだ存在しています。 たとえば、Microsoft Windows 2000 Serverのバージョンには、実際にはWindows NT 5.0番号があります。
TeXバージョン番号スキーム
TeXシステムは、一意のバージョン番号付けスキームを使用します。 バージョン番号3の出現後、番号のシーケンスに対応する数字が、ドットの後に後続のすべての更新バージョンに追加されました。これは単項番号システムの形式の1つです。バージョン番号は、番号の番号番号に対応します。 最新バージョン番号は3.1415926です。 この方法は、TeXシステムの安定性を反映しています。 TeX開発者のDonald Knuthは、最新バージョンは彼の死後にリリースされ、彼女の番号は完全な番号willになり、残りのすべての欠点は永続的な機能になると述べました。
METAFONTは同様のスキーム
に従い 、数学定数eからの番号でバージョンに番号を付けます。
アップルサーキット
、
AppleはNumVersion構造に基づく正式なバージョン番号構造を使用します。これは、メジャーバージョン番号(1〜2番号)、マイナーバージョン番号(1番号)、固定バージョン番号(「バグ」バージョン)(1番号)、および開発ステージインジケーターで構成されています(プレアルファ、アルファ、ベータなど)およびプレリリース番号(0〜255)。 これらのバージョン番号を1行で記述する際、開発のゼロまたは最終段階を示す番号の一部を省略するという条件付きの合意がありました。 例:
1.0.2b12、1.0.2(1.0.2f0の代わり)、および1.1(1.1.0f0の代わり) 。
その他のスキーム
ソフトウェアメーカーは、さまざまなスキームを使用して、ソフトウェアのリリースを示します。 たとえば、
Microsoft Windowsオペレーティングシステムは、標準の数値バージョン指定スキーム(Windows 1.0からWindows 3.11)で市場に登場しました。 その後、マイクロソフトの開発者は、マーケティング目的でバージョン名の分離を開始しました。つまり、最初にリリース年(Windows 95(4.0)、Windows 98(4.10)、Windows 2000(5.0))、次に英数字コード(Windows Me(4.90)、 Windows XP(5.1))に続いてブランド名(Windows Vista(6.0))。 Windows 7の最新リリースから判断すると、Microsoftは再び標準の数値スキームに戻りましたが、Windows 7のバージョンの正式名は6.1です。
Debianプロジェクトは、オペレーティングシステムのリリースに「メジャー/マイナー」スキームを使用しており、トイストーリーの漫画の名前がソフトウェア製品名の開発に使用されています。
非表示のバージョン番号
ソフトウェア製品には、メイン製品名に示されていない、いわゆる「隠し」バージョン番号が含まれている場合があります(通常、隠し番号をコンパイルする場合は、すべてのバージョン番号付け規則に従います)。 たとえば、Java SE 5.0の内部番号は1.5.0であり、NT 4以降のWindowsバージョンは内部標準バージョン番号付けを継続します。Windows2000はNT 5.0、XPはWindows NT 5.1、2003はNT 5.2、VistaはNT 6.0および7です。これはNT 6.1です。
ソフトウェア製品の予備バージョン
上記のさまざまなバージョン管理スキームとともに、ほとんどの場合、プレリリース指定システムは、ソフトウェア開発のすべての段階で機能するプログラムとして使用されます。 開発の初期段階にあるプログラムは、「アルファ」(ギリシャ語のアルファベットの最初の文字)と呼ばれます。 より成熟したプログラムですが、まだリリースの準備ができていませんが、ベータ版(ギリシャ語のアルファベットの2番目の文字)と呼ばれます。 基本的に、アルファソフトウェア製品は開発者のみがテストしますが、ベータ製品は公開テストに配布されます。 製品のこれら2つのバージョンには、通常、1.0から0.9など、1未満の番号が割り当てられます。 これは公開リリース用です。 ただし、既存の製品用に仮バージョンが作成された場合、完成した製品のバージョン番号に追加された文字「a」(アルファ)、たとえばバージョン2.5-仮バージョン2.5.aまたは2.5aで示すことができます。 リリースの準備ができている製品は、タグ「rc-#」で示すことができます。これは、リリース候補(リリース候補)を意味します。 バージョンがすでにリリースされている場合、タグは削除されます。
リリース開発用のバージョン指定の奇数
1.0と2.6.xシリーズの間では、
Linuxカーネルは開発中のリリースを示すために奇数バージョン番号を使用し、安定したリリースでは偶数番号を使用していました。 たとえば、Linux 2.3はLinuxカーネルの2番目の主要な設計の開発シリーズであり、Linux 2.4はLinux 2.3が開発された一連の安定したリリースでした。 Linuxカーネルのリリース番号は最初にマイナーバージョン番号を記述し、次にリリース番号を昇順で記述しました。 たとえば、Linux 2.4.0→Linux 2.4.22。 2004年の2.6カーネルのリリース後、Linuxはこのシステムを使用しなくなったため、リリースサイクルが大幅に短縮されました。 現在は、必要に応じて4番目を使用して、3番目の数値を単純に増やします。
アップルと奇数
Appleは、特に
MacOSシステムの間、奇数を犠牲にして独自の特性を備えていました。 マイナーリリースが発行された場合でも、バージョン番号が1を超えることはめったにありませんでした。番号を増やす必要がある場合は、メインリリースとマイナーリリースの間で値をわずかに変更しながらすぐに5にジャンプしました(たとえば、8.5は「8半、および8.6は「8点半」を意味します)。 完成したバージョンのシーケンスは次のようになります:
1.0、1.1、2.0、2.1、3.0、3.2(3.1はありません)、4.0、4.1、5.0、5.1、6.0、7.0、7.1、7.5、7.6、8.0、8.1、8.5、8.6、9.0、 9.1、9.2。主要な開発フェーズとしてのバージョン1.0
専有ソフトウェア開発者は、常にプログラムバージョン1の最初のリリースに名前を付け、コードを書き換えるたびにメジャーバージョン番号を増やします。 つまり、プログラムはわずか数か月の開発でバージョン3に到達できますが、安定性と信頼性が失われる可能性があります。
企業とは異なり、フリーソフトウェアコミュニティは主要な開発ステップとしてバージョン1.0を使用しています。つまり、製品は完全であり、必要なすべての機能を備えており、一般使用に十分な信頼性があります。
このスキームによると、リリースに備えてすべての欠陥がなくなるまで、バージョン番号はゆっくりと1.0に近づきます。 たとえば、
MAME開発者は、バージョン1.0のエミュレータプログラムをリリースしようとはしません。アーケードゲームは常に表示されるため、完全には完成しないと主張しています。 バージョン0.99は、バージョン0.100の後に続きます。
Xfireの同様の例は、1.99のリリース後に1.100になります。 そのため、6年間にわたって、
eMuleはまだバージョン0.50に達していません。
プログラム履歴
Winampは、プログラムの第3バージョンの完全に異なる構成をリリースしました。この構成では、以前のバージョンのプラグインや他のリソースとの後方互換性はありませんでした。 ただし、このバージョンはバージョン2および3と完全に互換性がありますが、5番目の番号が付けられました。つまり、4はスキップされました。同じことが
UnixWare 7でも起こりました。
競合他社に追いつく方法
プロプライエタリソフトウェア業界では、マーケティング目的でメジャーバージョンとマイナーバージョンの番号付けをスキップするという一般的な習慣があります。
これは、
Sun Solarisバージョン番号付けシステム、
Java仮想マシン 、SCO Unix、および
Corel Word Perfectだけでなく、いくつかの
Microsoftおよび
America Online製品でも見られ
ます 。 filePro DB / RADソフトウェア製品には2.0から3.0から4.0から4.1から4.5から4.8から5.0の番号が付けられており、1つの中間体を持たずにリリース5.6をすでに準備しています。 AOLのPCクライアントソフトウェアのバージョンにはわずかな違いが見られますが、5.0、6.0、7.0などのメジャーリリースのみに番号が付けられています。 同様に、
Microsoft Accessはバージョン2.0からバージョン7.0にジャンプして、
Microsoft Wordのバージョン管理に追いつきました。
Microsoftは、バージョン5をスキップし、すぐにInternet Explorerの6番目のバージョンを起動することにより、Netscapeブラウザーのバージョン番号に追いつくという目標もありました。
Sunが開発したJavaプログラミング言語には、ナンバリングシステムが混在しており、バージョン番号は常に1.xでしたが、xを参照してのみ3倍のバージョンが販売されました。
- JDK 1.0.3
- JDK 1.1.2から1.1.8
- J2SE 1.2.0(「Java 2」)から1.4.2
- Java 1.5.0(「Java 5」)
- Java 1.6.0(「Java 6」)
Sunは、Solaris 2.8(または2.9)がSolaris 8(または9)の現在のバージョン番号であった、マーケティング文書によると、最初の
Solarisバージョン番号を見逃していました。
迷信
2007 Microsoft Officeリリースの内部バージョン番号は12でした。Office2010リリースの内部番号はすでに14でした。これは、12ダースという評判が悪いためです。
CorelのWordPerfect Officeのバージョン13は、「X3」(ローマ数字10および「3」)として指定されています。 X4の次のバージョンでこの手順が繰り返されました。
マーケティングの困難を克服する方法
1990年代半ば、中国市場で急成長した
CMMSと
Maximoは、Maximoシリーズ3バージョンからシリーズ5にすぐにジャンプし、シリーズ4をスキップしました。中国語の4番の間違った発音は「死」または「失敗」を意味するためです。 ただし、これはリリース4.0のリリースでMaximo Series 5を停止しませんでした。 シリーズの番号付けはそこで停止しましたが、リリース1.0以降、かなり正常に再開したことに注意してください。
ソフトウェア開発におけるバージョン番号の重要性
バージョン番号は、ソフトウェア製品のコピーと開発者がリリースした新しいバージョンを比較できるようにするために、消費者またはクライアントによって実際的な用語で使用されます。 プログラマーと企業のチームは、バージョン番号を使用して、一部のバージョンのプログラムコードの個々の部分とセクターを他のバージョンと比較し、通常はバージョン管理システムで作業します。 ソフトウェア製品のバージョンには絶対的かつ明確な番号付けスキームはないため、多くの場合、番号付けはプログラマーの個人的な選択に依存します。
「
成功したGit分岐モデル 」という記事のイラストを使用
翻訳は、 Chyriusの従業員であるNatalya Volodinaによって行われました 。