お使いのブラウザは最新版ではありません。最新のブラウザでご覧ください。

CNET Japan ブログ

オープンソースを利用して情報家電を作るTiVo

2003/09/10 10:05
  • このエントリーをはてなブックマークに追加

プロフィール

umeda

シリコンバレーで経営コンサルティングを行なう傍ら、ベンチャーキャピタリストとしても活躍する梅田望夫さんが、IT業界の先を読むのに役立つ英文コンテンツを毎日紹介していきます。これを読めば、英語と業界動向を読む力が同時に身に付くはず(このブログの更新は2004年12月30日で終了しました)。
ブログ管理

最近のエントリー

ACM(Association for Computing Machinery)という老舗の学会が出している「ACM Queue」という雑誌がある。だいたいの論文や記事は無償で読めるようだ。

「July/August 2003」(7-8月号)はオープンソースの特集号。オープンソースについてのけっこうのボリュームのある7本の論文や記事がアップされている。今日はその中の「From Server Room to Living Room」をご紹介しよう。TiVoのCTO、Jim Bartonが書いた、TiVoにおけるオープンソース利用の実際についての論文である。

「JIM BARTON is co-founder, chief technical officer, and senior vice president of research and development at TiVo Inc. He is responsible for all product development, and his area of emphasis is on software and digital video streaming technologies behind the TiVo Service.」

バートンはTiVoの共同創業者兼CTO兼R&D担当副社長だ。

この文章は、9章立て(それぞれは簡潔にまとまっている)の論文スタイルで書かれている。

1: A Brief History of Open Source

2: The GNU Project and Unix Standardization

3: Linux Rising

4: A Bit of TiVo History

5: Operation of the TiVo Service

6: Open Source at TiVo inc.

7: Managing Open Source

8: Making Sources Available to Subscribers

9: References and Footnotes

最初の3章は全般的なオープンソースの歴史について。4章がTiVoの歴史。TiVoを1997年に創業する前、現CEOのマイケル・ラムジーもこの論文の筆者であるバートンも、Silicon Graphicsで働いていた。その当時のTiVo構想以来の歴史がLinuxとの関わりも含めて書かれている。5章の「Operation of the TiVo Service」というのは、TiVoのクライアント側ではなくてサーバー側で司るサービス機能の説明。6章から8章までがTiVoにおけるオープンソース活用の実際。9章は参考文献と注釈。

とても全部をご紹介しきれないので、断片的に引用・解説して、あとは読者の興味のおもむくまま、原文をお読みいただければと思う。

情報家電にLinuxが選ばれた理由

オープンソースよりもTiVoやDVRのような情報家電に興味のある人には、第4章が面白い。

今はDVR(Digital Video Recorder)のTiVoだが、1997年当時の製品ビジョンは、

「The original TiVo product, as proposed by Mike Ramsay and me in 1997, was for a home network-based multimedia server, streaming content to thin clients throughout the home.」

であった。

「To build such a product requires a solid software foundation. The home environment may be one of the most mission-critical applications conceivable. From a consumer's perspective, the device must operate flawlessly, be reliable and robust, and handle power failure gracefully.」

こんな製品を作るには「solid software foundation」(しっかりしたソフトウェアの土台)が必要だ。家庭のコンピューティング環境こそミッション・クリティカル・アプリケーションなのだから。

そして、バートンは、Silicon Graphics時代にLinuxを扱っていた経験から、Linuxを採用することに決める。

「At the time, however, open source software was viewed with suspicion.」

1997年当時といえば、まだまだLinuxもオープンソース(当時はオープンソースという言葉よりフリーソフトウェアという言葉がよく使われていたように記憶している)も、海のものとも山のものともわからない段階にあったわけだが、「Viewed with suspicion」というのは、そういう雰囲気を表現している。

当時のsuspicionの源泉は2つ。

「People often asserted that open source software could never be as reliable as proprietary software.」

「Software released under the GPL was looked upon with particular disfavor, because many people assumed that such software contaminated everything it touched and would disallow proprietary developments.」

1つはオープンソースソフトの色々な意味での信頼性。もう1つはGPLソフトウェアとProprietaryソフトウェアの共存に関わる問題であった。

「Careful reading of the GPL convinced me that these fears were unfounded and that Linux could give us a powerful development advantage while allowing the protection of our intellectual property.」

GPLをきちんと読んで、バートンはこうした疑念を乗り越えてもLinuxでいくことを決心する。このあと4章の後半では、TiVoの製品概念を固まっていくプロセスが、書かれ、5章ではサーバー側機能の解説がある。4章後半と5章はセットで読むといい。本文中でTCDと省略されているのは、TiVo Client Deviceの略である。

オープンソースを商用製品に利用する際の課題

6-8章では、オープンソースを商用製品の一部として活用していく上での課題を、TiVoという現実の会社が現実の製品でどのように解決しているかが書かれている。日本企業で同種のプロジェクトに関わっている人たちにとっては自明の内容かもしれないが、こうした記述は、啓蒙的にとても意味がある。

「TiVo uses open source products and technologies in many different ways, both in operations and in the TiVo DVR itself.」

「TiVoはサーバー側のoperationにおいても、クライアント側のDVR自身においても、オープンソース製品・技術をたくさんの異なる方法で活用している」というこの文章が6章の冒頭。6章では、ソフトウェアを、「GPL-based software」「Public domain software」「Software development」の3つに分類して議論を進めている。

7章「Managing Open Source」の冒頭では、

「The use of open source in combination with proprietary software requires attention to how the software is combined and maintained. In general, all open source software in use at TiVo, with the exception of public domain software, falls under the GNU Public Library License. GPL-based software is maintained under separate source directories with the COPYING file prominent in the base directory for the software.」

オープンソースをプロプラエタリソフトと合わせて活用していく上では、その管理に注意が必要である。パブリックドメインを除いては、TiVoで使われているオープンソースソフトは、すべて「GNU Public Library License」の縛りが適用されるからだ。GNU GPLについては、「GNU GPLに関して良く聞かれる質問」も合わせてご参照。

そして、8章「Making Sources Available to Subscribers」の冒頭では、

「Under terms of the GPL, if we incorporate GPL-based sources into commercial products, purchasers of such products must have access to incorporated GPL sources.

TiVo complies with these terms by publishing on its Web site (http://www.tivo.com/linux) the GPL and public domain sources used in each release, along with the tools used to build those sources. The intention is that any interested party would be able to re-create the derived binary versions included in the device using those sources. No proprietary software is included in these sources.」

とTiVoが公開しているソースコードについてこう書かれている。この文章で紹介されているTiVoサイトには、

「In compliance with the GPL, we are pleased to provide our modifications to the Linux PowerPC Kernel, as well as a few new commands, and some tools to get you into the code.」

とある。何かを勉強するときに、現実の具体例から学ぶのはとても有効な手段である。興味のある方はぜひそんな観点から、TiVoとオープンソース組み込みの現実を眺めてみてください。

※このエントリは CNET Japan ブロガーにより投稿されたものです。朝日インタラクティブ および CNET Japan 編集部の見解・意向を示すものではありません。
運営事務局に問題を報告

最新ブログエントリー

個人情報保護方針
利用規約
訂正
広告について
運営会社