LinuxCon Japan 2013 Preview

第6回 LinuxCon Japan 2013でわかる組込み開発のOSS活用の今

この記事を読むのに必要な時間:およそ 2.5 分

オープンソースソフトウェア(OSS)の開発に携わる,世界中のエンジニアが参加する「LinuxCon Japan」が2013年5月29日から31日にかけてホテル椿山荘東京で開催されます。この注目のイベントに先立ち,Linux FoundationのConsumer Electronicsワーキンググループ内の「LTSI(Long Term Support Initiative)⁠プロジェクトでリーダーを務める柴田次一氏にお話を伺いました。

LTSI(Long Term Support Initiative)プロジェクトリーダー 柴田次一氏

LTSI(Long Term Support Initiative)プロジェクトリーダー 柴田次一氏

組込み領域でのOSS利用をサポートするLTSI

――まず,LTSIプロジェクトを立ち上げることになったきっかけから伺えますか。

組込み領域ではOSSを多数を活用していますが,この組込みとOSSにはギャップがあるということを感じていました。組込みではターゲットとなるデバイスやリリース時期にフォーカスして開発を進めるため,利用するOSSのバージョンはその時点での最新版とは限りません。一方でOSSの世界では,基本的に最新バージョンに対してコントリビューションを行っていきます。このように開発の方向性が異なる点が,組込み開発でOSSを利用することの難しさの1つだったのです。そこでこの世界で開発を行っている能力の高いエンジニアや技術者の力とOSSコミュニティをどうマッチさせるかを考えた結果,LTSIプロジェクトのアイデアが生まれたんです。

こうしたことを私とルネサス ソリューションズの宗像尚郎氏で考えて動き出し,それをLinux FoundationのCEワーキンググループで共有したところ,多くの企業の賛同を得ることができ,プロジェクトを本格的に始動させることになりました。

――LTSIプロジェクトの具体的な活動内容を教えていただけますか。

LTSIプロジェクトには3つの柱があります。まず1つ目は議論する場の提供です。OSSなのですから,バグの情報や改善要望といったものを共通の場で議論し,それをコミュニティで共有していこうということです。

2つ目の柱は,長期的に使えるカーネルを共同でメンテナンスするというものです。同じバージョンのカーネルを利用すれば,問題を共有したり,共同で改善を進めたりすることが可能になりますよね。そこでLTSIでは,コミュニティでメンテされている LTS(Long Term Stable)となったカーネル(セキュリティフィックスやバグフィックスがコミュニティから提供される)をベースに,組込み開発で使えるLTSIカーネルとしてリリースするという活動を行っています。

3つ目は,エンジニアがコミュニティに参加することを支援するための場の提供です。何かわからないことがあったとき,誰かに質問できるような場を提供し,技術者やエンジニアとコミュニティをつなごうという活動です。

OSSを利用した組込み開発の負担を軽減

――LTSIの最近のトピックを伺えますか。

実は昨年のLinuxConのキーノートセッションで,LTSIカーネルの次のバージョンは「3.4」ですよとお話をしました。その後,コミュニティの協力を得ながらパッチを集めたりテストを行ったりして,2013年1月にLTSI 3.4カーネルを公開しています。

このバージョンでは670ほどのパッチを適用しており,具体的にはLinuxカーネル3.4の後にリリースされた新機能をバックポートして取り込んでいるほか,新たなハードウェアのサポートも行っています。

LTSI 3.4カーネルに取り込んだ機能としては,たとえばContiguous Memory Allocator(CMA)と呼ばれる,実装メモリが少ないシステムで有効にメモリを活用できる機能があります。これはメモリ容量に制限があることが多い組込み開発では非常に重要な機能であることから,バックポートの形でLTSI 3.4カーネルに取り込みました。また今後2年間のセキュリティフィックスやバグフィックスが自動的にマージされるため,組込み業界の方々には安心して使っていただけるカーネルになっています。

――従来はそうした作業を各企業が個別に行っていたわけですよね。

