「OSS Gateワークショップ」は、OSS開発プロジェクトに参加したことがない人が、開発プロジェクトの活動を実際にやってみようというワークショップです。

自分が興味を持つOSS開発プロジェクトを選んで、ドキュメントのミスを直したり、バグレポートやパッチを送るといった活動を、4-5時間かけて実際に行います。もちろん、この短時間では充分な活動になりませんが、オープンソース開発プロジェクトに関わる最初の一歩になるはずです。

OSS Gateワークショップは、2016年の3月に始まり、2か月に1度のペースで、開発コミュニティの有志によって開催されています。

今回は、この「OSS Gateワークショップ」について、詳しく紹介します。

写真1

オープンソース開発プロジェクト敷居は高い?

システム開発では、不可欠な存在となったオープンソースソフトウェア(OSS)。あなたは、その開発プロジェクトに、どんなイメージを持っていますか?

GoogleやFacebookに所属している凄いハッカーが、ネットを介してバリバリとコードを書いているとか、イケてるWebサービスのCTOが、華麗なパッチを次々と投稿しているとか、あるいは、コンピュータサイエンスの天才的な研究者が、秘蔵のライブラリをネットで公開しているとかいった感じでしょうか。

とにかく、敷居は高そうですよね。普通のエンジニアには、関係のない世界のような気がするでしょう。

でも、本当は違います。もちろん、スター開発者もいるのですが、OSSの開発プロジェクトを支えているのは、非常に地道な活動の集まりです。書くべきコードはたくさんありますし、テストやドキュメント、バグレポートやプラグインなども必要です。そういう地道な活動成果が十分に集まるおかげで、現在のOSSの盛り上がりがあるのです。

伽藍とバザールで紹介された「リーナスの法則」のように、「目玉の数さえ十分あれば、どんなバグも深刻ではない」のです。

しかし、開発に参加してくれる人たちが十分に存在しなければ、話になりません。

そこで、開発コミュニティの有志が、OSS開発プロジェクトに参加したことがない人向けに、開発プロジェクトの活動の一端を実際に行ってもらうワークショップを開催しています。それが、「OSS Gateワークショップ」(DoorkeeperGitHub)です。2016年の1月から始まって、2か月ごとの開催ですが、毎回多数のキャンセル待ちが出る人気イベントになっています。

未経験者が経験者になるワークショップ

ここ数年、GitHubの普及により、開発プロジェクトからソースコードを入手したり、活動の様子を垣間見ることが、かなり手軽になりました。しかし、オープンソース開発プロジェクトへの新しい参加者は、決して多くありません。これは、どの開発プロジェクトでも共通していると思います。

OSS Gateワークショップの参加者に、開発プロジェクトに参加していない理由を聞いてみると、「本業の仕事が忙しい」「間違ったことをするんじゃないかと不安を感じる」といった答えが返ってきました。

OSS Gateワークショップの目的は、このようなオープンソース開発プロジェクトの参加経験がない人を、経験者に変えることにあります。参加者も、そんな感じの人たちが集まっています。そして、このような活動を通じて、OSS開発者を継続的に増やしたいという目論見があります。

アンケート・参加目的

OSS Gateワークショップが始まったきっかけの一つは、2015年に開催されたOSS Hack Weekendというイベントでした。Ruby開発やリーダブルコードのあとがきなどで有名な、クリアコードの須藤功平さんを中心にして、学生を対象にして最初のワークショップが開催されました。そこで、「OSS開発プロジェクトに未参加の人は参加方法がわからないだけで、参加方法がわかればOSS開発に参加できる」という手応えを得たことから、このような取り組みを継続的に行っていくOSS Gateが始まりました。現在では、RubyやLinuxカーネルの開発者などが、参加しています。

キャンセル待ちの多い、人気の高いイベントに

OSS Gateは、これまでに6回のワークショップを開催しました。そのうち1回は、東京Ruby会議11に合わせて行われました。また、9月から札幌でもワークショップが始まっています。

ワークショップは、約10-20名程度のビギナー(これまでOSS開発に参加したことがない人)と、ビギナーにアドバイスをするメンター(OSS開発に参加したことがある人)で構成されています。メンター1名に対して、ビギナー1-2名というかなり手厚い体制です。

これまでに、のべ70名程度のビギナーの人が参加してくれました。ここ最近は、多くのキャンセル待ちが出る、人気の高いイベントになっています。

では、実際のイベントの様子を紹介しましょう。9月24日のワークショップは、恵比寿ガーデンプレイスにあるクラウドワークスのMixlab(ミックスラボ)というイベントスペースで行われました。

ワークショップが始まると、各自がノートPCやMacBookを持って席に着きました。このとき、メンターの両隣にビギナーが座るという形で始まりました。最初は、アイスブレイクを兼ねた自己紹介です。日ごろ、どんな開発に関わっているかとか、使っているプログラミング言語とかを紹介すると、みんなエンジニアなので、かなり盛り上がっていました。

