メインコンテンツに移動

ソフトウェア開発のトレンド(OSSの活用)

画像
Kazuo Kajimoto
Senior Distinguished Engineer
掲載: 2021年2月2日

1. OSS利用の主流化

ここ数年、OSS (Open Source Software) がソフトウェア技術進化の中心となっています。OSSとは、ソースコードが開示されたソフトウェアを、多くの参加者がコミュニティと呼ばれる団体を介して、インターネットを通じて協力しながらソフトウェアを進化させていくソフトウェアのことです。このOSSの代表例の一つとして、データセンターから電化製品まで標準的に使われるようになったLinuxがあります。

OSSを用いると、無償でソースコード(ソフトウェアの設計図)まで手に入ることから、大部分のソフトウェアをOSSから流用し、そこに自分のアイディアを追加するだけで、自分のアイディアを含む大きなシステムを簡単に実現できる利点があります。このため、多くの企業でも今ではOSSを利用することがソフトウェア開発の大きなトレンドになっています。

また自分がOSSに追加したアイディアをコミュニティにて開示すると、多くの人がそのアイディアを利用するようになります。結果として、自分のアイディアが事実上の標準(デファクト)になっていくことが期待できます。このため、自社のソフトウェアを中心とした仲間づくりに積極的な諸外国は、OSSをダウンロードして利用するだけではなく、積極的にOSS開発に投資し、自社のソースコードをコミュニティに積極的に開示しています。

2. ルネサスとOSS

SoC (System on Chip) では、様々なアプリケーションを同時並行して動かす要求に対応するため、高機能なOS (Operating System) が必要です。お客様が、PoC (Proof of Concept) として、アプリケーション開発を行われる時、周辺のソフトウェアが充実しているため、OSとしてLinuxを利用する場合が多いです。そこで、お客様がルネサスのSoCを利用してPoCのシステム構築を行う場合、LinuxをインターネットでルネサスのSoCにダウンロードすれば、カスタマイズ無しですぐ動くようにすることで、お客様の開発準備にかかる時間を短縮できます。

LinuxをインターネットからダウンロードすればルネサスLSIですぐ動く、と言うことを実現するため、ルネサスは継続してLinuxを開発するコミュニティに改善ソースコードを数多く投稿(貢献やアップストリームと呼ばれる)しています。そして、その投稿の多くはLinuxコミュニティに採用されています。各社がソースコードを提供し、Linuxに採用され、その進化にどのくらい貢献したかを定量的に表すサイトによると、2006年以降の累計は、2021年1月の現時点で、図1に示すように当社は第10位にランクインしていることがわかります。

画像
Kajimoto_1

図1 Linuxへの貢献度ランキング

このLinuxを動かす自動車向けのソフトウェアをお客様が開発するリファレンス環境として、ルネサスは図2に示すようなR-Car Starter Kitを提供しています。

画像
Kajimoto_2

図2 R-Carスターターキット

このR-Carスターターキットの解説や、動かすためのLinuxのパッケージはWikiサイトで公開されており、R-Carスターターキットをご購入されたお客様がWikiサイトにアクセスすることで、必要な情報とソフトウェアをダウンロードすることができます。

画像
Kajimoto_3

図3 R-CarスターターキットのWikiサイト

また、汎用OSのLinuxを自動車向けに用いるべく、自動車における周辺機器を意識したOS開発プロジェクトとして、Linux Foundation傘下にAutomotive Grade Linux (AGL)と言うOSSコミュニティがあります。

このAGLにおいて、ルネサスは、プラチナメンバーの一社として、積極的に貢献をしています。そして、AGLをOSSとして開発する環境であるAGL Reference Hardwareの一つにR-Carスターターキットが採用されました。(関連記事) その結果、お客様がAGLを用いてIVI製品のソフトウェア開発を行う環境を整備することができました。

CESのような大きなイベントでも、AGLブースでは、参加各社がR-Carスターターキットに自社ソリューションを搭載し、多くのお客様にデモをしています。

