フリーおよびオープンソース ソフトウェア (FOSS)開発コミュニティでは、フォージは、コンピューター アプリケーションの開発と共有の両方を行う Web ベースの共同ソフトウェアプラットフォームです。
ソフトウェア開発者にとって、これは同僚との作業やコミュニケーションに必要なツールをホストするオンライン サービスです。変更を提案したり、議論に参加したりするためのワークフローを提供します。目標は、これらの変更をソフトウェア リポジトリにマージできるように合意に達することです。
ユーザーにとって、フォージはコンピュータ アプリケーションのリポジトリであり、バグを報告できる場所であり、セキュリティの問題を通知するチャネルなどです。
ソースコード自体はリビジョン管理システムに保存され、コードレビュー、バグデータベース、継続的インテグレーションなどの幅広いサービスにリンクされています。開発コミュニティがフォークすると、フォージのコンテンツが複製され、許可を求めることなく変更できるようになります。コミュニティは、複数のフォージに分散したサービスに依存する場合があります。これらのサービスは、必ずしも同じドメインでホストされているわけではありません。
歴史
forgeという用語は、 2001年のSourceForgeの例に倣って作成されたさまざまなプラットフォームで採用された共通の接頭辞または接尾辞を指します。 [1]この単語の使用法は、金属部品を成形するために使用される金属加工のforgeに由来しています。
2023年、最も広く使用されている2つの共同開発プラットフォームは、フォージとして宣伝されていません。GitHubのキャッチフレーズ[2]は、「安全なソフトウェアを構築、拡張、提供するための完全な開発者プラットフォーム」です。GitLabのキャッチフレーズ[3]は、「最も包括的なAI搭載DevSecOpsプラットフォーム」です。これらはフォージを構成するすべての技術的側面を共有していますが、ドキュメントやマーケティング資料ではフォージという用語は使用されていません。
ただし、FOSS 開発コミュニティでは、2001 年に最初の SourceForge フォークが開始されて以来、forgeという用語は依然としてオンライン共同ソフトウェアプラットフォームを指すためによく使用されています。
開発者向けの同様のオンラインサービス
一部のオンライン サービスは、フォージの重要な側面の一部を共有しているにもかかわらず、フォージとしての要件を満たしていません。たとえば、Gerritなどのスタンドアロン コード レビュー サービスは、統合コード レビューが欠如しているフォージに統合されることがありますが、エンド ユーザーにソフトウェアを配布するために使用することはできません。
同様に、 Trac、Redmine、OpenProjectなどのプロジェクト管理や問題追跡に重点を置くオンライン サービスでは、ソフトウェア開発者が提案する変更について話し合い、その結果をソフトウェア リポジトリにマージするためのワークフローは提供されません。これらのサービスには、含まれるコードの視覚化と引用のために、さまざまなバージョン管理システムとの限定的な統合が含まれる場合がありますが、それだけでは開発者が使用できるワークフローというよりも機能です。
テクノロジー
フォージという用語では、一般的に 2 つの異なる種類の概念が言及されます。
- ソフトウェア開発プロジェクトをホストするために Web プラットフォーム上で提供されるサービス。
- すぐに展開できるプラットフォームを作成するソフトウェア要素の統合セット。
これらすべてのプラットフォームは、ホストされたプロジェクトで作業するソフトウェア開発者に役立つ同様のツールを提供します。
他にも以下のような機能を提供するものもあります:
相互運用性
APIとウェブフック
ウェブユーザーインターフェースに加えて、フォージでは他の製品との相互運用性を実現するために、ドキュメント付きのREST API ( GitHub、[4] GitLab、[5] Gitea、[6]など)を提供するのが一般的です。フォージユーザーは、ソフトウェアプロジェクトでイベントが発生したときにサードパーティのオンラインサービスに通知するためのウェブフックをインストールすることもできます(たとえば、新しい問題が作成されたときにウェブフックを呼び出すことができます[7])。
フェデレーション
フェデレーションと関連プロトコルActivityPub(2018 年に導入)により、フォージはアクティビティ(たとえば、問題が作成されたとき[8]やコミットがプッシュされたとき[9])について相互に通信できるようになります。ネイティブ フェデレーションのサポートはときどき議論されていますが[10]、進行中です[11]が、まだ利用できません。このギャップを埋めるために、pagure フォージ用のプラグイン[12]や ActivityPub をサポートし、それを指定されたフォージへのREST API呼び出しに変換するプロキシなどのサードパーティ プロジェクトが登場しました。[13]
認証
すべてのフォージでアプリケーションやユーザーが認証できるSSOは存在しません。その代わりに、フォージは複数の認証プロバイダーをサポートするのが一般的です。ユーザーがすでにアカウントを持っている場合は、それを使用してフォージで認証でき、新しいアカウントを作成する必要はありません(たとえば、 GitLabはGitHub [14]などのOAuth2プロバイダーをサポートしています)。一部のフォージは認証プロバイダーとして機能できます(たとえば、GiteaはGitLab [16]だけでなくOAuth2プロバイダーです)。
統合
複数のオンラインサービスを利用する際のユーザーとシステム管理者のエクスペリエンスを向上させるために、一部のフォージはオンラインチャットなどの一般的なサードパーティ製ソフトウェアやサービスと統合されています(たとえば、mattermostにはGitHub用のプラグイン[17]があり、GitLab [18]によってネイティブにサポートされています)。
例
フリーソフトウェア
- アルーラ
- フォルジェホ[19]
- フュージョンフォージ
- ギテア
- GitBucket (GitHub 互換)
- カリテア
- ランチパッドスイート[20]
- ソースハット[21]
- トゥリープ
フリーミアムソフトウェア
- GitLab [22]
- GForge アドバンスドサーバー
- ソースハット[21]
無料のオンラインサービス
フリーミアムオンラインサービス
販売中止ソフトウェア
- ファブリケーター[26]
- Savane (ソフトウェア)
- GForge Community Edition (最終リリース 2010 年 4 月 23 日) 。2018 年 10 月 1 日に最初にリリースされた独自のGForgeと混同しないでください。
廃止されたオンラインサービス
- BerliOS(2014年に解散し、一部のプロジェクトはJoinupコラボレーションプラットフォームに移行しました。)
- CodePlex (2017 年 12 月 15 日に閉鎖)
- Gitorious (非推奨、GitLab に置き換えられました)
- Gna.org [27]
- Googleコード
- オープンソース支援技術ソフトウェア (OATS)
- プロジェクト Kenai ( Sun Microsystemsによって作成されたが、Oracle によって停止された)
- Tigris.org(2020年7月1日に閉鎖)[28]
参照
- 共同開発環境(CDE)
- プロジェクト管理ソフトウェア(PMS)
- ソフトウェアプロジェクト管理
- ソースコードホスティング施設の比較
- フリーソフトウェアプロジェクトディレクトリのリスト
- アプリケーションライフサイクル管理(ALM)
参考文献
- ^ Maguire, James (2007 年 10 月 17 日). 「The SourceForge Story」. 2011 年 7 月 16 日時点のオリジナルよりアーカイブ。2012 年4 月 12 日閲覧。
- ^ 「一緒にソフトウェアをより良く構築する」。GitHub 。 2023年11月22日閲覧。
- ^ 「DevSecOps プラットフォーム」。about.gitlab.com。2023年 11 月 22 日閲覧。
- ^ 「GitHub REST API」 。 2021年8月31日閲覧。
- ^ 「GitLab REST API」 。 2021年8月31日閲覧。
- ^ 「Gitea REST API」 。 2021年8月31日閲覧。
- ^ 「Gitea webhook」 。 2021年8月31日閲覧。
- ^ 「forgefed問題」 。 2021年8月31日閲覧。
- ^ 「forgefed commit」 . 2021年8月31日閲覧。
- ^ 「Federated GitLab」 。 2021年8月31日閲覧。
- ^ 「Gitea フェデレーションテーマ」。GitHub。2021年8 月 31 日閲覧。
- ^ 「Forgefed pagure plugin」 . 2021年8月31日閲覧。
- ^ 「Fedeproxy forge federation」 。 2021年8月31日閲覧。
- ^ 「GitHub を使用した GitLab サインイン」 。2021年8 月 31 日閲覧。
- ^ 「Gitea OAuth2プロバイダー」 。 2021年8月31日閲覧。
- ^ 「GitLab OAuth2 プロバイダー」 。2021年8 月 31 日閲覧。
- ^ 「GitHub Mattermostプラグイン」。GitHub 。 2021年8月31日閲覧。
- ^ 「GitLab Mattermost」 。 2021年8月31日閲覧。
- ^ 「Forgejo - コーディングを超えて、私たちはフォージします」。Forgejo . 2022-12-15。
- ^ 「Launchpad の Launchpad Suite」。launchpad.net。
- ^ ab 「sourcehut - the hacker's forge」. sourcehut.org . 2021-03-31.
- ^ 「製品」. GitLab .
- ^ 「GitLab の価格」。GitLab。
- ^ 「すべての開発者向けの価格設定・プラン」。GitHub。
- ^ 「Bitbucket の価格」。Atlassian。
- ^ 「Phacility が事業を縮小中」。
- ^ “Gnaの終焉?”. 2016年11月20日. 2017年5月5日時点のオリジナルよりアーカイブ。2017年9月13日閲覧。
- ^ “Tigris.org: 2020年7月1日に閉鎖”. 2020年6月30日時点のオリジナルよりアーカイブ。2022年3月2日閲覧。