そうですね。ですので最新のカーネルで出てきたバグフィックスやセキュリティフィックスを自分たちでバックポートする必要があったのですが,LTSIカーネルを使っていただければそれらの作業が不要になるというわけです。これにより,それらの作業のための工数を削減できるほか,製品リリースまでの期間短縮にもつながると考えています。

――今回のLinuxConでは,⁠Automotive Linux Summit 2013」も併催されることになっていますが,LTSIと自動車業界が連携することもあるのでしょうか。

そうですね。LTSIに興味を持っておられる自動車業界のエンジニアの方も多いですし,たとえばバグやパッチを共有するなどといった形でLTSIの成果を活用してもらえるとありがたいなと考えています。

ただLTSIがフォーカスしている領域と自動車業界では,カーネルのメンテナンス期間に対する要望が大きく異なります。たとえばハンドヘルドデバイスであれば,新しい機能をどんどん取り込む必要があるため,私たちは新しいカーネルを毎年リリースし,それぞれのバージョンは2年間メンテナンスするというスパンにしています。一方,自動車業界で求められるメンテナンス期間は10年程度と極めて長期間であり,これに対応していく必要があるのです。

こうした違いをどうするのか。たとえば毎年新バージョンをリリースし,それぞれのバージョンを10年間メンテナンスするということになると,10年後には10ものバージョンを管理しなければならない。それはちょっと簡単にはできないですよね。こういった部分について,これから議論を進めていく必要があると考えています。

柴田氏が語るLinuxCon Japan 2013の見どころ

――今回のLinuxCon Japan 2013について,LTSIとしての見どころを教えてください。

LTSIではLinuxCon Japan 2013に向かって,次のLTSIカーネルのバージョンを決めていくという動きが起ころうとしています。最初にリリースしたカーネルのバージョンは3.0で,その次が今年リリースした3.4になります。この流れから「次のバージョンは3.8だろう」と考えられた方が多いのですが,LTSIカーネルのメンテナであるGreg Kroah-Hartman氏が次バージョンは3.8ではないとブログで明言したんです。

Linuxカーネルはつい先日3.9が登場し,次に3.10,そして3.11とリリースされることになります。この辺りからLTSIカーネルとして適切なバージョンを選択することになるでしょう。LinuxCon Japan 2013では,こうしたLTSIカーネルの次バージョンの開発に向けた最新状況をお話したいと考えています。

また現在LTSIでは,ユースケースプログラムという取り組みを始めています。これはCuBoxなどの組込み機器に実際にLTSIを組み込んでいただき,その結果をレポートしてもらうという活動です。LinuxCon Japan 2013では,この取り組みの結果を来場者の皆さんに見ていただけるようにしたいですね。

もう1つ注目していただきたいのはYocto Projectとの連携です。YoctoはLinuxディストリビューションを作るためのOSSであり,これを利用することでインターネット上で公開されているソースコードを利用して,オリジナルのLinuxディストリビューションを作ることができます。LTSIのメンバーがYoctoプロジェクトと相談した結果,LTSI 3.4カーネルをサポートするYocto 1.4 Dylanが2013年4月26日にリリースされています。これにより,Yoctoを使ってLTSIカーネルをベースとした独自ディストリビューションを作ることが可能になりました。こうしたことをLinuxCon Japan 2013のYocto Projectのブースで見ることができると思います。

――最後に,LinuxCon Japan 2013に期待されていることを教えてください。

LTSIに限らず,OSSのメリットは単にコードが共有されるということだけではなく,問題や結果を共有したり,課題をフィードバックして新しい開発に結びつけられたりすることが,とくに業界の技術者やエンジニアにとっては重要なメリットだと思うんですね。LinuxCon Japan 2013では,そういったメリットをみんなで享受できるような形になるとありがたいですね。

――本日はありがとうございました。

LinuxCon Japan 2013開催概要

日程2013年5月29日(水)~31日(金)⁠ Automotive Linux Summit Japan Spring 2013は2013年5月27日~28日
会場ホテル椿山荘東京
参加費2月28日まで300USドル,4月30日まで350USドル,5月1日以降425USドル 学生:100USドル
申し込みURLhttp://events.linuxfoundation.jp/events/linuxcon-japan/register

コメント

コメントの記入