Google Code - Open Source at Google

Google Summer of Code 2008は9月2日(米国時間)に締切りを迎えた。1,125人の学生が参加した2008年のSoCは最終的に83%が当初の目的を達成した。参加したグループは170を越え多くのFLOSSプロジェクトがSoCによって活気づいた。SoCの成果物についてはそれぞれのプロジェクトで発表が実施されている。ここでは特にGoogle Open Source Blogで発表されたFreeBSD's Fourth Google Summer of Codeを一例としてとりあげる。

Google, Software Engineering Team, Murray Stokely氏はFreeBSD's Fourth Google Summer of CodeにおいてFreeBSDのSoC成果を発表。Murray Stokely氏はFreeBSD Core Teamのメンバーも務めている。FreeBSDは2005年から毎年SoCに参加しており、2008年は21名の学生が参加、うち91%の取り組みが成功した。同氏は中でも重要な次の3つの成果を紹介している。

  • NFSv4 ACL実装 (Edward Napierala氏) - POSIX.1e ACLと同じ方法でNFSv4 ACLを実装するプロジェクト。ユーザユーティリティsetfacl(1)/getfacl(1)の拡張、libc APIの拡張、ACLストレージやUFS・ZFSを可能にするためのカーネル変更、SunOS互換acl(2)/facl(2) APIのラッパ実装などを実施。標準化、移植性、実装の複雑化、後方互換性などの間でのバランスを要求される難しいプロジェクトだったと評価されている
  • UFS2ダイナミックメモリアロケーションの改善(Nick Barkas) - 動的なメモリアロケーションを改善するためUFS2におけるDirhashを変更。この改善によってVMシステムがvm_lowmemイベントをコールした段階で一度dirhashによって使われたメモリを開放できるようになった。結果的にデフォルトのdirhash_maxmem値を増やすことが可能になり、大規模ディレクトリのルックアップ性能を向上させることが可能となる。システム性能全体に影響を与える重要な成果
  • SNTPクライアントの参照実装(Johannes Maximilian Kuehn氏) - 最新のNTPv4ドキュメントにそったSNTPクライアントの参照実装。SNTPはNTPサーバと同期するための軽量クライアント。プロトコル非依存で実装されており、開発されたコードは次期リリースとなるntp-4.2.6で取り込まれる見通し

Summer of Codeで取り組まれるプロジェクトは貴重な成果をもたらすばかりか、その後でも継続的にプロジェクトに参加する開発者を育成することにもなるという特徴がある。FreeBSDのみならずほかのプロジェクトでも貴重な結果が得られたようだ。