画像
Kajimoto_4

図4 多くのお客様でにぎわうAGLブース(CES2019)

AGLは多くのOEM様、Tier1様、パートナー様をメンバーとしており、サプライチェーン全体でソフトウェア開発を進めています。そのような共同開発成果を、お客様は実車に採用しており、その旨がAGLからも発表されています。(AGLの発表
AGLの普及により、実車での半導体は、結果としてR-Carの採用に結びついています。

3. OSS貢献のポイント

OSSはソフトウェア開発における主流となっていますが、世界中のソフトウェア開発者が自由にOSSコミュニティに参加できるためには、OSSを動作させるハードウェアが、どの国でも容易に手に入ることが必要です。このため、OSSの開発環境は、PCやスマートフォン、あるいはデータセンターが提供する仮想マシンと言った事実上規格化された環境が中心になっています。

一方、周辺機器も考慮した組込みOSSであるAGLの開発環境においては、AGLリファレンスハードウェア仕様をコミュニティで定義しました。そしてコミュニティが準拠認定をした複数のリファレンスハードウェアが利用可能な仕組みを導入しています。(関連資料

このようにOSS開発においては、対象とするOSSを動かすためのハードウェアの必要要件を定義し、特定ベンダーのハードウェアに縛られないことが一般に求められます。またお客様も、特定ベンダーのハードウェア環境に依存するソフトウェア開発を嫌がります。結果として、コミュニティで共有されるOSSそのものは、特定ベンダー非依存になるのが普通です。

逆に見ると、OSSはハードウェア非依存であることで、多くのソフトウェア技術者が開発に参加でき、ツール、ミドルウェア、アプリケーションなど多くの周辺ソフトウェアもが充実、OSSを中心に、エコシステムが形成されていきます。その結果として、Time to marketを重視するお客様がOSSを採用するケースが増えていきます。半導体ベンダーも、OSSをダウンロードすれば、OSSの全機能が動作するよう、このエコシステムに積極的に参加することが求められています。このようなOSS活動は、半導体ベンダーにとって協調領域になります。お客様は、OSSにより、ツールが充実するので容易に開発ができますし、利用できるアプリケーションも多いので、市場の間口が広がる(容易にスケールする)ことが期待できます。

一方でOSSは、そのOSSを動作させるハードウェアや下回りのソフトウェアにより、システム全体の性能や消費電力、安全性、セキュリティには差異があります。このため、お客様はコストを勘案しながら、性能に優れた半導体を選択します。ここは半導体ベンダーの競争領域です。下回りのソフトウェアとハードウェアにより、お客様は容易に差別化ができます。

以上をまとめると、

  1. ルネサスとしてOSSをいち早くサポートし、改善に貢献することで、そのOSSに多くのツールベンダー、ソリューションベンダーの参加を促し、より開発しやすい魅力あるOSSに成長させる
  2. 多くのツール、ソリューションが容易に手に入るので、お客様が、そのOSSを選択する
  3. お客様が、そのOSS上でソリューション開発した場合、ルネサスの半導体と半導体依存ソフトウェアの上で、そのソリューションを動かせば、他社の半導体では出せなかった性能、低消費電力、機能安全、高度なセキュリティが可能になる

と言う考えで、ルネサスは敢えてハードウェア非依存なOSS開発に積極的に貢献しています。

この考えを図5に示します。
 

画像
Kajimoto_5

図5 OSS貢献でのデファクト化と実装時の差別化

このようにOSS開発においては、ハードウェア非依存でOSSコミュニティが共同開発できることと(OSS貢献)と、自社ハードウェアで動かすと性能や安心・安全、エコなどの面で差別化できることが両立するように進めることが肝要です。

ルネサスは、今後もOSSへの貢献によるソフトウェアのデファクト化を企図しつつ、下回りにおいては、お客様の差別化ニーズを満たす技術をハードウェアとソフトウェアのベストマッチで提供していきます。

この記事をシェアする