ownCloud コントリビューションガイド
ownCloudへの貢献方法:ガイダンスとサポート。
貢献方法、ライセンス、DCO署名についてのガイドで、ownCloudへの貢献方法を学びましょう。
誰が貢献できるか
ownCloudの改善にご協力いただける方は、開発者、ドキュメント作成者、デザイナー、翻訳者、テスターなど、どなたでも歓迎します。タイプミスの修正からWeb拡張機能の構築まで、このガイドでは貢献方法を説明します。
ライセンス
新規プロジェクトの対象ライセンス:Apache License 2.0
ownCloudは、OSPO配下の新しいリポジトリやコンポーネントのデフォルトライセンスとしてApache 2.0へ移行中です。Apache 2.0は、寛容で理解しやすく、多くのエンタープライズや公共調達要件と互換性があり、オープンソースエコシステム全体で広く採用されています。
既存のリポジトリは、移行期間中は現行ライセンスを維持する場合があります:
| リポジトリ / コンポーネント | 現行ライセンス | 移行計画 |
|---|---|---|
| oCIS | Apache 2.0 | すでに対象ライセンスに移行済み |
| Desktop Client | GPL v2 | 評価中 |
| Android Client | GPL v2 | 評価中 |
| iOS Client | GPL v3 | 評価中 |
| ownCloud Server | AGPLv3 | サポート終了予定;ライセンス変更なし |
既存リポジトリのライセンス変更については、事前通知とコミュニティ協議を経てお知らせします。すでにリリース済みのコードに対して遡及的にライセンスを変更することはありません。
CLA不要 – DCOを採用
ownCloudでは、コントリビューターライセンス契約(CLA)は不要です。以前は、著作権をownCloud GmbHに完全譲渡するCLAを使用していましたが、この運用は廃止されました。Apache 2.0ライセンスのコンポーネントへの新規貢献には、もはや必要ありません。
代わりに、Developer Certificate of Origin(DCO)を採用しています。DCOは、プロジェクトのライセンスの下でコードを提出する権利があることを、コミットごとに簡易的に証明するものです。著作権はownCloud GmbHに譲渡されません。Apache 2.0ライセンスの範囲内で、貢献者が自身の貢献の権利を保持します。
コミットに署名するには、Signed-off-by行を追加してください:
git commit -s -m "Add photo metadata search support"
(PGPが有効になっていることを確認してください:https://docs.github.com/articles/about-gpg)
これにより、以下のような行が追加されます:
Signed-off-by: Your Name <your@email.com>
DCOの本文(developercertificate.orgで閲覧可能)は、以下を確認するものです:
- 自分で貢献を書いた、または提出する権利があること。
- プロジェクトのライセンスの下で提出していること。
- 貢献が公開され、記録が保持されることを理解していること。
以前のCLAに署名済みの方:既存の貢献は有効です。追加対応は不要です。新たな貢献にはDCO署名のみ必要です。
企業として貢献する場合:雇用主の知的財産ポリシーがある場合は、DCOの下で貢献する許可を得てください。多くの組織はオープンソース貢献の包括的なポリシーを持っていますが、そうでない場合もDCOはコミットごとに承認を得やすい仕組みです。
貢献方法
- 取り組む内容を見つける。「good-first-issue」ラベルの付いたリポジトリの課題を参照してください。プロジェクトのロードマップや大規模な取り組みのためのRFCもご確認ください。アイデアがある場合は、事前にIssueを立てて議論しましょう。
- フォークとブランチ作成。該当リポジトリをフォークし、機能ごとにブランチを作成します。ブランチ名は分かりやすく記述してください(例:feat/photo-metadata-search、fix/ocm-federation-timeout、docs/improve-deployment-guide)。
- 開発。リポジトリのコーディング規約(CIで言語ごとのLintルールが適用されます)に従ってください。新機能にはテストを記述し、機能や設定、APIのドキュメントも作成してください。AI支援開発を利用する場合は、AI支援貢献ポリシーに従い、開示・理解・テスト・ドキュメント化を行ってください。
- DCO署名付きでコミット。すべてのコミットにSigned-off-by行が必要です。DCO署名のないコミットはCIチェックでフラグが立ち、マージできません。
- プルリクエストを提出。変更内容・理由・テスト方法を明確に記載してください。関連Issueを参照し、UI変更の場合はスクリーンショットも添付してください。レビューへの対応もお願いします。
- レビューとマージ。メンテナーが正確性、コード品質、テストカバレッジ、ドキュメント、アーキテクチャ適合性を確認します。複数回のやり取りになる場合もありますが、正常なプロセスです。レビューを通過したPRはメンテナーがマージします。
貢献の種類
コードは最も目立つ貢献形態ですが、それだけではありません。当プロジェクトでは以下の貢献も重視し、評価しています:
- ドキュメント:ガイド、APIドキュメント、導入手順、翻訳など。
- テスト:再現手順付きのバグ報告、テストケースの提供、探索的テスト。
- デザイン:UXフィードバック、ワイヤーフレーム、アクセシビリティ改善。
- コミュニティ:フォーラムでの質問対応、新規貢献者のメンタリング、イベントの企画。
- 啓発活動:ブログ投稿、カンファレンス講演、事例紹介。
行動規範
すべての貢献者は、当プロジェクトの行動規範を遵守してください。私たちは、歓迎され、尊重され、包括的な環境づくりに取り組んでいます。
違反や懸念事項はcoc@owncloud.comまでご連絡ください。
コミュニケーションチャネル
- GitHub Issue・PR:技術的な議論の主なチャネルです。
- ドキュメント:doc.owncloud.com
- コミュニティフォーラム:central.owncloud.org
- OSPO連絡先:ospo@kiteworks.com
貢献者への認定
- GitHubの貢献者グラフやリリースノートでの紹介。
- 脆弱性報告者向けのセキュリティ殿堂。
- コミュニティスポットライトやイベント招待。
- 貢献者パスウェイ:積極的な貢献者は、レビュアー、メンテナー、アドバイザリーボードメンバーに招待される場合があります。
よくあるご質問
ownCloudには、開発者、ドキュメント作成者、デザイナー、翻訳者、テスター、そしてプラットフォームの改善に関心のある方なら誰でも貢献できます。貢献内容は、誤字修正からウェブ拡張機能の開発まで多岐にわたります。
ownCloudは、新しいプロジェクトやコンポーネントのデフォルトライセンスとしてApache License 2.0へ移行中です。このライセンスは寛容で広く採用されており、多くのエンタープライズや公共部門の調達要件とも互換性があります。
いいえ、ownCloudではCLAは不要になりました。その代わり、Developer Certificate of Origin(DCO)を採用しており、これはプロジェクトのライセンスのもとでコードを提出する権利があることを、著作権を譲渡することなく、コミットごとに簡易的に証明する仕組みです。
コーディング以外にも、ownCloudへの貢献には、ドキュメント作成(ガイド、APIドキュメント、翻訳)、テスト(バグ報告、テストケース)、デザイン(UXフィードバック、アクセシビリティ改善)、コミュニティサポート(メンタリング、質問への回答)、啓発活動(ブログ投稿、講演)などがあります。