更新情報

Railsチームからの報告(*1)によると、今年のGoogle Summer of Code(GSoC)にて、Ruby on Railsのプロジェクトに8名の学生が選ばれたようです。

今 年で第11回を迎えるGoogle Summer of Code(GSoC)ですが、これはGoogleが指定したオープンソースのプロジェクトに対し、その年の夏の間に課題をクリアした数100人の学生が賞 金をもらえる制度です。毎年2月頃、まず対象となるオープンソース(Railsなど)が募集されます。そして3月には学生の申し込みを受け付けます。4月 は学生が対象のオープンソースの団体に慣れるための期間で、5月の終わりになると実際のコーディングが始まり、8月末まで続きます。各プロジェクトには、 対象となるオープンソースの団体から選ばれた指導者が付きます。

グローバルなプログラムなので、世界中に参加者がいます。以下は国ごとの参加学生数について公式発表された数字です。2015年は1,051名の学生が選ばれました。

(英語表記でのアルファベット順です。)
アルゼンチン        2       クエート            1
アルメニア          1       リトアニア          1
オーストラリア      4       ルクセンブルク      2
オーストリア        8       マレーシア          1
バングラディッシュ  1       メキシコ            5
ベラルーシ          6       Moldavia            2
ベルギー            2       モロッコ            1
ブラジル            15      オランダ            10
ブルガリア          2       ニュージーランド    2
カメルーン          12      ナイジェリア        1
カナダ              23      ノルウェー          3
チリ                1       パキスタン          2
中国                49      パラグアイ          1
コロンビア          2       ペルー              2
クロアチア          4       フィリピン          2
チェコ              3       ポーランド          33
デンマーク          1       ポルトガル          13
ドミニカ共和国      1       ルーマニア          19
エクアドル          1       ロシア              38
エジプト            7       シンガポール        11
エストニア          1       スロバキア          6
フィンランド        5       韓国                5
フランス            18      スペイン            30
ドイツ              50      スリランカ          58
ギリシャ            9       スウェーデン        3
ガテマラ            1       スイス              5
ホンジュラス        1       台湾                2
香港                4       チュニジア          2
ハンガリー          23      トルコ              8
インド              335     ウガンダ            1
インドネシア        1       ウクライナ          8
アイルランド        3       アラブ              3
イタリア            19      イギリス            13
ジャマイカ          1       アメリカ            127
日本                6       ウルグアイ          1
カザフスタン        1       ベトナム            2
ケニア              4

そして、以下の8つのプロジェクトがGSoC 2015で選ばれました。GSoCに参加した学生は、その後も高い割合でRuby on Railsのコントリビューター(貢献者)になるようです。

1. 『アセットパイプラインのパフォーマンス改善』
アセットをコンパイルする過程の一部をプロファイル、ベンチマーキングした上で、アセットの生成スピードを改善させます。このプロジェクトの最初の段階では、CoffeeScript、Sass、そしてUglifierをカバーします。

2. 『イベントファイルシステムのモニタリング』
ファイルの変更を検知するためには、ポーリング式のActiveSupport::FileUpdateCheckerが長年使用されてきました。これをイベントベースのアプローチに差し替え、既存のサードパーティモニターに依存するようにします。

3. 『アセットパイプラインをソースマップに対応させる』
CoffeeScript がJavaScriptにコンパイルされ、さらにミニファイされるなど、コードが何段階にも変換される環境に対し、コードの調査やデバッグを改善します。 ソースマップがあれば、ブラウザの既存のツールを使ってCoffeeScriptなどのコードを読んだり、ブレークポイントを付けることができます。

4. 『Action ViewとActive Supportのリファクタリング』
こ れはすでに備わっているべき機能なのですが、Action Viewヘルパーに名前付き引数を追加したりできるようにします。また、セキュリティやパフォーマンスを改善するため、 ActionController::ParametersやActionView::OutputBufferのような抽象クラスを改良します。

5. 『ウェブコンソールのブラウザ拡張』
これは前回のGSoCプロジェクトのフォローアップで、Railsウェブコンソールのためにブラウザ拡張を制作します。先述したソースマップのプロジェクトと同様に、既存のツールによるデバッグが向上します。

6. 『テストのエラー予測』
最近のRubyで使えるようになったCoverageの機能を使ってテストのエラー予測をするというアイディアが、Railsのテストに組み込めるかどうかを実験します。

7. 『Cookieのリファクタリング』
Rails のcookieの操作は極めて初歩的で、それでもほとんどの場合問題なく動いていますが、まだ改善の余地があります。既存のクッキージャーに対し、サー バーサイドの有効期限のメカニズムと、目的の項目を追加することで、コントロールしやすく、セキュリティの高いシステムにします。

8. 『RubyBench.orgの改善』
RubyBenchはRubyや関連プロジェクト (例 Rails) のベンチマークを長時間走らせるためのすばらしいツールです。もし上手く行けば、RubyBenchでのJRubyのサポートがこのプロジェクトの次のステップになります。

(*1) http://weblog.rubyonrails.org/2015/5/2/welcome-to-gsoc-15/