Mozilla への CVS 書き込み権限を得る

このドキュメントは CVS 書き込み権限を得るために必要なステップについて記述します。 このドキュメントはすべての潜在的な貢献者 に当てはまります。

実務 Logistics

急いでそうするには、ここに CVS コミット権限を得るために必要な ステップのリストがあります。 説明は、後述の"どうやって、そしてなぜ"セクションにあります。

  1. (訳注:Bugzilla に)(当然ですが)バグを申し立ててください。 Product: mozilla.org ; Component: CVS Account Request とし、 デフォルトの Assignee や デフォルトの QA Contact は変更しないで下さい。 summary で CVS アカウントの作成について触れられていれば、助かります。 それが適切なら、上司を cc に加えてください。
  2. あなたに保証人がいるなら、バグでその人が保証している旨コメントを 加えてくれるよう、その人に頼んでください。
  3. 以下に述べるように、スーパーレビューワの認定(approval)が必要かどうか決定してください。
  4. もし、必要なければ、バグの中に、なぜスーパーレビューワの認定が必要ないのかを記述してください。
  5. もし、必要ならば、適切なスーパーレビューワに認定与えてくれるときはバグにそう記述するように お願いしてください。
  6. Contribution Form(貢献フォーム)の全ての欄を記入し、フォームで指定された場所にFAXで送信してください。
  7. フォームを送信した、という記述でバグをアップデートしてください。
  8. 適切な mozilla.org スタッフのメンバーが、送信されたフォームを受け取った かどうかを示すためにバグでアップデートするでしょう。
  9. バグの中に必要な情報がすべて揃ったら、バグをアップデートしてください。 これによって、 Bugzilla は、 CVS アカウントの世話をする幸運な mozilla.org スタッフ メンバーにメールを発送することが出来ます。
  10. mozilla.org のスタッフメンバーが記録されている必要な情報をダブルチェックし、 情報が揃っていれば、アカウントを作成します。
  11. mozilla.org スタッフメンバーは、アカウントが作成された旨バグを記述する更新をし、 バグをクローズ(close)します。

どのように、そして、なぜ

CVS 書き込み権限を得るためには、あなたが何をやっているかをあなたが知っていることを 証明することが、基本的には必要です。 なんと! あなたが証明しなければならないのは、以下のようなものです。 作業しているコードや、あなたの作業で影響を受けるかもしれない他の Mozilla コードに関する能力、 mozilla.org のチェックイン、ビルド、および他のプロセス (例えば、フック状態(訳注:チェックイン直後でbonsaiでのツリー監視が義務づけられている状態のようなもの)で、 ビルドをウォッチする)に関する能力、 そして、基本的で質の高いコーディングの経験です あなたが高いビルでもひとっ飛びできるのなら(訳注:あなたがスーパーマンなら)、それは助けになるでしょう。 私たちは、対等者レビューによって、コードレビューによって、私たちの特殊な X線画面によってそれを判断します。

どの場合でも、あなたは、何が起こっているかを知っていることを証明し あなたの力量を保証する人を探さなければならず、 CVS 貢献者フォーム (CVS Contributor Form)を完全に記入し、サインする必要があります。 いくつかのケースでは、追加の段階が必要です。

パッチ

よいパッチを投稿して、モジュールオーナと他の適切な人たちから レビューを受けて、 CVS アクセス権限を得るプロセスを始めよう。 以下の基準を明らかにしたパッチを提出したとあなたが考えたとき、 “保証人”を捜してください。

保証人とスーパーレビューワ

保証人は、すでに CVS コミットアクセス権を持っていて、 あなたにとって、あなたのチェックインと連想されることを十分に 確信する人です。 典型的には、あなたの保証人はあなたがパッチを投稿したパッチに対する モジュールオーナでしょう。 あなたの保証人は、あなたがツリーを壊して逃げてしまう、 という不幸な事態であなたが破産状態になった時に、責任を負います。 あなたの保証人は、あなたに知識があり、ルールに従う、という事を確認する責任があります。 保証というのは、大きな責任です。ですので、慎慮ののちにのみ、この確約をするでしょう。 あなたの保証人は、あなたが自分がなにをしようとしているか、あなたの作業によって (あるとしても)まれにしかツリーを壊さないという確証を示すように望むでしょう。

あるケースでは、保証人による認定は CVS 書き込み権限のための推薦のように 働きます。 そして、推薦は“スーパーレビューワ”として知られる 他の人の認定を受けることが必要です。 ほかのケースでは、保証人の認定だけあれば充分です。保証人が本質的に スーパーレビューワと同等の役割を果たす場合です。

この二つのプロセスの間の境界線は、とてもシンプルです。 もし、あなたが作業しているエリアのコードのチェックにスーパーレビューが必要ならば、 CVS 書き込み権限を収得するのにもスーパーレビューワの保証が必要です。 スーパーレビューを必要とするコードの内容は、ここで 見られます。 私たちは、あなたの保証人がスーパーレビューが必要かどうかをあなたに 伝えることができるであろうことを望みます(!)

