(翻訳)OpenCVへ貢献するには

11 7月 2013 Under: misc

opencv.org の “How to contribute” の翻訳をしました。意訳が多いですが「OpenCVにコードを寄贈するのって具体的にはどういう方法でやるんだろう?」という人のためになればと思います。

OpenCVへ貢献するには

http://opencv.org/contribute.html は読んでくれていると思います.そして今まさに熱心なコーダーとしてコードを寄贈したいと思っているとしましょう.そのために(そしてみんなの生活をシンプルにするために!)OpenCVプロジェクトはGitHubにミラーを用意しています.全てのバグフィックス,新機能,新しいチュートリアルなどは GitHub の pull request のメカニズムを通じて送信してください.
pull request に習熟してなくても大丈夫.とてもシンプルです.読み続けてください.

コード寄贈のための “Fork & Pull Request Model”

  1. Git をインストールしてください
  2. GitHub にユーザー登録をしてください.そしてあなたの OpenCV の fork を作ってくださいhttps://github.com/Itseez/opencv (詳しくは https://help.github.com/articles/fork-a-repo を参照).
  3. あなたのタスクを選びましょう.バグ修正でも良いし,新しいコードでも良いです.
  4. あなたの作業のベースとなるブランチを選びます.2つの選択肢があります.
    1. 2.4 ブランチ : このブランチはバージョン2.4系の将来的なマイナーリリースになります.このブランチで発生しているバグ修正を行うとき,あるいはこのブランチに関連するパフォーマンス最適化を行う時に選んでください.2.4系は機能的に凍結されています(feature-frozen).新機能は承認されません.
    2. master ブランチ : このブランチは OpenCV の次のメジャーリリースに使用されます(仮に 3.0 としておきましょう).新しい機能を追加する時や2.4系に適用されないバグ修正・最適化を行う時に選択してください.
  5. 選択したベースブランチから(意味の通る名前で)新しいブランチを作ります.
  6. コードスタイルガイドに従ってコードの修正・追加を行います.
  7. 作業が終わったらあなたのブランチを GitHub 上のあなたの fork に push します.そしてあなたのブランチからベースブランチへの pull request を作ります(詳しくは https://help.github.com/articles/using-pull-requests を参照).

良い pull request を作るには

以下のガイドラインに従えばあなたの pull request が承認される尤度が高まります.

  1. PRをひとつの課題に絞ってください.送信する前にコード差分が関係ない変更を含んでいないことを確認してください.二つ以上の課題を反映してもらいたい場合,それぞれの変更を分割して課題ごとに pull request を送信してください.
  2. 機能を追加した場合,関係するドキュメントの追加・修正およびテストスイートへのテストの追加をする必要があります.
  3. 「おっとっと」なコミット(直前のコミットの単なる修正のようなコミット)を含めないようにしてください.そういうものがある場合は送信する前にそれらの修正が関係するひとつのコミットに属するように squash を行ってください.
  4. 正しいベースブランチを選択している事,スタイルガイドに従っていることを確認してください.

テストと pull request のマージ

  1. あなたの pull request は OpenCV のビルドボットによって自動的にテストされます(テスト状況は here: http://pullrequest.opencv.org でチェックできます).もしいずれかのビルドが失敗した場合はあなたは課題を修正しなければいけません.コードを修正して github であなたのブランチに push したらビルドボットは自動的に再開します.pull request をクローズして新しいものをオープンする必要はありません!ありません!
  2. すべてのビルドが「green」になったら OpenCV 開発者の誰かがあなたのコードをレビューします.レビュワーはあなたの pull request の修正を求める事があります.迅速にレビュワーへの返信を行ってください(数週間くらいで.数ヶ月ってのはやめて),そうしないとあなたの送信は後回しにされるか,あるいは却下されることもあります.

上記のプロセスのフローチャートを示します.

OpenCVのpull requestのフローチャート

めでたしめでたし

  1. あなたのコードのレビューが通りビルドボットにも合格するとすぐに特別なコメント “:+1:” か “:shipit:” がつきます.これは OpenCV のメンテナがあなたの pull request をマージできることを通知するものです.
  2. 最後だけれど重要な事..私たちは全ての貢献者を記憶し,主要な人達を ChangeLog とリリースアナウンスにリストするように努めています.しかし不幸な事にそれを忘れてしまう事もあります.どうか遠慮せずに私たちに知らせてください.そうしてくれれば私たちはすぐに opencv.org と ChengeLog を更新します。

“(翻訳)OpenCVへ貢献するには” への1件のコメント

  1. Rhoda Fulton より:

    opencv.org の “ How to contribute ” の翻訳をしました。意訳が多いですが「OpenCVにコードを寄贈するのって具体的にはどういう方法でやるんだろう?」という人のためになればと思います。

Rhoda Fulton への返信