プロジェクトフォークとは何ですか?
コンピューティングアプリケーションでは、プロジェクトフォークは、確立されたソフトウェア製品の特定の側面または機能が、元のソフトウェアの焦点ではないアプリケーション向けの新しい製品を作成するための基礎として使用される状況です。 プロジェクトフォークの作成はよくあることであり、オープンソースまたはフリーソフトウェアを使用して行われます。 また、プロプライエタリなソフトウェア製品のある側面を使用して生まれたプロジェクトフォークプロジェクトの例もあります。
ソフトウェアエンジニアリングのプロセスでは、増え続ける消費者のニーズを満たす新しいソフトウェアパッケージが絶えず開発されています。 多くの場合、既存のソフトウェアはこれらの新製品のインスピレーションを提供します。 現在のソフトウェアパッケージの1つまたは2つの機能が、新しい製品の基礎になる場合があります。 このシナリオでは、新しいソフトウェアは既存のソフトウェア製品から「分岐」または分岐したと言われています。 新しいプロジェクトフォークは、借りた機能の魅力を高め、元のソフトウェア製品にはない新しい機能を追加しようとしています。
プロジェクトフォークの作成にオープンソースソフトウェアを使用するのは比較的簡単です。 元の開発者からの許可を確保する必要も、元のソフトウェアの開発者と何らかの形で協力する必要もありません。 ただし、プロジェクトフォークの開発者が元の開発者と対話することは珍しくありません。プロジェクトフォークを一緒に作業することもあります。 ただし、このレベルのコミュニケーションとコラボレーションは完全に自主的なものであり、フリーソフトウェアが関与する場合の要件ではありません。
独自のソフトウェアアプリケーションでは、プロジェクトフォークの作成は通常、元のソフトウェアのライセンスを保持しているエンティティによって行われます。 ただし、独立した開発者が、ブランチまたはフォークの開発でライセンスソフトウェアの使用を制限する契約を結ぶことは可能です。 より一般的には、元のソフトウェアを管理している会社は、社内リソースを使用してプロジェクトフォークを開発し、ライセンスの完全な管理を維持します。 このアプローチは、多くの場合、プロプライエタリソフトウェアの新しい機能豊富なバージョンを開発するとき、または元のソフトウェアで動作するコンパニオンソフトウェアパッケージを作成するときに使用されます。
プロジェクトフォークは、最終的に元のソフトウェアを覆い隠し、さらには置き換えるソフトウェアパッケージの開発につながる可能性があります。 また、フォークが開発されて最終的に元のソフトウェアアプリケーションに戻され、新しい改良バージョンとして販売される場合もあります。