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
5: Operation of the TiVo Service
最初の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 編集部の見解・意向を示すものではありません。
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
コンテンツ学会 〜コンテンツ概念の功罪と未来
iPhonista Nightの事後報告
solrのDistributed Search
Xeon 7400シリーズのSPECの再考察
日経平均株価の落ち着く先は…
人々は自らの行為に恐怖した
先が見えない景気低迷の今こそ業務のシステム化への検討を
オトナになるということ
福祉国家の失敗〜40年前の「断絶の時代」を読む(3)みんなのお題では、ブロガー同士で質問を出し合いそれに対する回答や意見を集めています。今日はどんな話題が盛り上がっているでしょう?
エンタメCGM「gooメーカー☆メーカー」CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。
広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。
CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから
ブログの投稿はこちらから(※ブロガー専用)
今年最も活躍したブロガーを表彰します。詳細はこちらから
これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。
CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。
今週の新製品総チェック:新PS3が登場!ニコンが発表した映像製品「UP」とは?
[レビュー]2011年画質を備えた高画質、多機能Blu-ray--ソニー「BDZ-X95」
今週の新製品総チェック:よりモバイルPCとして進化した「Let's note」が登場
今週の新製品総チェック:フルサイズCMOS搭載のキヤノン「EOS 5D Mark II」が登場
今週の新製品総チェック:第4世代iPod nano登場、ソニー「α」、松下「LUMIX」に新機種も