【レポート】

Google SoC 2005からFUSE for FreeBSDなど - 若者に与えられた活躍の場

    後藤大地  [2005/11/15]

    Google Summer of Code 2005、盛況のうちに幕引き

    今夏、オープンソースソフトウェアの世界に羽ばたこうとする学生を大きく奮起させるプログラム「Google Summer of Code 2005 (SoC 2005)」が開催された。秋口にさしかかり、同プログラムは盛況のうちに幕をとじた。

    SoC 2005は、潜在的なオープンソース開発者を発掘することを目的としたGoogle主催のプログラムだ。世界に向けて公募が行われ、9,000名近い公募から400件以上のプロジェクトが採択された。成功率は9割ほどとされている。成功者には4,500ドルが、後援団体には500ドルが贈呈される。

    SoC 2005で採択されたプロジェクトは、Apache Software Foundationが最多の38件、次いでKDEの24件、FreeBSDの20件が続く。The FreeBSD Summer of Code 2005 Projectとして採択されたプロジェクトにはUFSジャーナリングをはじめ、興味深いものが多くみられる。

    FUSE for FreeBSD

    ここでは成果物のひとつとして、SoC 2005に採択されたCsaba Henk氏による"SSH based networking filesystem"を紹介する。

    Csaba Henk氏はCentral European UniversityにおいてMathematicsを専攻する博士過程の学生だ。友人の会社のサーバ管理を担当しているときハードウェアの関係からFreeBSDを使うようになり、以来FreeBSDを好んで使っているという。

    Csaba Henk氏はユーザランドで動作するファイルシステムに利便性を感じており、是非FreeBSDでも使いたい、と考えていた。ユーザラントで動作するファイルシステムの実装はいくつかある。しかしどれもLinux向けに開発されたもので、FreeBSDでは動作しなかった。

    結論を先に書くと、Csaba Henk氏はユーザランドファイルシステムを実現するためのカーネルモジュールを開発。ユーザスペースで利用するライブラリをコンポーネントとしてまとめ、ユーザランドファイルシステムを利用した一例としてsFTP接続をベースとしたファイルシステムを開発した。成果物はすべてportsシステムにマージされている。

    • sysutils/fusefs-kmod - カーネルモジュール
    • sysutils/fusefs-libs - ユーザスペースにおけるライブラリコンポーネント
    • sysutils/fusefs-sshfs - ユーザランドファイルシステムを使ったsFTPベースのファイルシステム

    こうした成果物に落ち着いたいきさつは、Csaba Henk氏の紹介ページに詳しい。また、採用した技術については"Fuse for FreeBSD" documentationに、より包括的な情報はFuse for FreeBSDにまとまっている。興味がある読者は一読するといいだろう。

    ユーザランドファイルシステムについては賛否両論ある。ユーザランドファイルシステム自体の発想は簡単だ。仮想ファイルシステムの上に、ユーザランドファイルシステム用のインタフェースとなるファイルシステムを用意する。このインタフェースに対して操作用のライブラリを提供するというわけだ。ユーザランドでは提供されているインタフェースを使ってファイルシステムを作成すればよい。

    ユーザランドファイルシステムには利点も欠点もある。LinuxではLinus Torvalds氏の賛同が得られないためカーネルに採り入れられる予定はない。FreeBSDやNetBSD、DragonFly BSDではそれぞれスタンスは異なるものの、ユーザランドファイルシステムへの対応は行っている。

    FreeBSDではportsシステムに統合する形でユーザランドファイルシステムがマージされた。機能はカーネルモジュールとして提供されているから、portsからインストールすれば使えるようになる。ただし、FreeBSDは6系以降が必要だ。要望が高まればベースシステムにマージされるだろうし、便利と感じるユーザが増えればユーザランドファイルシステムを使用するportsもさらに増えるだろう。

    ここで考える必要があるのは、FreeBSDにおけるユーザランドファイルシステムの実現がどういった形であれ、若者の手で行われたということだ。ベテラン開発者の中にはユーザランドファイルの有用性を疑問視する方も少なくない。便利だからという観点に基づいて実装を行い成果物を完成させた要因は、ひとつは若さからくる情熱だったとえいるかもしれない。

    そしてもっとも注目するべきことは

    SoC 2005を通じてもっとも評価すべきであろうことは、多くの若者が実際にプロジェクトに参加し、そして古参のベテラン開発者やほかの開発者と交流を持ったことだろう。SoC 2005の成果物は、その多くが今後も継続されオープンソースソフトウェアプロジェクトにマージされていく。

    オープンソースソフトウェア開発において、開発者の技術レベルは絶対的に近い権限となる。いかに情熱にあふれていても、コミュニケーションにおいて能力不足であったり、技術レベルが稚拙であれば、開発プロジェクトで活躍したくても相手にもされないことがほとんどだ。

    しかし、プロジェクトにおいて長期的な安定をもたらすものは、若手の育成であり、次世代の情熱の注入にほかならない。若手が参入し奮起する姿は、ベテラン開発者を刺激するし、新しい発想も得やすくなる。若手はベテランから技術を学び、お互いに切磋琢磨できる。若手の育成はつねに必要なのだ。

    しかし、そのきっかけは難しい。ベテラン開発者は教育者ではない。常に育成に適した態度をとれるわけではないのだ。オープンソースソフトウェアプロジェクトは、多くの場合において技術レベルをもって相手を測定する。優れた技術レベルがなければ、最初にプロジェクトに食い込むことが難しい。プロジェクトに食い込めなければ情熱も発揚できない。

    しかしSoC 2005は、若者・後援団体・Googleのどれにとっても利益のある仕組みを用意することで、ひとつのきっかけを作った。若者は参加のきっかけを、後援団体は若い力を、Googleは将来採用できる技術の俯瞰を得ることができた。SoC 2005の最大の成果はここにこそあるとみても過言ではないだろう。

    関連記事

    関連サイト

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン