OSSコントリビューターの道
「OSSにコミットしてます」
こんなかっこいい言葉ないですよね。一種のステータスじゃないかと思います。
経験年数信仰が強い業界ですが、OSSコミットの実績で大分市場価値が変わるんじゃないかと思いました。
そこで、スモールステップでもいいから踏み出そう、失敗してもいいじゃないかの精神で挑戦してみました。
コントリビュート先の選定
言語はGoを選びました。こちらの記事を読み、Good First Issueで探し、やはり馴染みというところで、go-swagger を選定しました。
いけそうなIssueがないかと探し、Server hangs given a panic in configure_
というタイトルのIssueを見つけ、これをやってみようと思いました。
コメントに2人ぐらい、「これだれかやってる? 私がやろうと思うんだけど」的なコメントが結構前に付いていましたが、まあ早いもの勝ちでしょぐらいの精神で始めました。一応、プルリクに該当するものがないかを見たりはして大丈夫そうだと確認しました。
リポジトリをフォークして調査開始
動作確認が終わって、いざイシューにあった内容を確認してみました。
ところが、言ってることがさっぱり分からない。問題の再現方法が書いてあるけれどもその通りにならない。
自分が理解できていないせいだろうと思い、2時間程度格闘(コードリーディング)を行いました。
なんとなく言いたいことはわかるんだけど、どうもしっくりこない。
(いや、これ解決後じゃね?)
そんな疑念がよぎりました。
もしこれが解決済みならば
逆にこれが解決済みであるならば、解決したコミットがあるはずです。その内容を確認しようと思いました。
解決するにはこのファイルをいじるはず、ならばこのファイルのHistoryを確認…
Issueは Aug 10, 2018 にオープンしていたので、それよりあとのコミットでそれっぽいのを探しました。
そして、見つけました。
そのコミットでは本イシューを参照していませんでしたが、同様のイシューがオープンしていたようで、そちらを参照していました。ダブりイシューだったわけです。
私のファースト・コントリビューション
このままサヨナラ次のイシューでまた会おう という気持ちもよぎりましたが、一応これも貢献なのだと思い、「このイシューはこっちのコミットで解決済みだと思います」という内容をコメント(機械翻訳コピペ)しました。
1分程度であっさりクローズされました。
というわけで私のファーストOSS貢献はホロ苦となりました。
学んだことはとても大きいと思うので、挑戦を続けたいと思います。