株式会社Speeeの@selmertsxです。
今回は、2016年6月11日(土)に、弊社にて行った OSS Gate ワークショップについて、 ご紹介させて頂きます!
OSS Gate について
OSS Gate は、「OSSの開発に参加する」を実際に体験できるワークショップです。
株式会社クリアコードの代表取締役をされている、須藤功平さんが講師として活動されています。
OSSの普及を目的として始まり、今回で4回目となっています。
ワークショップの流れ
ワークショップ全体の流れは下記のようになっています。
- ワークショップの説明
- コミットしたいOSSを選ぶ
- 選んだOSSのドキュメントを読み、動かしてみる
- 改善したい点を見つけたら、issue/PRを作る
- ワークショップの振り返り
ワークショップの説明
※ ワークショップについて説明を受けているエンジニア
ビギナーとメンター
ワークショップは、ビギナー、メンターと立場を分けて行いました。
OSSの開発に参加したことない、もしくは参加したことはあるけど、自信がないといった人がビギナー。 OSSの開発に参加したことがある人がメンターとなって、役割分担してワークショップを進めます。 メンターのお仕事は、ビギナーが困ったときに話を聞き、意見を求められたら答えるといった形でビギナーのサポートを行うことです。
僕は、OSSの開発に参加したことはほとんどないのですが、 人数の関係で2人のビギナーのメンターとしてワークショップに参加させて頂きました。
作業ログ
ビギナーは、個人のgithub issueにログを残しながら作業を進めていきます。 メンターは、ビギナーの作業を直接見たりログを眺めたりしながら、 ビギナーの作業進捗を追います。 ログには、現在の作業内容と、思っていること、そして必要なら備考を残してもらいます。
ログを細かく残すことによって、問題が発生したときに、何が原因だったのか振り返り、 そのときのログなどを、issue報告をする際に活かすことが出来るようになります。
・ 作業内容: gem install ・ 感想: dependencies多すぎ
※ 作業ログのサンプル
コミットしたいOSSを選ぶ
ビギナーは、これから貢献するためのOSSを選びます。
今までお世話になってきたOSSや、 これから使おうとしているOSSを、 貢献する対象のOSSとして選んでいる人が多かった模様です。
僕が見ているビギナーの人は、 それぞれ delayed_job と simple-rss を選んで作業を進めていました。 両方共、次に仕事で使うから早くキャッチアップしたいという、かなり現実的な理由でした。
なおメンターは、コミットしたいOSSを選ぶことは出来ません。 基本的にずっとビギナーの方を見守ります。 僕も、羨ましいなと思いながら見守っていました。
選んだOSSのドキュメントを読み、動かしてみる
READMEを上から眺めながら、実際に gem install
し、動作確認を進めていきます。
業務の中では、必要なところだけつまみ読みすることが多いので、頭から全部読むのは
少しばかり懐かしい感覚です。
改善したい点を見つけたら、issue/PRを作る
一通りドキュメントを読み込み、実際にgemを動かしてみて、 貢献できるチャンスを見つけたら、issue/PRを作っていきます。
幸い(?)にも、delayed_job, simple-rssともに、 手順書をそのままなぞるとエラーが出てしまう問題があったため、 その修正PRを出すなどしました。
https://github.com/collectiveidea/delayed_job/pull/919
https://github.com/cardmagic/simple-rss/pull/25
また、参考となるReadmeを探している間に fluentd-doc のエラーも見つけたため、 さくっと修正してました。(ota42yさんすごい!)
https://github.com/fluent/fluentd-docs/pull/229
ワークショップ振り返り
最後に、ワークショップの成果や感想などを、 みんなで issue に書いて振り返りました。 みんな、何らかの形で貢献できた模様です!
今まで敷居が高いと考えていた、OSS貢献への第一歩を踏み出せて、 みんな満足していました。
ワークショップとその後
今回のOSS Gate は、弊社の技術力アップを目的として開催されました。
すぐに目に見える効果が出るほど、世の中甘く無いですが、 いくつかのPRがマージされるなどし、 参加者のOSS活動への心理的な障壁は随分取り除かれてきたのかな という印象を受けました。
また、PRがマージされた何人かのエンジニアは、 OSS貢献への自信もついたのかなと思います。
これまで利用している gem などで問題が発生したら、 その問題を回避する形で業務を進めていましたが、 貢献チャンスと受け取って逆にテンション上げるように なったメンバーも少なからずいた模様です!
※ マージされたPR
https://github.com/gimite/google-drive-ruby/pull/206
https://github.com/rurema/doctree/pull/275
最後に
OSS Gateでは定期的にワークショップを実施されてます。 1ヶ月後の7月開催分はすでにキャンセル待ちと大盛況です。 すでに9月分も募集が始まっていますので、OSSに興味のある方はぜひ! https://oss-gate.doorkeeper.jp/events/46275
またSpeeeではOSS活動をしたいエンジニアを募集しています。 Ruby,Scala,Go,iOS,Androidと様々な募集をしていますので、興味のある方はぜひ!
ASEAN6億人にあたらしい転職サービスを届けるエンジニアを募集! https://www.wantedly.com/projects/44504
「嫌われる広告から好かれる広告へ」未来のスタンダードを創るエンジニア募集! https://www.wantedly.com/projects/58311
アプリでライフスタイルを変えていく、iOS/Androidエンジニア募集! https://www.wantedly.com/projects/57015