「BMW i3」の一部システムはLGPL採用のオープンソースソフトウェア、実際にソースコードを入手するまでの一連の流れはこんな感じ
By Car leasing made simple
ドイツの自動車メーカーBMWが販売している電気自動車「BMW i3」は、システムの一部にフリーソフトウェアライセンスの「LGPL」を採用していることが明らかになりました。
BMW *are* complying with the GPL ← Terence Eden's Blog
https://shkspr.mobi/blog/2016/03/bmw-are-complying-with-the-gpl/
BMWが販売している100%電気自動車の「BMW i3」がこれ。
By Car leasing made simple
このi3を購入したイギリス人ハッカーのテレンス・エデンさんは、自身のブログの中でi3のレビューを公開しています。i3の電気自動車としての性能は高く評価していますが、搭載されているソフトウェアはとてもひどいものと酷評。ウェブブラウザのユーザーエージェントはWindows XPのChrome 15で、YouTubeの再生はかなわず、動作は非常に遅いため「安いAndroidタブレットを購入した方がマシ」と評価しています。
さらに、i3のソフトウェアは多くの欠陥を持っており、十分に使える3Gモデムを内蔵しているにも関わらず、ソフトウェアアップデートは車体を丸ごとディーラーに持ち込んで行なう必要がある、とのこと。これは、ソフトウェアのアップデートごとにi3をディーラーに預け、アップデートが完了するまで1、2日待たなければいけないということを意味している、とテレンスさん。
さらにソフトウェアについて調査したところ、内蔵のウェブブラウザにはSSLが使用されておらず、通信の一切が暗号化されていないことも判明。ソフトウェアのダウンロード時も暗号化が施されておらず、車両登録番号が暗号化されないまま送信されていたことも明らかになります。
通信の暗号化を行なっていないことは「運転者と自動車の内部コンポーネントを危険にさらしている」とテレンスさん。さらに、BMWはi3のソフトウェアの主要アップデート時はディーラーへの持ち込みを推奨していますが、その他の小さなアップデート時はUSBメモリにデータを保存してインストールすることを推奨しています。これは信頼されていないUSBメモリを挿入するというアクシデントにも繋がりかねない、とテレンスさん。
なお、イタリアの自動車メーカー・フィアットは140万台の自動車のソフトウェアをアップデートしなければいけない事態に陥った際に、安全にソフトウェアアップデートを行なうため、なんと所有者全員にアップデートの入ったUSBメモリを送付し、これを使って車両ソフトウェアのアップデートを行なうよう促しています。
Oh, a *secure* USB.
— Terence Eden ⏻ (@edent) 2015年9月5日
There's no way that could be malicious… #antipattern pic.twitter.com/kqHtw51zQ6
i3のソフトウェアに欠陥が目立ったからか、テレンスさんはi3のファームウェアを解読します。このファームウェアも暗号化されていないため、コードは誰でも読めるようになっているとのこと。これらを見てテレンスさんは「もしかしてこれらはGPLライセンスを尊重しているのでは……?」と考えたそうです。ただし、この時点ではどのようなオープンソース・ソフトウェアが使用されているのか、という証拠は一切持っておらず、ただの推測に過ぎなかった模様。
その後、インターネット上でテレンスさんのブログを見たであろう人物がBMWのオーストラリア支部にメールで「ソースコードの開示」を要求していますが、これはカスタマーサービスに拒絶されたそうです。これについてテレンスさんは「カスタマーサービスに連絡をとったのが完全に間違い」とコメント。カスタマーサービスがソフトウェアのライセンス関連に精通しているわけがない、としてテレンスさんはBMWのOpen SourceサイトからBMW本社や法律チームなどにメールを送信したそうです。
その後、BMWの社員がテレンスさんにメールを送ってきたそうで、そのメールには「自動車のどこかにオープンソースライセンスがある」と書かれていた模様。もちろんユーザーマニュアルなどにはそういった事項は一切書かれていなかったそうですが、ソフトウェアの中でオープンソース・ソフトウェアであることを示す項目を発見しています。以下のムービーはオープンソースライセンスがどこに明記されているのかを示すムービーです。
BMW i3 Open Source Licences - YouTube
大量のテキスト情報の中に、ソフトウェアライセンスが「LGPL」であることと、ソースコードを得たい場合は「[email protected]」宛てにメールを送信する必要がある旨が書かれています。
そこでテレンスさんはBMWにメールを送信したところ、以下のようなメールが返ってきたそうです。内容は「i3のソフトウェア自体は提供できないが、オープンソース・ソフトウェアが使用されている部分の提供は可能。ソースコードが必要な場合は送付先の住所を教えて下さい」というもの。
As a follow up to last week's blog post.
— Terence Eden ⏻ (@edent) 2016年3月14日
BMW are going to ship me a copy of the source code.https://t.co/ThTtj53u53 pic.twitter.com/KWA0wFCGcR
そしてその後、以下のような手紙が届き……
この手紙と一緒にソースコードが入ったDVDが送られてきたそうです。ソースコードの容量は950MBとのこと。
無事ソースコードを入手することに成功したテレンスさんは一連の流れから「大企業なので動きが遅く、忍耐が必要だった」「カスタマーサービスは通常の質問にはしっかり対応してくれますが、ソフトウェアライセンスに関する事項にまで完璧な返答を求めるのは酷」「BMWはオープンソースのコードを公開するウェブサイトを開設、もしくはオープンソースであることをもっとわかりやすく明記すべき」「オープンソースのソフトウェアは素晴らしい!」といったことを学ぶことができた、としています。
なお、テレンスさんがBMWから入手したオープンソースのコードは、GitHub上で公開されており誰でも閲覧・ダウンロードが可能です。
GitHub - edent/BMW-OpenSource: All the Open Source Software provided by BMW for their i3
・関連記事
遠隔操作で走行中のジープのエアコンを止めたりエンジンを切ったりする実験ムービー - GIGAZINE
スマートキーをハックして遠隔チームプレイで手際よく高級車を盗み出す驚愕の手口が明らかに - GIGAZINE
テスラが「モデルS P85D」のファームウェアを遠隔ダウングレードしたことが判明 - GIGAZINE
警察に配備される400万円レベルの高級ドローンでも遠隔地からハイジャックできてしまうことが明らかに - GIGAZINE
伝説的ハッカーが自動運転車をわずか1カ月で自作、すでに公道走行済み - GIGAZINE
・関連コンテンツ