verilog書く人

自称ASIC設計者です。どなたかkaggle一緒に出ましょう。

零細OSSでセカンドコントリビューターを得るには

一行のPRを送ってくれる人も非常にありがたいのだが、コードを読み込めて理解して機能提案してくれる有力コントリビューターがいるとプロジェクトにも技術者としての自分にも非常にいい影響がある。

 

例えば、

■コード、ドキュメントの量が増える。
二人で書くんだからもちろん増える。

■コード、ドキュメントの質が上がる。
二人で見るとお互いが気づかないところを直すので、穴が少ないコードに仕上がる。お互いの技術力向上にも繋がる。
英語ネイティブが直してくれるとほんとに助かる。

■モチベーションが上がる
外人は基本的にテンションが高い。お前のこの仕事すげえなといわれるとやる気が上がる。楽しい。

といったところだ。
ただ、有名OSSならともかく、零細OSSにとってはコントリビューター確保は簡単なことではない。

 

 

まずは小規模であっても便利なものを作り、ドキュメントを整備し、適切な場所で告知し、認知され、ある程度は使われることがスタートラインだ。その後のポイントは3つだと私は考えている。


「やってみない?」と声をかけてみる

ある程度使われると、こういう機能あったらいいなーとissueが立つようになる。
そんなとき、以前は期待に答えて自分で実装するのがユーザーに優しいと思っていたのだが、
最近は「いいねえ。もし興味と時間があるならやってみないか?」と問いかけるようにしている。

そうすると、結構やってくれたりする。
issueを立てる時、本当に機能が欲しいだけのエンドユーザーもいるし、内心はPR送ったことないけど送ってみたいと思ってくれる人もいる。
見分けたいなら、本人に聞けばいい。

寛容になってみる

基本的にPRを初めて送る人はどこかではミスをしてしまうだろう。
マスターブランチに直接コミットしてしまうかもしれないし、複数のPRに分割すべきいろんな要素を含んだPRを送ってしまうかもしれないし、テストもドキュメントもないコードを送ってくるかもしれない。
そんなとき私は、
「いいねえ!でも次からはここは直してくれよ。ただ、失敗してくれてかまわない。練習だと思ってガンガンPR送ってくれ」
というようにしている。

もしあなたが膨大なPRの処理に埋もれている大型OSSのメンテナならそれは難しいだろう。
でも、モチベーションがある人というのはある程度のレベルまでは早く成長してくれるものなので、
それを信頼して寛容になってみることも零細OSSにとっては一つの選択肢だ。

楽しくコントリビュートしてもらう

勉強になるなあと思った部分は素直に褒める。このテストはいいね!とかね。絵文字も使う。
自分がPRを送った時、放置された冷たいレスポンスを食らうと「折角がんばってPRつくったのに、迷惑なのかな?」と思ってしまった。
ネガティブな感情を抱いてしまうと次のPRは絶対に来なくなる。
送ってくれたPRには相手の熱が冷めないうちになるべく早く返事をしよう。感謝を込めて。
楽しくコントリビュートしてもらえたなら、リピーターになってくれる可能性は高い。

そんなことをしているうちに私が作ったRGF_pythonはいつのまにかコミットライン数で抜かれてしまった。
まあいいか。ありがとうNikitaさん。