2010年11月25日木曜日

Google Summer of Code

Google Summer of Code (以下 GSoC) についてブログを書いておきたいと思います。2011年版はまだ先ですが、なるべく早く知って頂いた方が準備もできると思いまして。。。


GSoC とは、学生の皆さんにオープンソースソフトウェアのプロジェクトに参加し、コードを書いてもらうことを目的とした奨学プログラムです。世界中のオープンソースソフトウェアグループがプロジェクトアイディアを出し、学生さんがその中からやりたいプロジェクトを提案し、採択されれば実際にそのプロジェクトの一員として開発に携わっていただき、成果に応じて報奨金が Google から支払われるという仕組みです。

そもそも、学生さんにとって GSoC に参加することはどんなメリットがあるのでしょうか?

●学生にとってのメリット

1) 世界規模の開発を経験する良い機会であること。

単にコードを書くだけでなく、設計やドキュメント、デバッグ、他の開発者とのコミュニケーションなども含めた開発を体験することができます。

2) オープンソース開発の流儀を学ぶよい機会であること。

コーディングだけではなく、オープンソースのコミュニティのあり方、テスト重視などのオープンソース界でのルールなども学ぶことができます。「これはやってみないとわからないことなんですよ」とはメンター経験者の談。

3) 必要とされる技術レベルがそれほど高くなくても参加できて、みんなに助けてもらえること

GSoC は期間も比較的短く必要とされる技術スキルもそれほど高くなく、敷居を低く設定されています。また、コンテストではないので周囲の人は味方となり、教え、助けてくれます。

4) 英語のスキル向上

GSoC に参加すると英語を使ったコミュニケーションが増加するため、英語力の向上ができます。

5) お金がもらえる!

はい :D
ちなみに一人の学生あたり、5,000ドルが学生に500ドルがメンター組織に支払われるようになっています。


ご参考まで、GSoC 2010(終了済)のタイムラインこちら

2月→プログラムの発表
3月→メンター組織が申し込み開始 & メンター組織発表、学生達の申し込み開始
4月→学生の応募〆切 & メンター組織による学生の応募をレビューと合格者の発表
5月→コーディングを開始
7月→中間審査
8月→〆切と最終結果の発表
10月→メンターの方達が Mountain View の Google オフィスに集まる Mentor Summit開催

GSoC 2010 の参加プロジェクト一覧こちら
GSoC 2010 の学生投稿プロジェクト一覧こちら

●メンターにとってのメリット

オープンソースプロジェクトに参加している大人の方は、是非メンターになって頂きたいと思います。メンターにとってのメリットは色々あると思いますが:

1) 自分の参加しているオープンソースプロジェクトの発展

若者のメンターとして教えることで、自分の参加しているオープンソースプロジェクトの次世代を担ってくれる人達を育てることになります。

2) オープンソースの良さを広める

日本発で世界中で成功しているオープンソースプロジェクトは Ruby などがありますが、まだまだ少ないです。是非現在そういった活動をしている皆さんの協力で、若者にオープンソースの良さを伝え、日本発のオープンソースプロジェクトがもっと増えていけばと思います。

3) オープンソースコミュニティのコアな人達と一緒にプロジェクトができる

世界中の著名なオープンソースプロジェクトが GSoC に参加してくれていますので、その中核メンバー達も協力してくれており、 GSoC を通じてそうしたコアな人達と一緒にプロジェクトを進めることができます。

4) グローバル市場への窓口

先日 GSoC にメンターとして参加した日本人の方達に Google 社内にお越し頂き、お話を伺う機会を頂きました。その時に面白いなと思ったのが、ある会社は日本に既に市場があるのにグローバル市場に出る必要はないと割り切り、国内市場に閉じていたそうなのですが、社長もエンジニアも GSoC にメンターとして参加。 GSoC で世界中のエンジニアと協力してプロジェクトを進め、コアな開発者達と出会い、コミュニケーションをするのがきっかけとなり、グローバルな市場に目を向け、現在は海外で講演を行うし海外のクライアントをどんどん取るようになったとのこと。


なんで Google は GSoC をやっているの?という疑問に対する回答はこちらの日本語フライヤー (pdf)によれば、

1) 若い開発者にオープンソース開発への参加を始める気を起こしてもらう

2) コンピューターサイエンスまたは関連分野の学生さんに、夏の間アカデミックな研究に関連した仕事をする機会を与える

3) 学生さんをもっと現実的なソフトウェアの開発シナリオに触れさせる

 (例えば分散型の開発や、ソフトウェアのライセンスの疑問、メーリングリストでのエチケットなど)

4) もっとオープンソースのコードを書いてもらい万人の利益のために公開してもらう

5) オープンソースプロジェクトが新しい開発者やコミッターを見つけ迎え入れる手助けをする


。。。とのこと。


個人的には、日本発のオープンソースプロジェクトがもっと増えるには何が必要かなあと考えると、こういったプログラムが何か役に立てばなあと思っている今日この頃でした。GSoC 2011 まではまだまだ時間がありますが、今のうちに「そういうのがあるのかあ」ぐらいのレベルで知っておいて頂ければなあと思った次第です :)


学生時代に GSoC に参加していて、現在は Google でソフトウェアエンジニアとして活躍されている向井さんのブログ記事

2010/12/2 追記

GSoCに参加された学生さんのブログ記事 Life after Google Summer of Code

Mentor Summitの様子についてのブログ記事 2010 Google Summer of Code Mentor Summit

FacebookもGSoCに賛同!
Facebook Likes Google Summer of Code


Disclaimerこのブログは山崎富美の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には一切の関係はありません。