BaHo Advent Calendar 2020 2 日目担当の BaHo 猫 です。 前日の BaHo 猫 さんは GatsbyJS で爆速ブログ構築 という記事を発表されてました。味のある良いクソ記事でしたね。
今日は OSS 活動を通じて感じた辛いことや良かったことについて書いていきます。
OSS Contribution とは
オープンソースソフトウェアに issue や Pull Request を投げることでそのエコシステムに貢献すること。
辛かったこと 3 選
メンテナーとの同期が取れない
日本では昼でもメンテナーがいる時間軸は真夜中だったりするので、会話一往復に 1 日掛かる。
メンテナーの手が空いてないと時差が 1 週間くらいになる。 見る気がないなら Close してくれ
非母国語の難易度が高い
ただでさえ英語なんもわからんのにコンテキストがずれてたりしたらもう最悪。何もわからん。
マイナーなスラングで何か言われても私は何もわかりません。
目に見える成果物が出にくい
issue からゆっくり育てていくと、1 つのタスクが片付くのにそこそこ時間がかかる。
定期間で具体的な PR 数とかを成果指標に盛り込むと思った以上に数が少なくてモチベが下がります。
やって良かったと感じたこと 2 選
情報の早期キャッチアップ
issue を見てると色々議論されているのがわかるので、今後来そうな機能だったり Breaking Change だったりを予め察知できるようになる。すごい。
コード設計のプラクティスがなんとなく見えてくる
いろいろな OSS を見ていると、各所で似たような設計や構造が見えてくる。 今後、近しいものを実装する時に参考として利用できたり、周囲への説得材料として持ち出せるので良い。
OSS 初心者が貢献する上で気を付けること 3 選
issue に対して「やる」と宣言する
言わないと実装中に他の人に持っていかれてしまいます。
自信がなくても「やっぱ無理だったわ、ごめん」といって諦めてもいいやくらいの気持ちで良いのでやる宣言はしておきましょう。
私は何度か取られました
もちろん、明らかに無理筋なやつは取らないように。
issue、PR にしっかり情報を書く
辛かったことで述べた通り、コメントでの会話はかなりの時間がかかりメンテナー側の負担も増えます。 チケットを見ただけで何がやりたいのかわかるようにしておきましょう。
あまりにも情報がなさすぎると途中でコミュニケーションを諦められます。
いくつかのリポジトリに絞ってコードの読解に注力する
複数のリポジトリに issue や PR を立てていると、前までのコミュニケーションを思い出すのが辛くなったり処理しきれなくなったりします。
ポテンシャルが高い人は別としていくつかのリポジトリに絞って慣れましょう。
最後に
いかがだったでしょうか。 この記事がこれから OSS に貢献していきたい人たちの足掛かりになれば幸いです。
ついでに
本ブログに textlint を導入してひどいタイポは防げるようになりました。 毎日ブログ自体にも何かしら改善をしていきたい所存なので 25 日にどうなっているか楽しみにしていてください。