V8 コミッターとレビュアーの責任

V8 リポジトリにコミットする際には、以下のガイドラインに従ってください(https://dev.chromium.org/developers/committers-responsibility を参考に改変)。

  1. 変更とレビューを依頼されたパッチに対して適切なレビュアーを見つけてください。
  2. 変更を反映する前と後、IM やメールで連絡が取れるようにしてください。
  3. 変更後、すべてのボットがグリーンになるまで、ウォーターフォール を監視してください。
  4. TBR 変更(レビュー待ち)を反映する際には、コードを変更した人に必ず通知してください。通常はレビューメールを送信するだけです。

簡単に言うと、コードをコミットする最も簡単な方法ではなく、プロジェクトにとって正しいことを行ってください。そして何よりも、最善の判断を下してください。

質問することを恐れないでください。v8-committers メーリングリストに送信されたメッセージをすぐに読むことができる人がいて、助けてくれるでしょう。

複数のレビュアーがいる変更 #

責任と専門分野が複数にわたるため、複数のレビュアーが必要になる場合があるため、多くのレビュアーが参加する変更が時折発生します。

問題は、ガイドラインがないと、これらのレビューで明確な責任が与えられないことです。

変更の唯一のレビュアーである場合、良い仕事をしなければならないことを知っています。他の3人がいる場合、他の誰かがレビューの一部を注意深く確認したに違いないと考えることがあります。場合によっては、すべてのレビュアーがそう考えており、変更が適切にレビューされないことがあります。

他のケースでは、一部のレビュアーがパッチに対して「LGTM」とコメントする一方で、他のレビュアーはまだ変更を期待しています。著者はレビューの状況に混乱し、少なくとも1人のレビュアーがコミット前にさらに変更を期待していたパッチがチェックインされたことがあります。

同時に、レビュープロセスへの多くの人の参加と、何が起こっているかの監視を促進したいと考えています。

そこで、プロセスを明確にするためのガイドラインをいくつか示します。

  1. パッチ作成者が複数のレビュアーを依頼する場合は、レビューリクエストメールで、各レビュアーの責任を明確にする必要があります。たとえば、メールに次のように記述できます。

    - larry: bitmap changes
    - sergey: process hacks
    - everybody else: FYI
    
  2. この場合、マルチプロセス変更についてループに参加するように依頼したため、レビューリストに登録されているかもしれませんが、主要なレビュアーではなく、作成者や他のレビュアーは、すべての差分を詳細にレビューすることを期待していません。

  3. 多くのレビュアーを含むレビューを受け取り、作成者が(1)を実行しなかった場合は、全体を詳細にレビューしたくない場合は、担当する部分を確認してください。

  4. 作成者は、チェックインする前に、レビュアーリストの全員からの承認を待つ必要があります。

  5. 明確なレビュー責任がないレビュー(つまり、ドライブバイレビュー)に参加している人は、非常に迅速に対応し、レビューを遅らせるべきではありません。パッチ作成者は、彼らがそうしている場合、容赦なく彼らに ping を送信しても構いません。

  6. レビューで「FYI」の人であり、実際には詳細に(またはまったく)レビューしていませんが、パッチに問題がない場合は、それを明記してください。「LGTM」ではなく、「ゴム印」や「ACK」と言うことができます。これにより、実際のレビュアーは、あなたが彼らの仕事をしたと信頼しないことを知りますが、パッチの作成者は、あなたからのさらなるフィードバックを待つ必要がないことを知ります。できれば、全員をループ内に保ちつつ、明確な所有権と詳細なレビューを実現できるはずです。気にしない変更をすばやく「ACK」できるため、変更が迅速化される場合もあります。そして、作成者はあなたからのフィードバックを待つ必要がないことを知っています。