プルリク四天王をコンプリートする
概要
プルリク四天王(独断と偏見)を紹介。
主に普段 OSS のプロダクトをよく利用するけど、プルリクはしたことが無い人に向けた内容です。
ちょうど今日るりまにプルリクしたので、るりまへのプルリクを例にします。
自分の関心領域のコンテキストに置き換えて想像していただけると幸いです。
(自分が日常良く使う、言語・ライブラリ・技術ドキュメントなど)
四天王 1 人目 「不足・不満を感じる」
るりまの例なら、
- この説明だと分からない
- ここは体裁が崩れていて読みにくい
- 誤字を見つけた
- 情報が不足している
ソフトウェアなら
- ここは設定ファイルから設定可能にしたい
- 適切なデフォルト値が欲しい
- コードリーディングをしていたらコードの臭いがあった
不足・不満を感じることが出来るということは、
「より良い、あるべき姿」が分かっているということになります。
(それが正しいかどうかはさておき)
それだけでもあなたの能力は高く、役に立つ可能性を秘めています。
「 [不足・不満を感じる] がやられたようだな…」
「ククク…奴はプルリク四天王の中でも最弱…」
「るりまごときに負けるとはプルリクの面汚しよ…」
四天王 2 人目 「正解、解法を調べる」
例えば、るりまのドキュメントをみても仕様や用途が載っていない メソッドがあった場合、
四天王 1 人目でアクションを止めている人よりワンランク上の開発者は、
- Google で検索して、正解の情報を探し、以下の様な場所で正解を見つける
- 上級者のブログ
- Ruby コミッタのブログ
- Ruby メーリングリストのログ
- 友人に教えてもらう
- QAサイトで質問する
プログラムの機能不足などに置き換えるならば、実装手段や設計方法を調べて
自分自身が不満に思っていた点を解消すること。
しかし、見つけた正解、解法に満足しているだけでは、まだまだ四天王ブービー賞。
四天王 3 人目 「ブログにポストする」
技術ブログや Wiki などに調べた内容をポストして、得た知識を共有する。
ここまで来ると大分手強い四天王です。
コミュニティへの貢献が発生して来ました。
四天王 4 人目 「プルリクする」
事の発端は何だったでしょうか?
るりまの記載に不足があったことです。
ここで想像力を働かせます。
日本人が Ruby のクラスやメソッドなどの情報を探す時、
多くの人は るりまを利用するでしょう。
(多分・・・。もし違うと思っていても話の流れ上そういうことにしておいてください。後生ですから。)
自分が得た知識を 3 人目の四天王で広めることができたかもしれませんが、それは一過性です。
記事の露出が減った頃に新たに Ruby のことを学び始めた人は
るりまの記載が不足しているのを見つけて、不足・不備を自分で調べ始めます。
これって、コミュニティ全体のリソースをすごく無駄遣いしている気がします。
そこで、プルリクです。
各ユーザーが仕様を確認する時に訪れるであろう、 るりまの情報を Fix すれば、
以降は同じ部分にハマる開発者が大幅に減るはずです。
四天王 1 => 4 と数が大きくなるほど手間が増えるかもしれませんが、
その結果がもたらす効果は何百人どころでは収まりません。
影響範囲は該当技術のコミュニティ全体です。
あなたが30分使ってプルリクを行っただけで、
他の開発者が同じことを調べるのに使う必要があった時間、
30分 ✕ 10,000人(仮) = 5, 000 時間
を節約することができている・・・のかもしれません。
ここまで来たあなたは、訪れてきた敵を全回復してから戦うくらい強い四天王です。
「さあ!回復してやろう!もてる力のすべてでかかってこい!」
まとめ
時間という有限かつ希少なリソースと相談する必要がありますが、
普段コミットしている技術分野にはちょくちょく貢献しておいたほうが気持ちいいものですし、
該当分野での信頼貯金もたまるのではないでしょうか。
それは利益になって返ってくると思っています。
特に、ドキュメントの不足・不備などは、調査段階で得た情報を
プルリクするのはそれほど大きな手間がかかりません。
ブログにまとめたりする人なら尚更です。
ブログ用にまとめた情報をちょっと整理してプルリクするだけです。
プログラムのスキル的にも、上級者である必要はないので
かなり貢献しやすい領域では無いかと思います。
補足
- メタファが破綻している?そうですね。
- るりまの貢献手順は下記に体験談をまとめてあります。
- この流れで、今日送ったプルリクが reject だったらそれはそれでおいしい展開かもしれない
- こういう記事ってポエムに入るんですか?よくわかりません。