はじめに
気づいたらOSSコントリビューターなるものになっていた。本当に些細なPRがマージされただけであるが。
私の想像するコントリビューターとは、言わば天上人と言うべき存在であった。コンピューターの全てを理解した一部の天才エンジニアがその技術力、知見を余すことなく発揮した作品がOSSであると。そう思っていた。
エンジニア歴1年の新人の私から見ればそのような方たちのコードにケチを付けるような行為など恐れ多いにも程がある。ハンターハンターで言えばネフェルピトー、ワンピースで言えばカイドウに対する圧倒的力の差を感じてしまうものである。
しかし、どうやらOSSにPRを投げる行為はそのようなものでないらしい。
様々な方がOSSへの貢献を推奨している。だがそのような記事を見ても、いやいや自分はまだまだだし、、と億劫になってしまう方も多いでしょう。私もその1人だったので。
私と同じく億劫なエンジニア方に向けてOSSへの貢献を少しでも気楽に行えるためのアドバイスを送る。
対象読者
- OSS貢献に興味があるがしたことがないエンジニア
OSSへの貢献を目的としない
まず最初にこの考え方を意識しておくことが大事だと思う。いきなり概念を覆すような話だが重要である。なぜなら、OSSへの貢献ではなく、OSSをより使いやすくするための1つの方法として貢献があるからである。
私自身、OSSコントリビュートするつもりでいたわけではなかった。たまたまちょっとした間違いを見つけてそれを正しただけである。
間違いを見つけたきっかけはライブラリの挙動を理解したいと思ったから。OSSへの純粋な好奇心を持ったおかげでライブラリを手元で起動した際にコントリビュートの発端となるドキュメントのミスに気づけたのである。
私もかつて何度もライブラリのissueを眺めていたがそれだけだとなかなか貢献まで進むことができなかった。しかし、貢献を意識せずに純粋にライブラリを動かしてみようと思ったことがきっかけでOSSへの貢献に寄与したのである。しかもかなりあっさりと。
OSSの貢献はその行為自体を意識しているとなかなか進まないということを自身の経験から学んだ。純粋なライブラリへの興味、より良くしたいという動機が貢献という結果をもたらすのである。
とりあえずフォークしてみる
先程と連なる話だが、気になったライブラリは手元にクローン or フォークして動かしてみると良い。業務や個人開発の中で実際に使ったことがあるライブラリだと理解も早いはずである。
README にある程度起動方法や、貢献方法などが揃っているライブラリの方が環境構築等で迷うことも無いので積極的に起動してみることをおすすめする。
私自身ライブラリ自体をフォークする経験も初めてだったので最初は多少戸惑った。普段からフォークに慣れているといざPR送りたいと思ったときでも恐れずに行動できるはずである。
英語を恐れない
海外製のライブラリが大半なため、PRを送る際に英語は避けることはできないだろう。ただ、英語のやり取りに関しては本当に最小限であり、現代社会では便利なツール( Deepl 等)が様々存在するのでそれらを活用すればなんら問題はないはずである。
また、上記の記事を見れば分かるように実際に多用される英単語は実にシンプルなものである。奥せずにツールを利用して記載すれば問題なく伝えたいメッセージは必ず通じる。
おわりに
これからOSSコントリビュートを目指すエンジニア向けに重要な考え方をまとめてみた。この記事をみて少しでもOSSへ貢献のきっかけになれば幸いである。
筆者自身このような記事を書いているのに貢献したことあるのはドキュメントだけってのも少しダサい気がするのでこの記事の考え方を胸に様々なライブラリを動かしてみたいと思う。