OSS Gateという「継続的にOSSの開発に参加する人たちを継続的に増やす」取り組みをしている須藤です。この取り組みを通じて得られた知見をもとにOSSの開発に参加する方法を紹介します。
OSSの開発に参加する理由は人それぞれでよい
そもそもどうしてOSSの開発に参加したいんでしょう。私の場合の理由は「それが普通だから」です。私は、自分が開発しているソフトウェアはユーザーが自由に使えてほしいですし、自分が使っているソフトウェアが使いにくかったらよくしたいです。
では、多くの人が私と同じ理由かというと、そうではありません。むしろ同じ理由の人は少ないです。
冒頭で触れたOSS Gateという取り組みでは、いろんな人の「OSSの開発に参加したい理由」を聞く機会があります。いくつかみてみましょう。
- 人間的・技術的にレベルアップしたい
- かっこよさそう
- 知らない人と一緒に開発してみたい
- 転職時・自己紹介時の自己アピールで便利そう
- 会社が推奨しているから
- 普段OSSを使っているので恩返ししたい
実に様々ですね! ここで1つ目の大事なことです。
自分のためでもだれかのためでも、なんでもよいです。なんなら「なんとなく」でもよいです。まわりから見て見栄えのする理由は必要ありません。参加したいと思ったらあとは参加すればよいのです。
体験すれば気軽になれる
あとは参加すればよいと言ってもそこが難しいんだよ、と思った人がそこそこいるはずです。前述のOSS Gateという取り組みでもそういう人たちにたくさん会います。
一方、すでにOSSの開発に参加している人たちは「難しくないよ、やるだけだよ」みたいに言います。この差がどこから生まれるのかというと「経験したかどうか」です。
まだ参加していない人はわからないので不安なのです。「開発に参加するってどんなやり方でやるの?」「うまくできなかったらどうするの?」「なんかこわい」と。それに対してすでに参加している人たちは、やったことがあるので不安が少なくなっているのです。「難しくないよ、やるだけだよ」と言えるのはこのためです。
ここで2つ目の大事なことです。
みなさんもいろいろ経験があるでしょう。2回目に似たようなプログラムを書くときは1回目よりも気軽に書けます。リハーサルしておけば本番も気軽に楽しめます。OSSの開発に参加することだって同じです。
だれにでも絶対はじめてのときがあった
ここまでで言っていることは「不安でOSSの開発に参加できないなら、1回OSSの開発に参加してみればよい」です。これだとずっと開発に参加しはじめることはできそうにありません。
ではどうすればよいか。注力するところは「とりあえず1回参加する」です。2回目のことや、おいおいはすごいOSS開発者になって社会的にも認められて……とか、そういうことはとりあえずおいておきます。
ここで3つ目の大事なことです。
世の中を見渡すと、すごく名のしれたOSSの開発者がたくさんいます。でも、彼らにも絶対はじめてOSSの開発に参加したときはあったんです。不安だった人も多かったでしょう。今、不安に思っている人と同じようにです。はじめてなことを後ろめたく思う必要はありません。乗り越えていきましょう。
乗り越え方をいくつか紹介します。自分にあったやり方がないか考えてみてください。これならやれそうというのがあったら実際にやってみましょう。
OSSの開発に参加しようぜ!キャンペーンにのってみる
1つ目は「OSSの開発に参加しようぜ!キャンペーンにのってみる」です。このようなキャンペーンはすでにOSSの開発に参加している人たちも参加していて、新しくOSSの開発に参加する人たちをフォローしよう!という体制になっています。そういうときのほうが、はじめて開発に参加するときの不安が少なくなります。
いくつかこのようなキャンペーンを紹介します。ここに紹介したもの以外にもあるはずなので、探したり、まわりの人に聞いたりしてください。知っている人は、その情報とこの記事のリンクをツイートしてまわりの人に教えてあげてください。
オープンソースフライデーは「毎週金曜日はOSSの開発に参加しようぜ!」というキャンペーンです。
Hacktoberfestは「10月中に4つプルリクエストを送ったらTシャツをあげるよ!」というキャンペーンです。10月限定なのはオクトーバーフェストにかけているからです。2015年から毎年開催されているため、おそらく2018年も開催されるでしょう。
キャンペーンにのれば、とりあえず1回OSSの開発に参加できそうな気がしてきた人は、実際にやってみましょう。
他の人と一緒にやってみる
2つ目のやり方は「他の人と一緒にやってみる」です。やったことがない上に1人でやるなら不安も大きいでしょうが、何人かでやれば不安は減ります。もし、一緒にやる人がすでにOSSの開発に参加している人なら不安はもっと減ります。
まずは物理的に身近にいる人に一緒にOSSの開発に参加してみようと誘ってみましょう。興味がある人が見つかったらチャンスです。一緒にやってみましょう。
インターネット上でつながりのある人を誘ってみるのもよいです。Twitterやチャット、メッセージアプリで、リアルタイムで相談できますし、必要なら画面を共有したりビデオチャットで話をしたりしながら取り組むこともできます。
既存のつながりで一緒にやる人が見つからなかったら近隣の技術コミュニティーに参加してみましょう。特定のOSSをテーマにしていることが多いはずです。RubyやPHP、Python、JavaScriptなど、OSSのプログラミング言語をテーマにしているコミュニティーは見つけやすいでしょう。ライブラリーやツールをテーマにしているコミュニティーもあります。そこのコミュニティーに参加して、テーマにしているOSSの開発に一緒に参加してみようと誘ってみましょう。興味が同じなので一緒にやる人が見つかりやすいはずです。すでに開発に参加している人もいる可能性も高く、その場合はさらに不安が減ります。口頭で相談しながら進められるからです。
技術コミュニティーに参加しづらい場合は、OSS Gateが開催しているワークショップに参加するとよいでしょう。まさに「とりあえず1回OSSの開発に参加する」を体験する内容になっています。
2018年1月現在、OSS Gateのワークショップを開催しているのは次の地域です。開催予定日はイベントページで確認できます。
次の地域でも開催準備を進めています。
近隣で開催されていたらぜひ参加してみましょう。残念ながら近隣で開催していない場合は動画やレポートで様子を体験できます。
1人ではなく、他の人と一緒にやるならいけそうな気がしてきた人は、実際にやってみましょう。
あとはあなたが歩き出すだけ
OSSの開発に参加する方法を紹介しましたが、テクニック的なことはなにも紹介していないことに気づいていましたか? テクニック的なこととは、たとえば「issueを報告する前にすでに似たような報告がないか確認しよう」ということです。
私の考えでは、そういうことは次のステップでよいのです。最初からできるだけうまくやろうとするあまりハードルをあげて、結局一歩目を踏み出せなくなってしまったらもったいないです。
テクニックは徐々に身につけていくことができます。最初からうまくできることよりも、うまくできなったときにどうするかのほうが重要です。たとえうまくできなかったとしても、次からその経験を活かしてうまくやっていくなら一緒に開発する人たちはあたたかく仲間として迎え入れてくれるでしょう。
この記事の中でたびたび言及しているOSS Gateという取り組みですが、この名前にした理由は「OSSの開発に参加し始めるには門(ゲート)をくぐらないといけない。試練があるんだよ」ではありません! 「門があると思っているかもしれないけど、それは自分が勝手に築いちゃった門じゃない? 一度通ってしまえば実は門なんてなかったんだって気づくよ」です。OSS Gateのロゴは鳥居です。そこには鍵も扉もないんです。OSSの開発に参加しましょう。門は開いています。あとはあなたが歩き出すだけです。