NeurosによるOSS手法を取り入れたハードおよびソフト開発

オーディオ/ビデオ・ハードウェアの製造メーカーであるNeuros Technologyが、オープンソース開発の利点を取り入れた。

2003年2月にNeurosは、デジタルオーディオプレイヤーにオープンソースのOgg Vorbisコーデックのサポートを追加した、最初の製造メーカーの1つになった。製品名はNeuros Digital Audio Computer(Neuros I)だ。その後、同社はNeuros Iのファームウェアのソースコードとハードウェアスペックを公開した。

同じく注目すべきは、同社がポータブルメディア・プレイヤー/レコーダーの新製品であるNeuros 442の開発プロセスにおいて、これまでに例のないオープン方式を採用したことだ。熱心なファンも、単なる見物人たちも同様にコメントできる場が用意され、442の細部の改良を進める間、彼らは基本的な機能からチップセットの選択に至るまで、あらゆる場面でこれに貢献した。Neurosの創設者であるJoe Bornやスタッフ達は、消費者のニーズに合ったデバイスを作成するため、また今後もオープンソース開発の成果を多く取り入れられるようにと、自社のフォーラムに寄せられたコメントに熱心に耳を傾け、IRC上でコミュニティと共にミーティングを開いた。

オープンソース企業への変換

Bornは意気盛んで知識豊富なオープンソースの支持者である。Neuros Iをオープン製品にすることを選択した理由について尋ねたところ、Bornは次のように答えた。「その方がはるかに効率的だからです。開発者の自主性が向上し、素早く動くことができます。また、フィードバックを基に修正を加えることが可能です。以前は何を決めるにも大掛かりな会議を開き、非常に長い時間をかけて議論していました。とんでもなく時間がかかりました。今ではすぐに動いてサッと修正することができます。OSSの会議の方がずっと効率的ですよ。複数の人が自主性を持って開発を進めると、物事が迅速に進みます。そして、これを可能にするためには、多くの場合、ソースコードを公開することが必要なのです」。

最初にファームウェアのソースを公開することになったとき、Bornはその手応えに驚いたという。「最近の一般向け電化製品は、細部の良し悪しによって勝負が決まります。これらの細部を正しく作り込んでいくには、継続的に送られてくる多数のフィードバックが必要です。そしてオープンソース(また、一般にはコミュニティ)は、そのフィードバックを得るための最善の手段なのです。ブラウザの機能やメニューの構造など、フォーカス・グループでは決してフィードバックを得られない部分もあります。一昔前ならコンサルタントを雇っていたでしょう。しかし、彼らはたいていは役に立ちません。今では才能のある人が間違いなく頂点に立って動いてくれますよ」。

もちろん、Neurosをオープンソースコミュニティに委ねたのには、もっと明確な理由が存在する。Bornは次のように言う。「我々はオープンソースコミュニティを、この製品のマーケットと捉えています。少し前にシカゴ大学に調査を依頼したのですが、その結果報告によると、”オープンソース信奉者”は非常に大きなマーケットであり、しかも、このマーケットを実際に直接のターゲットと見ている電子メーカーは存在しないとのことでした。

Neurosには、最初のオープンソース・プロジェクト、すなわちNeuros Iの開発に熱心に取り組んだボランティアたちを雇い入れたという経歴がある。「私たちは彼らを開発者やネットワーク管理者、顧客サービス担当者として雇いました」(Born)。

Neurosが開発者たちを惹きつける理由について聞いてみた。「Neuros Iにpodcastingのサポートを追加するなど、オープンソース・プロジェクトに”ご褒美”を用意することを試みました。オープンソース開発ならではの良さを損なうことなく、開発者の手元にいくらかお金が入るような方法を探したのです。ソースコードを共有することだけを言っているのではありません。何でも自主的に試してみる姿勢、自分のために働く姿勢こそが、オープンソース開発の素晴らしさと言えます。仕事としてよりも、個人的なプロジェクトに対して抜群に優れた力を発揮するオープンソース・プログラマがいるのです。なぜだかわかりますか?もちろん、彼らはライセンスのためだけにソフトウェアを開発しているわけではないからです。その気持ちを壊さないよう注意しながら、コミュニティに資金を投入する方法を見つけなくてはなりません」。

もちろん、製品を発表することは、ソースコードをアップロードすることほど簡単ではない。サードパーティとの間で知的所有権に関するいざこざがあったために、442のリリースの後、ファームウェアのソースコードをしばらくの間、公開することができなかった。そのようなことはNeuros Iでも起きた。しかし、これを心配するせっかちな人たちに、Bornは「私たちはオープンソース企業です。そうでなければ、オープンソース企業になろうとしている企業です」。と断言した。

ラジカルな開発モデルを使用する際の問題点

しかし、何の落とし穴もなくこれまでやってきたわけではない。「1つには、コミュニティにとっての優先順位が、必ずしも消費者主導では決まらないという問題があります。つまり、ユーザ(高度な知識を持つ人も含む)にとって”使いやすさ”は非常に重要ですが、それにも関わらず、OSSコミュニティはその点をあまり重視しないことがあります。OSS開発者にとって使いやすいと思う場合でも、その基本となるテクノロジについて高度な知識がなければ、簡単には扱えないことがほとんどなのです」(Born)。

「何事もまっすぐには行かないのがオープンソースのプロセスというものです。いくつかに枝分かれし、プロジェクトは複数の方向に進んでいきます。現在、4つのプログラム言語で書かれた4種類の同期マネージャがあります。Neuros IIのファームウェアをオープンソースのコードに変える場合、ユーザは複数の選択肢の中から1つを選ぶ必要があります。当然、このようなことはユーザにとってあまり好ましくありません。しかし、これもOSSの自主性と自由度による当然の結果です。ゆくゆくは、ソフトウェアをモジュール式で構築しようと考えています。そうすれば、私たちも一部の分岐の開発に参加し、それらを最大限に活かすことができます。言うまでもなく、OSSの重要な価値は分岐と試行にあります。4つの同期マネージャについては、周りの人が使っているのをよく見て、どれが一番人気が高いかを判断すればよいのです。言わば小さなマーケットといったところでしょうか。ある程度までは成り行きに任せておいても、いずれ必ず介入が必要になります。そしてそれは決して容易ではありません」。

Bornによれば、ベース部分のプログラムについては、大部分をOSS開発者の助けを借りず、社内で完成させる必要があるそうだ。「デジタルシグナル・プロセッサやローレベル・ハードウェアなど、ローレベルのプログラミングについては、TIのCCSプログラムを使用する必要があります。これには多額の費用がかかります。しかし、442のアーキテクチャ(ARM上のLinuxで動作するアプリケーション)では、ほとんどのプログラムをGCCおよびLinuxのフリーのオープンソース開発ツールを使って作成することができます。もちろん、これは何をするかによって変わりますが、デバイスが”十分にオープン”になったことで、私たちは満足しています」。

原文