未来のいつか/hyoshiokの日記 このページをアンテナに追加 RSSフィード Twitter

2015-07-14

OSS Hack Weekendに参加した

楽天スポンサーになっているOSS Hack Weekendという学生向けのワークショップ形式勉強会に参加した。プログラミングが好きな学生のための成果発表 OSS Hack Weekend | SEゼミ

一応、学生向けということもありスポンサーからバリバリハッカーメンターとして参加して、ハンズオンを支援する。学生経験豊富なエンジニアからメンタリングを受けられ、企業は優秀な学生とのコンタクトを得られる。Win-Winな関係がある。

f:id:hyoshiok:20150712100123j:image

(会場)

勉強会エバンジェリストのわたしとしては会社枠で物見遊山的に参加した。(メンターじゃないのかよ>自分

4回シリーズになっていて、

という構成だ。

須藤さんが講師役で、大まかな作業の流れを示す。ゴールとしてはOSSへPull Request (PR) を出す。出し方を学ぶ、実際に経験してみるというのが今回の特徴である参加者学生)が選んだOSSをそれぞれの参加者が実際に動かしてみて、問題発見し、githubのissueを書いて、可能であれば、パッチなどを書き、pull requestをupstreamに送るという作業をする。

言語ごとにグループ分けをして、それぞれのグループにメンターがつく。直すOSS学生自分で決める。興味のあるOSSを選ぶというのが最初ポイントになる。

わたしはC言語にはちょっと土地勘があるので、というか、C言語くらいしか土地勘がないので、C/C++のグループに座ってみた。

今回担当した学生さんが選んだのが、Gnu EmacsとかRustとかbhyveとか、非常に骨のあるプロダクトだ。

前回のOSS Hack 4 Beginnersで、OSS開発の大まかなワークフローは学んだので、今回はそれの実践編になる。前々回で、GitGithubの基礎を学んだので、PRがどうだとかIssueがどうだとかいリテラシーはある。今回は、それらの基礎的な知識を駆使して、実際に本家PRを出すと言う経験をしてみる。

この手のワークショップは学校では教えてくれないし、企業でも現場経験するしかなくて、研修コースとして整備されているものはほとんどない。

OSSにどう貢献するかということに関して言語化されたものとして、例えば下記のUpstream Trainingが有名である。どうしても断片的なコミュニティー特有の事情が出てしまうのだが、それでもないよりは遥かによい。

https://wiki.openstack.org/wiki/OpenStack_Upstream_Training/Info/ja

問題発見してコミュニティとのやり取りの最初は多くの場合質問コミュニティに投げることになる。自分の期待する動きと違うことを発見したときに、それをいきなりバグだと声だかに言うのではなく、開発者意図確認するために質問する。それが意図したものであれば、その意図を聞く。

意図したものでない場合に初めてバグの可能性があることになる。

パッチ作成してPRを投げる。

もっといい方法があるかもしれないし、すぐに取り込まれることもあればリジェクトされることもある。それをオープン議論する。

問題認識していることを言語化して何が問題で、それをどう直したかなどを説明する。これらは平易な英語で書く。

GNU Emacsなど老舗のFLOSSはGithubホスティングされていない。メーリングリストでやりとりをするのが開発プロセスであるPRという言葉が出てくる前から存在するので、そこのお作法に則った作業が必要になる。

GithubによってPRというパラダイムシフトが起こったということを再度認識した次第である

でもって、各参加者がもくもくと作業をしている間、試しにGNU EmacsやRUSTのソースgit cloneしたりした。ついでにREADMEやらINSTALLなどを読んで $ ./configure; make; make installなどをする。

f:id:hyoshiok:20150712184319j:image

(ワタシハリナックスガチョットデキル)

わたしのMacCPUぶんぶん回っている感じがいい。

わたしが何か指導をするとか言うことも特になく、そもそもGNU Emacsについて一家言持つなんて言うのは百年早い感じがするので、作業を眺めているくらいしか、貢献できない。rustなんかは初見だし、bhyveに至っては初めて聞いた。

ということで、適度にお茶を飲みながら雑談をする。おじさんてきにはOSSいいよねー、楽しいよねー、みたいな毒にも薬にもならない話ばっかりで申し訳ないっす。

一方でメールの書き方くらいは相談に乗れないこともないので、PR構成についてあれやこれやアドバイスらしきことをした。

パッチそのものの説明ではなくて、何が問題かということを説明する。それがWhyである。それをきちんと説明できれば勝ったも同然である別に勝ち負けを争っているわけではないけど。

GNU Emacsに果敢にチャレンジした学生さんは、大きなプロダクトなので、ドキュメント不具合などを発見して、それに対する提案を書いた。

そんなこんなでそれぞれがPRを書いていた。PRを出すと、☆のシールを参加証にはって貰う。

OSSの開発のプロセスの一端を経験したことになる。怖くないということを知って経験を積んだのがこのイベントハイライトである

参加者40名くらいに30名くらいのメンターがいて、ワークショップ環境としては素晴らしいものであった。メンタリングがほぼマンツーマンで受けられる。

この手のワークショップイベントが増えて行けばOSSの貢献も増えて行くのではないかと思った。

学生向けだけではなく社会人向けのワークショップが強く望まれるのだが、コストをどう回収するのかとか課題は多い。そもそもメンターを30名も集められないし、スケールする方法も思いつかない。持続可能なビジネスモデル発見できればすごいことになると思う。

おまけ

なかなか学生さんと打ち解けることが難しい感じだったんだけど、昼休みになぜかIngressの話題になって、 hyoshiokさんイングレスやってんすか?リチャでオニキスっすか、まじすげー、A15なんすか、ちょーすげーっす、と筑波の学生さんとの距離がイングレスのおかげで急激に近づいた。筑波のポータル密度東京のそれとは随分違うので全く異なるゲームをやっている気分なんだろうなあと思った。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hyoshiok/20150714/p1