「パッチ」と「アップグレード」をどのように区別しますか?どこに線を引きますか?
ある仕様では、製品のアップグレードをリリースするたびに「X」を実行する必要があると書かれています。どこかに線を引く必要があります。この仕様に違反したくはありませんが、これまで明示的に定義したことはありません。
ソフトウェアのバージョン管理(特にセマンティックバージョン管理)に関しては、パッチを適用するとソフトウェアのパッチバージョン番号がアップグレードされ、更新によってマイナーバージョン番号がアップグレードされます。セマンティックバージョニング(MAJOR.MINOR.PATCH
形式)に従うアプリケーションの場合、パッチは次のように定義されます。
下位互換性のあるバグ修正を行う場合は、[...]PATCHバージョンをインクリメントしてください。
ほとんどの場合、パッチは3番目の番号であるメンテナンスバージョンを更新します。更新により、マイナーバージョン番号が更新されます。さらに、パッチは通常、互換性を維持しながら問題を修正しますが、更新は問題を修正するだけでなく、以前のバージョンと互換性がない可能性のある新機能を追加することもできます。パッチ番号の後にビルド番号またはリビジョン番号を追加することもできます。
MAJOR.MINOR.PATCH or MAJOR.MINOR.PATCH.BUILD
したがって、バージョン番号2.1.3.089は、2番目のメジャーバージョン、最初のマイナーリビジョン(1つのメジャーアップデートがあります)、3番目のメンテナンスビルド(バージョン2.1.0.Xがリリースされてから3つのパッチ)、およびビルド089(重要性なし)です。ビルド/パッチに対して、一意のバージョンID /番号を指定する追加のメタデータと考えることができます)。
ソフトウェアのバージョニングに関するウィキペディアの記事は興味深い読み物です。MMMBスタイルを指定する理由は、アプリケーション開発中にVisualStudioで一般的に使用されるためです。
ただし、場合によっては、最後の番号(ビルド)が省略されます。エンドユーザーの場合、これが必要になることはめったにありません。これは主に開発目的のみです。
パッチは通常、重大なエラー、問題、またはセキュリティの問題を修正するためにプッシュされるものです。アップデートやリリースは、おそらくソフトウェアの追加機能や機能に沿ったものです。
一般的に受け入れられている定義は、パッチがバグを修正し、アップグレードが新機能を導入するというものですが、「標準の定義」はないと思います。
それは、私や他の誰かがそれをどのように定義するかではなく、あなたの仕様を書いた人々がパッチとアップグレードをどのように定義したかに本当に依存します。
私にとって最大のことは、問題を引き起こすものです。
パッチは通常、問題を修正するためのものであるため、ユーザーから要求されます。
アップグレードは通常、新しい機能を追加することであり、ユーザーによって推進されることもありますが、多くの場合、内部で開始されます。
仕様でパッチまたはアップグレードが定義されていない場合は、好きなところに線を引くことができます (そして、うまくいくと思います)。ガイダンスのために仕様作成者に戻りたくない場合は、「バグ修正」と「新機能」の間に線を引きます。
また、多くのマーケティングが関与しています。
更新にお金を払うかもしれませんが、パッチにお金を払うつもりはありません (OSX ユーザーのことを考えています)。