エンタープライズスタイルのCONTRIBUTING.mdガイド
CLA要件、セキュリティポリシー、複数レビュアープロセス、コンプライアンスガイドラインを備えた企業オープンソースプロジェクト向けの正式なCONTRIBUTING.mdを作成。
Templates
詳細な説明
エンタープライズのコントリビューティングガイドライン
企業が支援するオープンソースプロジェクトは、コミュニティプロジェクトとは異なる制約の下で運営されます。法的、セキュリティ、コンプライアンスの要件が貢献プロセスを形成します。
コントリビューターライセンス契約(CLA)
ほとんどのエンタープライズプロジェクトは、貢献を受け入れる前にCLAを要求します:
最初の貢献がマージされる前に、コントリビューターライセンス契約に署名する必要があります。これにより、プロジェクトがあなたの貢献を法的に配布できることが保証されます。
CLA-assistantまたは同様のボットで各PRをチェックして自動化します。
セキュリティポリシー
明確なセキュリティ開示プロセスを含めます:
## セキュリティ
セキュリティの脆弱性について公開issueを開かないでください。
代わりに、security@company.comに以下を含めてメールしてください:
- 脆弱性の説明
- 再現手順
- 影響評価
複数レビュアー要件
エンタープライズプロジェクトは通常、より厳格なレビューを要求します:
- 少なくとも2人のメンテナーが承認する必要がある
- CIパイプラインが通過する必要がある(lint、テスト、ビルド、セキュリティスキャン)
- 新しいコードの最低80%のテストカバレッジ
- 重要な変更に対するアーキテクチャレビュー
コンプライアンス要件
- すべての依存関係はライセンス互換性のためにレビューされる必要がある
- 承認なしにプロプライエタリまたはコピーレフトライセンスのコードは不可
- 依存関係の変更に対するSBOM(ソフトウェア部品表)の更新
- 暗号関連の変更に対する輸出管理コンプライアンス
ブランチ保護
ブランチ保護ルールをドキュメント化:
main: 保護、PRレビュー必須、CI通過必須
release/*: 保護、メンテナー承認必須
リリースプロセス
貢献がPRからリリースにどのように流れるかを説明します。エンタープライズプロジェクトには多くの場合、ステージング環境とリリーストレインがあり、コントリビューターが理解する必要があります。
ユースケース
法的コンプライアンス、セキュリティ標準、品質ゲートを維持しながらコミュニティからの貢献を受け入れる必要がある、内部ツールをオープンソース化する企業。