GitLab におけるオープンソース
私たちはオープンソースを信じています
企業として、GitLab はオープンソースに取り組んでいます。単に信じているだけでなく、実際に使用し、還元しています。GitLab を通じてだけでなく、他のオープンソースプロジェクトへの貢献を通じても。
このページの目的は、GitLab 社員が以下のことを行う方法を文書化することです:
- GitLab の代表としてオープンソースプロジェクトを作成する
- GitLab の代表としてサードパーティのオープンソースプロジェクトに貢献する
- GitLab のプロジェクトでサードパーティのオープンソースコードを使用する
成長戦略
オープンソースプロジェクトとして、私たちはコミュニティの 10 倍の成長にも対応できる健全でオープンな体制を維持したいと考えています。そのために、複数の部門間のコラボレーションである戦略の概要を策定しています。
一般的な注意事項
オープンソースプロジェクトの作成
手順については、新しいプロジェクトの作成をご覧ください。
GitLab の代表としてサードパーティプロジェクトへの貢献
コントリビューターライセンス契約(CLA)
GitLab の代表としてオープンソースプロジェクトに貢献する場合、CLA を締結する必要があることがあります。
- 承認マトリックスポリシーに従い、GitLab の代表として CLA を締結するには法務の承認が必要です。
- このプロセスの詳細については、法務・会社業務プロダクトハンドブックをご覧ください。
GitHub 上のプロジェクトへの貢献
GitHub アカウントのプライマリメールが @gitlab.com のメールでない場合は、追加のアドレスとして追加できます。別のアカウントを作成する必要はありません。
- 貢献したいリポジトリをご自身のアカウントにフォークする
- 通常のプルリクエストフローに従う。
将来的には、フォーク用の単一の組織を持つ予定です。これにより、GitLab 社員による貢献に関するさまざまなメトリクスを追跡できるようになります。
プロジェクトにライセンスがない場合
GitLab はオープンソースライセンスのプロジェクトへの貢献を許可しています。貢献したいプロジェクトにライセンスがない場合:
- ライセンスが設置されるまで、そのプロジェクトへの貢献を保留する。
- プロジェクトで Issue を作成する(または他の文書化された手段でメンテナーに連絡する)。
- ライセンスのないコードには貢献できないことを理由として、適切なライセンスの追加をプロジェクトに要求する。
- メンテナーへの参考として、同じグループ/組織内の他のプロジェクトで使用されているライセンスを提示することも検討する。
- オープンソースライセンスが追加された場合、そのプロジェクトへの貢献が可能になります。
オープンソースソフトウェアの使用
使用が事前に承認されているライセンスの詳細を含む、オープンソースソフトウェアの使用に関するガイダンスは、法務・会社業務ハンドブックに記載されています。
コードでのフォークの使用
フォークされたコードの使用は避け、変更をアップストリームに貢献するよう努めてください。
フォークがアップストリームリポジトリからどんどん遅れてしまうことは典型的であり、そのような依存関係は痛みの元になります:
- ブランチのリベースが非自明になり、そのような依存関係を最新の状態に保つことが難しくなります。
- プロジェクト内の他のライブラリが元のバージョンに依存していて、ダイヤモンド依存問題が生じることがあります。
フォークを作成する正当な理由がある場合もあります:
- アップストリームで修正が十分に速く行われない場合に、私たちや私たちの顧客に影響するセキュリティ問題を修正するため
- その他の理由? 同僚に相談して最善の判断を使用してください。
フォークを作成することに決めた場合は、以下を含む Issue を必ず作成してください:
- フォークが存在する理由の説明
- フォークが依存関係として導入された MR へのリンク
- アップストリームプロジェクトの関連 Issue へのリンク。まだ報告されていない場合は、プロジェクトの Issue トラッカーに必ず報告してください。プロジェクトのメンテナーが知らない場合、修正されることはないため、これは重要です。
- 問題をアップストリームで修正するために開かれた MR/PR へのリンク
- アップストリームのコードを再び使用するために必要な修正作業の説明
- フォークされたコードの変更だけでなく、フォークを使用するためのコードの変更もある場合は、コメントでその Issue へのリンクと TODO を記載することを検討してください。
GPL 協力コミットメント
詳細については、法務・会社業務プロダクトハンドブックをご覧ください。
bfd74782)