トコロテンの日記

自分の活動内容や普段考えていることをアウトプットするためのブログです。ITに関わる話がメインであり、開発、競技プログラミング、気に入った技術などの話が多くなります。

GitHubのリポジトリに初めてプルリクが来た話

こんにちは。トコロテンです。

以前、Nintendo SwitchJoy-ConPythonで使えるようにドライバを書きました。 これをGitHubで公開していたところ人生で初めてのプルリクを頂いて興奮したという話です。

以下がそのリポジトリです。

github.com

初めてのプルリク

経緯

このプルリクを送ってくれた方は、Contributorsにもある通り、atsukobaさんという方です。初めてのプルリクを見ると私が以前書いたQiitaの記事を読んで開発に参加してくださったようです。今では記事を投稿して本当によかったと思います。

f:id:tokoroten_lab:20200129001434p:plain
初めてのプルリク

プルリクの内容

初めてのプルリクは、私が書いたプログラムのリファクタリング(PEP8対応等)やパッケージングするために必要な変更が主な内容でした。 自分でPythonのプログラムをしっかりとパッケージングしたことがなかったため、コミットの差分を見るだけで面白かったです。 どのようにすればパッケージングができるのかなんとなくわかり、その後は自分で調べたりもしました。

コードレビュー

プルリクが来るとコミットの差分を閲覧しながら、コードレビューを行うことができるようになります。 コードレビューの画面では、コードの行単位でコメントをつけることができます。 以下は、コードレビュー の画面で実際に私がつけたコメントです。

f:id:tokoroten_lab:20200129001252p:plain
初めてのコードレビュー

おそらく、setup.pyのテンプレートなるものがあり、その情報を編集せずにコミットしたのだと思われます。(この記事が元だと思われる)

初めてのコードレビューでコードに間違いがあってかつそれを指摘することができたのは運が良かったと思います。

コードレビューで指摘した点を直してもらい、その後マージするとcontributorsにatsukobaさんが追加されました。こうして私の初めてのプルリク対応が無事終わりました。

嬉しかったこと

まず、自分が作ったプログラムに他人が興味を持ってくれて、実際に開発に参加してくれるといったことが堪らなく嬉しかったです。

そして、自分の作ったプログラムが勝手に進化していくという点が見ていて本当に楽しいです。 初めてのプルリクの後にもさらにプルリクが来ました。 そこでは、READMEも書いていただいた上になんとこのパッケージのロゴを作って提供してくださいました。 このロゴを見たときには本当にかっこよくて興奮しました。 以下がそのロゴ画像です。

https://i.gyazo.com/af04cc6000f2815ebc00d4dcf06b1eb9.png

また、パッケージをPyPIで公開しようといった旨のissueも立ち、実際に登録しました。 以下がプロジェクトのページです。

pypi.org

今では、pip install joycon-pythonとタイプするだけで私たちが作成したパッケージをインストールすることができます。

ここまで来ると私も少し世界に貢献できたのではないかと思えるようになりました。 自分のために作って自分しか使っていなかったものが認められて誰かのために役立つ、こんなに嬉しいことは無いと思います。 こんなにもワクワクしたのは久しぶりでした。 最近はしっかりとしたGitの使い方を学んだり、OSSに興味を持ったりするようになりました。