Le Form

あなたのアカウントをセットアップするために、 CVS Contributor Form を記入し、送信する必要があるでしょう。 フォームにサインすることは、あなたが私たちの法的要求を理解し、承認したことを 示すことです。 これらのルールを破ることは、 mozilla.org に法的問題を起こし、 私たちにあなたの CVS 権限を破棄することを強いるでしょう。 なにか質問があれば、わたしたちに質問してください。

  • アメリカ合衆国の暗号輸出規制緩和の結果、 私たちは現在、暗号化のソースコードと暗号化アプリケーションのインタフェースに関する貢献 を受け取る事ができます。 しかし、いくつかの制限事項はいまだに適用されますので、 何か新しいものをチェックインする準備の前に、 netscape.public.mozilla.crypto ニュースグループの皆さんにどうか相談してください。 (Mozilla と暗号のサポートに関する詳細な情報については、 Mozilla Crypto FAQ を参照してください)
  • 新しいソースコードはすべて MPL/LGPL/GPL のトリプルライセンスもしくは他の mozilla.org で 認定されたライセンス(mozilla.org ライセンス方針 を参照のこと)を使ったライセンスヘッダを含む必要があります。 ライセンスによって要求される法的通知を提供しなくてはりません。
  • あなたがチェックインしたコードはあなたに属していなければなりません。 でなければ、そのそのコードに対してあなたは出版の類とライセンスを与えるすべての 権利を持っている必要があります。
  • あなたの CVS アカウントはあなただけのものです。 他の人には使わせないで下さい。 もし、他の誰かのパッチをあなたがチェックインするとき、 CVS ログの中にパッチがその第三者に帰することを記してください。

スーパーレビューワ・プロセス

もし、スーパーレビューが必要なら、 最低3人の"スーパーレビューワ"(少なくとも一人は、 CVS 権限を求めている人と同じ事業体に勤務している人ではない必要があります) が、文書で承認しなければなりません。 推薦を承認するために、レビューワは推薦された人のコードとコーディング手腕について、 十分な直接の知識を持っている必要があります。 認定は、伝聞知識に基づいてはなりません。 コードに不適当なところがないことを明らかにするだけでは多分不十分です。 推薦された人のコードは、その人が複雑な問題(例えば、 IDL インタフェースや XPCOM 参照管理)に出くわし、うまくハンドリングしたことを明らかにする義務があります。 現在の所、この条件を満たすには、かなり大きなパッチでも3〜4個以下では充分ではないと考えられています。

あなたが提出したパッチが適切な基準にあったと考えたとき、 あなたは(例示のパッチを含んでいるバグへのリンクを伴った) E-mail を あなたがレビーワや保証者になるべきと考える人たちに送るでしょう。 一人の人が保証者とスーパーレビューワの両方になることもあります。 適切なレビューワとあなたが触れたコードのモジュールオーナーを選んでください。 もし、それがまとめてあなたの必要な三人にならなかった場合、 brendan@mozilla.org と、 scc@mozilla.org のいずれかまたは両方を入れてください。 これのプロセスは、時間がかかります。そのため、新しい参加者は “認定されるべきだろうけど、私には十分な情報がまだない”と返答されてしまう 期間を見込んでおく必要があります。 よいパッチを提供しつづければ、この期間は過ぎます。

この全体のプロセスは Mozilla への CVS 書き込み権限を得たい誰にでも 当てはまります。

スーパーレビュー内容

CVS 書き込みアクセスのリクエストを承認するかどうか決める中で、 レビューワは以下のことを含んだ(しかし、以下のことに限ったわけではない) 手腕に評価を下すでしょう。

  • Mozilla アーキテクチャを理解していることの証明
    • nsCOMPtr を適切に使うこと
    • XPCOM を適切に使うこと
    • XPIDL を適切に使うこと
    • 拡張性とモジュール性の重視
    • 依存性の最小化
    • 適切な標準に従うこと
  • Mozilla のスタイルに従うこと
    • 一貫性のあるフォーマットを使うこと
    • IDL メソッドと属性の interCaps を使うこと
    • public/src/の使い分けについて見識を立証すること
  • 変更の影響の連鎖への正しい認識を立証すること (例:RDF の中の変更が mailnews に与える影響、 XPCOM の中の変更が地球の反対側に ハリケーンを起こす可能性)
  • Best Coding Practices in Mozilla の反映

あなたのアカウントに関する問題

  • rheeet を聞く必要がある?(訳注:楽屋落ちのジョーク、映画「ウェインズ・ワールド」が元ネタらしい)
  • もし、誰かがあなたのアカウントを使っているのを発見したら、 product は "mozilla.org" で、 component は "CVS Account Request" でバグを 報告することで私たちに問題を知らせてください。

連絡先:Mitchell Baker