Linuxおよびオープンソースソフトウェア
近年では組込み系でもLinuxが必須、そのサポートが急務
- ――宗像さんは、
Linuxやオープンソースコミュニティに、 どのように関わっておられるのでしょうか。 宗像:私が所属しているのは、
マイクロコントローラを中心とした半導体メーカ、 ルネサスグループです。私は、 オープンソースコミュニティの中でルネサス製のデバイスを動かすコードをコントリビュートする立場です。一方、 近年では組込み系でもLinuxが使われる場面が増えてきており、 そうしたユーザのサポートも行っています。つまりコミュニティを向いた仕事と、 自社の顧客を向いた仕事の両方をやっているのが現状です。 もともと私は、
ルネサスの前身となった日立製作所でSH3やSH4の頃からLinux対応に取り組んでいました。当時はメーカとして公式にサポートしていたわけではありませんが、 SHシリーズはLinuxも動かせるため、 顧客の要望もあって個人的にサポートをしていたような形です。ちなみにSH3の頃には、 Linux、 sambaを乗せて、 PIOでATAインタフェースに接続させた家庭用NASを提案したりもしていました。これはPC周辺機器メーカに採用され、 実際に商品化されています。 - ――たしかに、
SH3の頃は、 まだLinuxは組込み系で一般的なOSではありませんでしたね。それが近年になって、 急にLinuxが必要になってきたということでしょうか。 宗像:最近ではマイコンも数百MHz、
1GHzといった高クロックの製品が珍しくなくなり、 また情報家電などはLinuxを使わなければ製品を作れない状況になりつつあります。ルネサスにとってのユーザ、 つまり家電などのメーカの多くが、 これまでほとんどLinuxを使った経験がないまま、 ここ数年で急に、 Linuxを使わざるを得ない状況に直面しているのが実態です。 テレビを例に挙げると、
2005年頃から地上デジタル放送が広まってEPG (電子番組表) の機能が向上してきたのに伴い、 グラフィカルな操作性が求められるようになり、 豊富な機能を持つOSが必要となってきました。このあたりまでは各種の組込み用OSが使われていたものの、 2011年頃からはYouTubeなどインターネット上のコンテンツを利用するテレビが急増し、 他の組込み用OSでは使えるものがなく、 もはや好む好まざるに関わらずLinuxを使うしかない、 という状況になってきています。 - ――家電のネット化がLinuxを必要としているのですね。家電メーカにとって、
これまで親しんできた既存の組込み用OSと比べ、 Linuxの扱いはどのあたりが困難なのでしょう。 宗像:最大のポイントは、
以前と比べるとソフトの分量が膨大になったことです。昔の家電メーカは搭載するソフトウェアの隅々まで把握した上で製品を作っていましたが、 Linuxは1社で中身を完全に把握しきれるようなものではありません。 2年間の実務経験のあるソフトウェア技術者が一人で把握できるのは100kラインと言われていますが、
Linuxは15Mライン、 150人くらいいないと全てを見られない計算です。エンタープライズ系の規模の大きな会社では全て把握できるところもありますが、 組込み系の会社では困難。セットメーカにとってみれば、 中身の分からないブラックボックスが入ってきているようなものなのです。そのため、 我々半導体メーカーに対してLinuxのサポートが期待されるケースも増えています。 また、
PCやエンタープライズ分野では営々とOSSに取り組んできたのに対し、 組込み分野では急に大きなソフトを扱わねばならない状況に直面したことも、 ユーザたちの混乱を招いている面があるでしょう。
コミュニティとインダストリーの発展サイクルの食い違い
- ――とはいえ、
半導体メーカによるサポートも限界があると思われます。 宗像:たとえば ARM社はCPUコア部分だけを供給しているので、
タイマや割り込みコントローラなどは各SoCベンダが独自の、 でも基本的には似通った機能を実装することになります。 またエラッタに対するソフトウェアワークアラウンドも各社で微妙に違うものが適応されているという実態があります。 - ――同じCPUコアなのに、
半導体メーカーごとに類似のコードが別々にメインラインに登録されているというのは冗長ですね。 宗像:ARMコアを使うSoCメーカでは基本的に同じ問題意識を持っていると思います。また、
近年では工業製品のバリューチェーン内で半導体の位置が相対的に低くなってきているという背景もあります。そこで、 業界内で共通している部分が重たくなってきたのなら、 それをCommonにしよう、 業界でできることは業界でやっていこう、 という考えが出てきました。それがLTSIにつながっています。 - ――協業できる部分は業界で協業して各社の負担を軽くし、
その分の余裕を各社独自の競争力につなげていこう、 といった感じですね。しかし、 LTSIに至るまでの道のりも平坦ではなかったようですが。 宗像:LTSIに先立つインダストリー側のグループとしては、
CE Linux Forum (CELF:2003年に家電メーカーなどの団体として設立され、 2010年10月にThe Linux Foundationと合併、 現在はThe Linux Foundationの技術ワーキンググループ 「CE Working Group」 となっている) がありました。しかし、 Linuxを使い始めて日が浅い業界ですから、 なかなかコミュニティ側の文化を理解できず、 紆余曲折があります。 実際、
CELF発足当初にOSSコミュニティに対して要求を出したことがありますが、 コミュニティ側からは総スカン状態でした。 「要求を出すくらいならコードを書け」 というのです。コミュニティの文化としては当然ですよね、 コミュニティは皆でコードを書いて、 進化していくことに価値があるのですから。 しかし、
特定の製品を作ろうとしている人にとってみれば、 他の人のことまで考えている余裕がないのも事実。そこにコミュニティとインダストリーのギャップがあります。インダストリー側から求められているのは、 ソフトウェアの品質を上げることと、 新しいカーネルで取り入れられたフィーチャーを以前のバージョンのカーネルにもバックポートすること。そこで、 皆が使っていけるような、 間を埋める中間的な存在をきちんと作り、 メンテナンスする存在が求められるようになったのです。 - ――それがLTSIというわけですね。
宗像:これまで何年もやってきたことが、
LTSIに結びつきました。同種の取り組みとしてはエンタープライズ分野のLTS (Long Term Stable:長期安定版) をベースにした商用ディストリビューションがありますが、 組込み系でも実は同様の取り組みをしようとした企業があったものの、 うまく行かなかった経緯があります。The Linux FoundationのプロジェクトとしてLTSIが立ち上がったことで、 今後が期待できるでしょう。
長期サポートだけでなくメインラインへのフィードバックも重要
- ――カーネルメンテナーのGreg Kroah-Hartman氏が今後安定版カーネルを年に1回選定、
それを2年間継続してサポートする、 といった内容を聞いています。現時点での動きはどのようになっているのでしょう。 宗像:現状、
決まっているのは、 今年6月末に最初のリリースを出すという目標です。リリースに先立って5月の末にはコードをフリーズさせる予定となっています。半導体や携帯電話メーカーなど各社が独自に作ってきた機能を出し合い、 それをGregが選んでいるところです。 この最初のリリースはLinuxカーネル3.
0をベースとしたものですが、 まずコードフリーズをする時点の最新カーネルまでに入ってきたコードを要求に応じて取り込んでいこうとしています。その上で各 SoCベンダ、 セットベンダが抱えているメインラインに登録できていないバグ修正、 改善などのコードをレビューして選択的に取り込みます。これができると、 各社が独自に製品コードに適用しなければならないパッチは大幅に減るはず。同時に、 LTSI に採用された各社の独自修正を開発中の最新のカーネル向けのパッチに書き直してマスターコードに反映させる努力も行っていきます。 なお、
LTSIはカーネルだけのプロジェクトであり、 Yocoto が提供するようなビルドシステムやビルド用のツールチェイン、 ユーザーランドまでは含みません。ただし、 LTSIのメンバー企業には組込み系ソフトウェアを得意とするSIerやディストリビュータなども名を連ねており、 LTSI kernel を採用した Linux BSP の提供も期待できるでしょう。活動を支援しているベンダについては、 LTSI Workgroupのページを参照していただければわかります。 - ――まだ動き出したばかりのLTSIですが、
今後どのような展望が考えられるでしょうか。 宗像:現状のLTSIは、
組込み系といっても商品ライフサイクルが2年程度の情報家電を想定した内容です。しかし組込み系は応用範囲が幅広く、 例えば自動車など、 より長い商品スパンのものも少なくありません。また、 またスマートメーターに代表されるようなライフサイクルの長い社会インフラ系の機器からもリナックスのニーズが出てきています。 ネットにつながるような機器であれば、
少なくともセキュリティパッチなどはずっと必要になるはずで、 今後はより長いライフサイクルに対応できるプロジェクトに発展していく可能性があると考えています。 また、
各社が社内で抱えていたパッチを集めて一つの統合カーネルをつくるというだけでなく、 組込み分野での製品化の過程で見つかった重要なバグ修正などをメインラインにフィードバックして全体を良くしていく、 というのも重要な側面だと考えています。どちらも欠かせない、 両輪のようなものですね。 - ――組込み系ならではの機能の例というと、
どのようなものがあるでしょう。 宗像:たとえば、
最近では組込み系のCPUもマルチコア化が進んでいますね。エンタープライズ分野ではマルチコアがパフォーマンス向上や仮想化に役立っていますが、 組込み系では特定の機能を特定コアに割り当てるなどして、 リアルタイム応答性を確保するような使い方も考えられるのです。こういったことを可能にしていくのは、 我々のようなSoCベンダーの仕事だと思います。
積極的にコードを出してディスカッションを
- ――さて最後に、
LinuxCon Japan 2012参加者に期待することをお聞かせください。 宗像:LinuxCon Japanは、
日本を含むアジアでのコミュニティを作り上げていくことも目的の一つです。コミュニティ上では、 普段はメールできつい議論をしていたりしますが、 議論を円滑にする上では 「相手の顔を知っている」 ということも重要で、 そのためにも同じ場所に集まる意義は大きいと思います。 そもそもコミュニティでは、
企業内で開発するのとは違った意識が必要です。そのことも知ってもらいたいですね。企業では提出物に完璧を求めるのが当然ですが、 一人で煮詰めた、 煮詰まったようなコードをコミュニティに持ってこられても、 レビューしてもらえないのです。アジアではまだ 「オープンソース化しました」 といっても消極的な印象のケースがまだ目立ちますが、 早い段階でソースをオープンにしてコミュニティでディスカッションし、 レビューを受けてこそ、 良いものができるのです。実際やってみれば分かりますが、 囲い込むより大きなメリットがあるのです。そういう感覚を、 LinuxConでのディスカッションから感じ取ってほしいですね。 なお、
コミュニティ上の英語のやり取りに不安を持つ人もいると思いますが、 Linuxのコミュニティでも英語ネイティブでない人の方が多いのです。少しくらい英語が下手でも大丈夫、 「ソースコードで語る」 のがLinuxコミュニティ。そもそもLinuxは全てのコードやコメントがトレースされており、 皆のやったことが、 一つひとつ歴史になっているのです。日本の多くの学校ではOSの基本は教えませんが、 これを読めば勉強になるでしょう。 - ――コミュニティに貢献すると同時に、
コミュニティから得るものもありますよね。 宗像:問題に直面しても、
その多くは過去に誰かが突き当たっているはずです。調べれば、 聞けば、 出てくるはず。ちょっとツールを使うだけで解決できるものも少なくありません。 また、
実際に動かしてみてバグを見つけることもあると思いますが、 そういった情報も、 もっと出していってほしいですね。そして、 まだ誰も手を着けていない未開拓の領域も、 まだいっぱいあります。ぜひ取り組んでいただきたい。 そして今回のLinuxCon Japan 2012では、
ぜひLTSIを知ってもらいたいと考えています。最近The Linux Foundationのフェローに就任した、 LTSIのメンテナでもあるGreg氏も来日します。LTSIに参加すれば、 その彼にレビューしてもらうことができるのだ、 と思ってください。コミュニティの進化を止めてしまってはいけない。そのためには、 皆さんの積極的な参加、 発言が重要なのです。
「LinuxCon Japan 2012」の注目トピック
- カーネル技術
- Distribution
(含むパッケージングツール) - オペレーション/
運用 - リーガル/
コンプライアンス - 新しいLinux適用分野とその課題
(例:自動車、 制御システム等) - Linuxの利用・
適用の経験/ テクニック - LinuxとBusiness