LoginSignup
1
0

dbt-coreにおけるOSS活動ことはじめその6 ~ PRの話 ~

Posted at

本記事が目指すこと

注意

  • 投稿時点(2023/6/30)での情報に基づくため、本記事で紹介した手順が今後も利用できる保証はありません
    • 筆者はこの手順にてPRを立ててマージされましたが、それを保証するものではありません
  • なお、本記事は筆者が所属する会社と関係なく、個人の記事であることをご了承ください

背景

  • 筆者は、ちゅらデータ株式会社に務める会社員であるが、就業時間中に職務としてのdbt-coreのOSS活動を始めた(OSS活動自体が初めての経験)
  • CONTRIBUTING.mdには明示的に記載されてない部分があったため、それらの解決策を提示する

前提

  • 前回の記事で紹介したように、解消したいIssueを見つけた、あるいは自らIssueを立てたとする

本編

PRの立て方

まずは、PR(PullRequest)の立て方について簡単に紹介する。

  1. CONTRIBUTING.mdの上位レベルのドキュメント「Expectations for OSS contributors」に目を通す
  • 特に「Pull requests」の項について目を通すと良い。例えば、全てのPRはIssueに関連づける必要があることが述べられている。ただその例外として、ドキュメントのタイプミスなど、表面的な修正を求めてPRを開いているだけの場合は、Issueを関連づける必要ないことも明記されている
  • また、ここで押さえておくべきポイントとして、ドキュメントには以下の3つが挙げられており、次のように解釈できる
    1. Test
      • PRをOpenにすると、いくつかのテストとコードチェックが実行され、テストに合格する必要がある
        • セキュリティ上の理由から、一部はメンテナの承認が必要な場合がある
        • 失敗したテストとPRをマージすることはない
        • テストが失敗する理由がわからない場合は、コミュニティに相談する
    2. Contributor License Agreement (CLA)
      • CLAに署名する必要がある
        • これにより、オープンソースdbtソフトウェアの著作権やライセンスに対する予期せぬ影響を心配することなく、コードをマージできることが保証される
    3. Changelog
      • Changieを用いて変更ログファイルをコミットする必要がある

2.dbt-labs/dbt-coreのリポジトリをフォークする

3.フォークしたリポジトリに対象コードをコミットする

4.dbt-labs/dbt-coreのmainブランチにマージするPRを作成する

5.PRの説明文を記述する

  • 定められたテンプレートに従い記述する
    • resolves
      • 関連するIssueを記述する
    • Description
      • 簡潔に説明を記述する
    • Checklist
      • チェックリストの内容を確認し、すべて満たせているかをチェックする
        • これが満たせていない場合、テストやレビューがされない

6.PRをOpenにする

  • 1~5の手順に従ってPRを作成しOpenにする

PRを立てた後のコミュニケーション

次に、PRを立てた後のコミュニケーションについて紹介する。
PRを立てた後、数日立つと管理者からレビューが返ってくるのだが、これがいつレビューが返ってくるかの連絡は無いので不安になる。
そんなときには、Expectations for OSS contributorsに書かれた以下の文章を読むことをオススメする。

Sometimes, this can feel like shouting into the void, especially if you aren’t met with an immediate response. We promise that there are dozens (if not hundreds) of folks who will read your comment, maintainers included. It all adds up to a real difference.

要約すると、

虚空に向かって叫ぶように感じることもありますが、あなたのコメントを読む人が数十人 (数百人ではないにしても) いることを約束します

のようにドキュメントに書いてくれているので、「きっと誰かが読んでくれているはず。待ち続けよう」と辛抱強く待つことができた。忠犬ハチ公の気持ちで待つのである。

また、当然ながらコミュニケーションは英語でやりとりするため、英語が苦手な場合は、翻訳ツールを駆使してコミュニケーションを取ると良い。(筆者もそれで乗り切った)

そして何回かやりとりを重ねて、無事マージされると今日からあなたはdbt-coreにおけるOSSコミッターになれる。

追伸
参考までに、筆者がマージされたPRはこちらである。なお、本記事の投稿日(2023/6/30)にマージされた。

マージされたときはたまらなく嬉しかった。ぜひ御仁にも味わっていただきたい

終わりに

ちゅらデータでは、クレイジーな仲間を募集しているでござる
データエンジニア、もしくはSE系からデータエンジニアになりたい方がいればぜひ、御仁の力量に応じたグレード(ジュニア/ミドル/シニア)にて、応募するでござる

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0