この記事について
- 今回、はじめてOSSコントリビュートをしたので、実施事項と気づきを記載します
- OSSのコントリビュートを考えている方のご参考になれば幸いです
- 今回コントリビュートしたのはこちらのリポジトリです
なぜコントリビュートしようと思ったのか
私の場合は、2020年に現職でエンジニアになってから「社外の勉強会に登壇する」「OSSコントリビュートする」が密かに描いていた目標でした
私は普段AWS周りの情報収集をする事が多いのですが、たまたま見ていたaws-samples内のリポジトリで、記載を調整した方が良さそうな箇所があり、折角なのでコントリビュートに挑戦してみました
実際にMergeされたPRはこちらです
コントリビュートの第一歩
PR内容を見ると「え、それだけ?」と思う方もいらっしゃるかもしれませんが、私は簡単なドキュメント変更がコントリビュートの第一歩としては丁度良かったです
というのも、コントリビュートの一連の流れをまず学べたからです
コントリビュートの流れ
コントリビュート方法の確認
- コントリビュートを受け付けているようなリポジトリの場合、
CONTRIBUTING.md
が用意されている場合が多いです - 今回の対象リポジトリの場合はこちらの
CONTRIBUTING.md
を確認しながら、後の手順を進めていきます
修正内容の選定
- Issueが上がっている物を修正
- 自分でIssueを立てて修正
- Issueは立てずに修正
等、様々なパターンがあると思いますが、今回は軽微なドキュメント調整のためIssueは立てずに修正する事にしました
リポジトリのforkからpushまで
- まずは対象のリポジトリを個人リポジトリにforkします
- その後forkしたリポジトリをcloneして、committしてpushします
プロジェクトによっては、AWSの認証情報の流出防止としてcommit前にgit-secrets
等のチェックが設定されている場合もあります。
PR作成
- 既存のPRを参考にしながら作成していきます
リポジトリによっては、GitHubActions内でPRのタイトルチェックが用いられている場合があります
タイトルチェックの実装例はこちらです
- 今回作成したPRはこちらです
マージ
- Reviewerのチェック後にMergeされます
コントリビュートすると
- PRを作成した時点で、contributionsの欄にaws-samplesが表示されるようになりました
- また、PR作成の履歴も残りました
まとめ
- 以上が今回経験したOSSコントリビュートの流れでした
- 最初に
CONTRIBUTING.md
と.github
配下のファイル、既存のIssueとPRを確認しておくと、円滑にコントリビュートが行えそうです - 多くのコントリビューターがいるようなリポジトリの場合は、それだけ開発の為のツール(テストやPRのタイトルチェック等)が充実しており、自身で開発を行う際の参考になりそうです
参考文献
Qiita - 2年間OSSにコントリビュートしてみての振り返り
オープンソースにコントリビュートする方法
とほほのライセンス入門