AI支援開発:安心してownCloudに貢献
ownCloudのAI支援による貢献に対する方針をご覧ください。開発者への期待、ガイドライン、レビュー基準についてご案内します。
私たちの立場
ownCloudはAIツールを活用した貢献を歓迎します。
素晴らしいアイデアは、プログラミング経験の有無によって妨げられるべきではないと考えています。ownCloudをより良くしたいというビジョンがあり(新しいWeb拡張機能、より良いワークフロー、明確に説明できる修正など)、AIの力でそのビジョンを実現できるなら、ぜひ貢献してください。
oCIS Web拡張機能向けのAI支援開発に関する詳細ガイドをowncloud.devで公開しています。このガイドでは、AIアシスタントとのアーキテクチャ設計から、リサーチ、スキャフォールディング、実装、仕上げ、そして貢献まで、ワークフロー全体を解説しています。ぜひご活用ください。
私たちが求めること
AI支援による貢献も、他のすべての貢献と同じ品質基準で評価されます。レビューではコードがどのように書かれたかは問いません。重要なのは、コードが正しく動作し、テストされ、ドキュメント化され、保守可能であることです。
AI支援によるプルリクエストには、以下の要件を満たす必要があります:
- 開示。 PRの説明欄にAIツールを使用したことを明記してください。ツール名(例:Claude Code、GitHub Copilot、Cursor)も記載してください。これはスティグマではなく、透明性のためです。私たちは貢献者エコシステムの把握やレビュー工程の改善のためにこれを追跡しています。
- 理解。 コードが何をしているかを理解してください。レビュー担当者から「なぜこの関数はこのようにエラー処理をしているのか?」と聞かれ、「AIが書いたから」と答えるだけでは不十分です。あなたが著者であり、AIはツールです。説明できないコードは提出準備ができていません。
- テスト。 AI生成コードは必ずテストしてください。ロジックにはユニットテスト、UIには手動の探索的テストが必要です。AI開発ガイドでは、ブラウザのDevTools、HARファイル、コンソール出力を活用したデバッグ方法も解説しています。十分なテストカバレッジがないPRは差し戻されます。
- ドキュメント。 コードの動作内容、使い方、必要な設定をドキュメント化してください。新しいAPI、環境変数、拡張ポイントを導入する場合は、それらも必ず記載してください。
- コード品質。 AI生成コードは冗長なロジック、未使用変数、重複スタイル、複雑すぎる条件分岐が増えがちです。提出前にクリーンアップを行い、AIツールにリファクタリングや不要コードの削除、簡素化を依頼してください。CIパイプラインでリントも実施していますので、リントチェックに不合格の場合は差し戻されます。
- ライセンス遵守。 AIツールが非互換ライセンスからコピーしたコードを含んでいないことを確認してください。PR内のすべてのコードの出所はあなたの責任です。
私たちがしないこと
AI支援であることを理由に貢献を拒否することはありません。「シニア開発者」であることも求めません。コードの書き方で門前払いすることもありません。
一方で、レビュー工程に参加できない貢献は受け付けません。メンテナーから修正依頼があっても対応できない場合(コードを理解していない、あるいは既にプロジェクトから離れている等)、PRはクローズされることがあります。これはすべての貢献に適用される共通基準です。
メンテナー・レビュワー向けガイダンス
AI支援による貢献は、より多くのレビュー工数を要する場合があります。構文的には正しくても、構造的に最適でないことがあります。プロジェクトの慣例と異なるパターンや、見慣れない記述が含まれる場合もあります。
レビュワーは以下を心がけてください:
- 他の貢献と同じレビュー基準を適用する。 基準を下げたり上げたりしないでください。
- フィードバックは具体的に。 「これは私たちのパターンに合っていません」よりも、「このモジュールでは継承よりコンポジションを使っています。ExampleComponent.vueを参照してください」といった具体的な指摘が有益です。
- 学習中の貢献者には忍耐強く。 初めてのPRで3回レビューが必要な貢献者が、将来の長期メンテナーになることもあります。それが本来の目的です。
- AI生成コードに他プロジェクトや非互換ライセンスのフレームワークからのコピーが疑われる場合は必ず指摘してください。
自社開発におけるAI活用
ownCloudの社内エンジニアリングチームもAIツールを活用しています。私たち自身も同じ基準を守っています:必要に応じたコミットメッセージでの開示、生成コードの完全な理解、マージごとの人間による責任の明確化です。
責任あるAI支援開発は、品質を損なうことなく貢献のハードルを下げると信じています。それが私たちの目標です。
よくある質問
はい、ownCloudはAIツールの支援を受けて作成された貢献も歓迎しています。優れたアイデアはプログラミング経験の有無で妨げられるべきではないと考えており、貢献者がAIを活用してビジョンを実際のコードに反映することを推奨しています。ただし、これにはガイドラインや要件があります。
AI支援によるプルリクエストには、いくつかの要件があります。PRの説明欄でAIツールの使用を開示すること、貢献者自身がコードを完全に理解していること、十分なテスト(ユニットテストおよび手動テスト)を行うこと、適切なドキュメント作成、高いコード品質、そしてライセンス遵守(互換性のないソースからのコードコピーを避けること)が求められます。
いいえ、ownCloudはAI支援で作成されたという理由だけで貢献を却下することはありません。すべての貢献に同じ基準を適用しており、コードの作成方法によって選別することはありません。
ownCloudはAI支援による貢献にも他の貢献と同じ品質基準を適用しています。レビュアーは一貫した基準でレビューを行い、具体的なフィードバックを提供し、学習中の貢献者にも忍耐強く対応し、コピーされた素材にライセンス上の問題がないかも確認します。