Hacktoberfestとは
DigitalOceanが運営するOSS(オープンソースソフトウェア)の祭典。
10月の1ヶ月間で行われている、OSSへの貢献を推進するものです。
参加方法は下記のように様々です。
- プルリクを出してプロジェクト改善に貢献する
- 自分のプロジェクトを準備・共有する(Hacktoberfest対象のプロジェクトにする)
- 他の人のメンターになる
- 直接OSSに寄付を行う

ちなみに、プルリクを4つ以上出してそれが承認されると、先着順でオリジナルTシャツがもらえるとのことです。
今回の記事では「プルリクを出してプロジェクト改善に貢献する」方法について詳しく書いていきます。
参加方法・取り組み方
Hactoberfestに参加登録する
Hacktoberfestの公式ページから参加登録します。
2021年だと以下のようなページ。
Start Hackingをクリックして、Github/Gitlabアカウントを使用して登録します。

登録すると、participantとして参加するか、maintainerとして参加するか選択しますが、プルリクを出して貢献する方法のみ考えているのであれば、participantでOKです。
貢献するOSSを探して決める
ここからは、自分が好きなOSSを選んで、プルリクを出して貢献していきます。
ただ、探すのが結構大変です(笑)
好きなプロジェクトを見つけてイシューを出すところから始めてもいいのですが、かなり時間がかかります。

貢献するプロジェクトがHacktoberfestに参加していない場合は、プルリクがApproveされるだけではHacktoberfestでコントリビュートとしてカウントされないので注意してください。タグをつけることでカウントさせる方法もあるみたいなので、各年のHacktoberfestのルールを確認してください。
おすすめの方法
1. label:hacktoberfest
で検索する

2. 自分が対応できる言語で、オープンしているイシューに絞り込む

3. ちょうど良さそうなイシューを見つけたら
まずは自分のローカル環境で立ち上げてみる!

ローカルでうまく立ち上がらなかったり、複雑な設定が必要だったりすることがあります。
そのため、一度ローカル環境で立ち上げて作業可能か確認しておくことをお勧めします。
4. 各プロジェクトのやり方に従って取り組む
- イシューを自分にアサインしてもらうために、イシューにコメントを投げる
- イシューでのやり取りは不要で、まずはプルリクを出す
みたいに、やり方が少し違ったりします。
README見たり、過去の履歴を見て合わせて対応しましょう。
プルリクエストを出す
修正が完了して、プルリクを出せば基本的にはそれでOKです。
コミットメッセージの書き方やマージ先ブランチを指定している場合があるので、確認してください。
その後
ログイン後のHacktoberfestのページにいくと、自分のコントリビュートが一覧化されてます(2021年のページ)。
プルリクがApproveされたら、In Progressステータスに入ります。
そしてそれが承認されるか14日間経ったらCompletedステータスになります。Completedステータスのものが正式なHacktoberfest内でのContributionとしてカウントされる仕組みです。

参加してみた感想
OSSへの敷居が低くなった
今まではOSSに対して敷居を高く感じており、興味はあるけど手は出ない状況でした。
Hacktoberfestというイベントに乗っかることで気軽にOSSの世界に入れたと思います。
色んなコードに触れることができて勉強になる
同じライブラリやフレームワークを使っていたとしても、書き方や使い方はプロジェクトによって結構変わります。新しい方法・仕組みに出会うことができて、勉強になりました。
コードリーディング力が鍛えられる
取り組む場合、必然的に既存のコードを読み解く必要があるので、コードリーディング力は鍛えられるなと思いました。
世界のエンジニアと繋がれる
プルリクを出してApproveされて終わり、ということが多いですが、たまにそれ以外のコミュニケーションも発生します。
「この使い方良さそうだから詳しく教えて」「同じプロジェクトのイシューに取り組んでるんだけど、初心者だからアドバイスしてくれないか」など、実際に経験しました。OSSは世界と繋がってるんだなと実感しました。