実際のイベントは、要所要所で、OSS開発プロジェクトの勘所や次にやる作業などの説明が入りますが、かなり黙々と進んでいきました。

まず最初に、ビギナーは、自分が題材にするOSSをひとり一つ選びます。普段使っているものでも良いですし、興味を持っているだけのものでも構いません。メンターと相談しながら、題材を決めたら、それを実際に手元にインストールして、「Getting Started」などのドキュメントに沿って試してみます。そうすると、何かしらつまずいたり、インストール手順が情報不足だったり、サンプルコードが間違っていたり、typoが見つかったり、なんて事が起こります。

そんな時、これまでなら、愚痴るか、Twitterでつぶやくか、Qiitaで回避策を書くしかなかったかもしれません。

しかし、そこが開発プロジェクトにフィードバックするチャンスなのです。

写真2

OSS開発プロジェクトの参加経験者がメンターとなり、手厚くアドバイス

このようなポイントは、開発者としてもなかなか手が回らないところです。初めて使う人がどういう場所でつまずくか、開発者はなかなか知ることができません。そういうポイントを見つけて、気軽にバグレポートやプルリクエストを送ってみると、意外と簡単に開発プロジェクトに取り込んでもらえるのです。一度、修正してもらえれば、その分だけOSSのサポート品質が向上しますし、他の人がつまずくこともなくなるという訳です。

この最初の調査は、ビギナー各自が、OSS Gateでワークショップ用に用意した、GitHub上のIssueという課題管理機能に、作業ログとして書き込んでいきます。そして、メンターは、この作業ログをベースにして、開発プロジェクトへのフィードバックの方法をアドバイスしていきます。

ビギナーが選んだ題材について、メンターが詳しくないこともあるのですが、レポートの粒度を小さくしたり、開発版と安定版のリポジトリを確認したり、パッチの送り方を調べたりと、開発プロジェクトに参加してきたからこそ気づくポイントもあります。逆に、題材のOSSを知っていると、教えすぎないように我慢するのが大変だそうです。あるメンターさんが、「詳しく知らなくても、ビギナーの半歩先を行くぐらいが、ちょうどいい感じだ」と言っていたのが印象的でした。

ちなみに、、メンターがベテランで、ビギナーが若い人とも限りません。20代-30代でも、OSS開発プロジェクトでの経験があれば、メンターをやっていますし、エンジニアとしてはベテランでも、OSS開発者としては経験が少ないという人も参加しています

最終的に、ビギナーは、Pull-Requestやバグレポートを送ることを目指します。ここでも、バグレポートをどう書くべきか、こんな英語で通じるかとか、いろいろ悩みどころがあります。メンター同士でディスカッションしている場面も少なくありません。開発プロジェクトごとに流儀は違っていますし、そもそもレポートの書き方に正解はないので、ここはメンターに背中を押してもらって、エイっとばかりに送信します。

また、課題によっては、ワークショップの時間内では、環境構築に時間がかかり過ぎてしまうとか、見つけた課題の解決策を発見できないなんてことも起こりました。しかし、自分ひとりでは行き詰って時間ばかりが無駄に過ぎていくような場合でも、他の開発者はその過程でどんな作業をしているか、メンターを通じて体感することができるのです。

そして何より、ビギナーにとって、これは開発プロジェクトへの参加の第1歩です。ワークショップの時間内に終わらなくても、また続きをやればいいのだと思います。

今後の展開

ワークショップに対する評価は、おおむね高いようです。9月24日に東京で開催されたワークショップで、開催後に行ったアンケートでは、ビギナーのほとんどの人が、満足したと回答していました。

ワークショップの具体的な流れは、こちらの開催レポートに詳しくまとまっています。また、ビギナーやメンターの感想など、ブログなどでも公開されています。これは、過去のイベントページにも掲載されています。Twitterの#oss_gateでもたどることができます。

さて、OSS Gateでは、今後も継続的にワークショップを開催していく予定だそうです。

もしも、OSS開発プロジェクトに参加したことがない人で、OSS Gateに興味がある人は、イベント管理サービスDoorkeeperのOSS Gateページで、「コミュニティに参加」ボタンを押しておくと良いでしょう。そうすれば、次回の開催案内があったとき、すぐに知ることができます。

また、OSS Gateでは、OSS開発プロジェクトの参加経験があるメンターも募集しています。ビギナーの増加に合わせて、メンターが足らなくなるという心配もあるので、教えるのが好きな開発者は、ぜひ参加してみてください。

何より、自分たちのところでOSS Gateワークショップを開催してみたいという方が、どんどん増えてくると良いと思います。OSS Gateページから、主催者に問い合わせてみてください。

OSS Gateが盛り上がり、新たな開発者が増えると共に、開発プロジェクトがますます活性化することを期待しています。

2016.09 可知 豊 - CC BY 4.0

参考ページ