Linuxを含むOSS(オープンソースソフトウェア)の長期的なサポートを達成するためには、「脆弱性」「パッチ」、そして「コンプライアンス」という対応すべき3つの課題があります。ここからは、これらの課題についてそれぞれ説明します。
1つ目の課題である「脆弱性」では、以下のようなデータがあります。IPA(情報処理推進機構)が運営する脆弱性対策情報データベースJVN iPediaに登録される脆弱性対策情報の件数が、2014年の8128件から2018年には1万4264件まで増えており、4年間で1.75倍になっているのです(参考文献[1])。このような脆弱性に対する修正にかかるコストは年々増加しています。
2つ目の課題である「パッチ」も増大しています。表1は、長期サポートに対応するLinuxであるLTS(Long Term Support)版Linuxにおけるパッチの数を示したものです。
現在、5つのLTSがアクティブですが、リリース後のパッチの総数はそれぞれ1万件前後にまでのぼっています。LTS4.19は最新のLTSで、このデータを取った時点でリリースから4カ月しかたっていませんでしたが、パッチの数は3000件近くにのぼっています。LTSのライフサイクルは原則2年(バージョンによっては6年)ですが、組み込み機器のライフサイクルは通常それよりも長くなります。つまり、組み込み機器にとって、LTSのライフサイクルが終わった後のパッチの作成が大きな課題になるのです。
3つ目の「コンプライアンス」も大きな課題です。2018年に、MongoDBをはじめとした幾つかのOSSのライセンスが変更になりました(参考文献[2])。この事例は、クラウドベンダーに対する適用制限を目的としたもので、特殊な事情に基づきますが、OSSライセンスがリリース後に変更される可能性があるという事実は広く認識されました。これまで、OSSのユーザーは、使用する前にライセンスを確認し、ユーザーがOSSの使用を開始したときにそれらのライセンスを順守するようにしていました。しかし今後は、製品の出荷後も継続してライセンス状況を監視する負担が発生し得るのです。
これらの課題への対策は、組み込み機器ベンダーがそれぞれ単独で行うのは大きな負担となります。これからご説明するCIPは、このような課題を共通認識するベンダーがコミュニティーとして集結し、連携して長期的な支援を実現しようとするオープンソースプロジェクトです。
CIPはCivil Infrastructure Platformの略称です。2016年にLinux Foundation傘下のプロジェクトとして発足しました。CIPが対象とする機器が満たすべき要件として、信頼性や機能安全といった「産業グレード性」、長期サポートなどの「サステナビリティ」、脆弱性管理やファームウェア更新などの「セキュリティ」を掲げ、このような要件を満たすために共通的に使用されるベースレイヤーをOSSを使って確立することを目的としています。
CIPが取り組むオープンソースベースレイヤ(OSBL)には、CIPカーネルとCIPコアパッケージが含まれています。CIPカーネルは、LTS版Linuxを基にしており、LTSライフサイクル中はLTSプロジェクトと協力して、またLTS終了後はCIPによって独自にメンテナンスしていきます。CIPコアパッケージには、最小限のルートファイルシステムを構築するための数十のパッケージが含まれています。実際の組み込み製品を構築するためには、数百のパッケージが必要になりますが、これらのパッケージはCIPの範囲外であり、CIPを利用するユーザーが自分自身で用意する必要があります。
Copyright © ITmedia, Inc. All Rights Reserved.