Hejdaの見る夢

一人前のエンジニアを目指して頑張ったこととかをつらつら書くブログ

Google 公式ドキュメントにコントリビュートした時のまとめ(Contributor License Agreementの話も)

サマリ

Hacktoberfest 2019 に参加する流れで Google の公式 Repository の 1 個に Pull Request(以下、PR)作ってみようと思いました。

偶然にも修正するべき変更点を見つけることが出来たので、 PR を作り、 Merge されるまでの流れを簡単に記したいと思います。

この流れの中で Contributor License Agreement (以下、 CLA) というものにも出会ったので、記しておきます。

変更点

今回、 PR を出した Repository は GoogleCloudPlatform/nodejs-docs-samples であり、 GCP の公式の Repository になります。

その中で実際に発見し、修正した変更点はとあるディレクトリの中の README の中の リンクが変に切れていた 箇所があったのでそれを修正するものです。

実際の変更点は以下になります

## Run the tests

1. Read and follow the [prerequisites](../../#how-to-run-the-tests).

1. Install dependencies:

        npm install
  • After
## Run the tests

1. Install dependencies:

        npm install

修正自体は簡単なものだったのですが、 PR を作るまでに以下の 2 点を調べます。

  • なぜ、このような(リンク先が無くなる)ことが起きたのか
  • 変更内容が妥当だと思う根拠はなに(どれ)か

これは、 PR を作る際に、根拠として需要になってくるからです。

このリンクが死んだタイミングを調べる

なぜ、このような(リンク先が無くなる)ことが起きたのか変更内容が妥当だと思う根拠はなに(どれ)か についてはだいたい調べは終わりました。

同じようにリンクが出来なくなっている箇所が他に無いか確認する

ここまでで修正する根拠は見つけられましたが、他にも同じような箇所が無いか確認しておきます。

  • 流れ
    1. ブラウザ上で人力で探すのは厳しかったので、 Repository をローカルに clone した後に grep コマンドで探しました。
    2. 結果的には無かったので、変更点は 1 ファイルのみということが分かりました。

PR を作る

順番としては以下のようにやりました

  1. オリジナルの Repository (GoogleCloudPlatform/nodejs-docs-samples)を自分のところに Fork する(iganari/nodejs-docs-samples)。
  2. Fork した Repository にて feature ブランチを作り、そこで修正する。
  3. オリジナルの Repository に対して PR を作成する。

PR 作成まで、問題無く進みました!

Contributor License Agreement (CLA) に署名する必要がある

PR 作成直後

PR を作ったすぐ後は、以下のようになります。

f:id:nari_kyu:20191104060937p:plain f:id:nari_kyu:20191104060956p:plain

これは Google Open Source Project に指定されている Repository に コミットする場合(正確には commit した時のメールアドレスを確認している)に、署名が必ず必要だからです。

内容的にはソフトウェアに対しての権利関係の同意書になります。

詳しくは下記を参照して下さい。

CLA に署名していく

googlebot から促されたリンクをクリックし、 CLA に署名をする流れです。

f:id:nari_kyu:20191104061105p:plain

  • 実際にコントリビュートする際に、またその後に関しても重要なので、ちゃんと目を通しましょう。

f:id:nari_kyu:20191104061122p:plain

  • 同意であれば、必要事項記入に進みます。

f:id:nari_kyu:20191104061147p:plain

  • 必要な項目を埋めましょう。

f:id:nari_kyu:20191104061205p:plain

  • 正常に記入が完了すれば、以下のようになります。

f:id:nari_kyu:20191104061216p:plain

googlebot に伝える

  • PR の中にコメントがあるように、 googlebot に対して CLA にサインした旨を伝えます。

f:id:nari_kyu:20191104061227p:plain

その後はレビュアーが確認するフェーズになりますので、こちらは待ちのステータスになります。

残タスク

残タスクとしてレビュアーが確認した際に、過不足や的はずれな修正内容だと、指摘が入るかもしれません。

定期的に確認したほうがいいかと思います。

結果と感想

PR 作成から 3 日後にレビュアーの確認が始まり、次の日には Merge されていました。

幸いにも指摘のやりとりが発生するような大きな修正では無かったし、ちゃんと根拠も記載したのが良かったのかもしれません。

今回の経験で、公式ドキュメントでもちゃんとやり方を守れば、自分でも修正出来るという経験を得られたのは大きかったと思います。

これからもいろんなことに臆せず挑戦していこうと思います!!