他方、このやり方だとオープンソースのエコシステムの協力は得られない。
そこで、IoTivityという別の団体を形成、ここでOICの仕様をオープンソースベースで構築するとともに、コードを広く提供してエコシステムを充実させる方策を採った。そうなると問題はOICとIoTivityでは同じ仕様が使われるか?ということだが、これに関しては明確な答えは今のところ出ていない(というのは、OICがそもそも仕様を公開してくれないので、比較が出来ないからだ)。
技術的には「OICの仕様がIoTivityに対して後方互換性を持つ」ような形の実装は十分可能である。つまりベースになるのはIoTivityの仕様であり、これはOICデバイスもIoTivityデバイスも当然互換性を持つ事になる。それとは別に、OICには追加仕様が設けられ、通信するデバイス同士がどちらもOIC対応ならばその追加仕様が利用できるといった形だ。これであれば、オープンソースベースのIoTivityデバイスも安心してOIC機器と相互接続性を維持できることになる。
実のところ、こうしたシナリオはOICの創設当時から構想されていたのではないかと思われる節がある。それを裏付ける最大の根拠は、設立わずか3日後の2014年12月30日付けで、IoTivity 0.9.0のソフトウェアがリリースされていることだ。
この0.9.0では
の各プラットフォームがサポートされるほか、まだ不十分としながらTizenやYoctoもサポート対象とされている。まぁ、インテルベースの32bit/64bitプロセッサをベースとしたプラットフォームがメインで、幾つかのARMチップと、AtmelのATMega 256が主な対応となっている形だ。ただ、配布されているソースを見ると、ビルド用のスクリプトはAndroid/Arduino/Darwin/iOS/Linux/Windowsが用意されており、ビルドそのものはマルチプラットフォーム対応が既に済んでいることが分かる。
ところでUbuntu LTS 12.04がターゲットということで、必然的に対応するチップは限られる事になる。このあたりはRelease 0.9.0のプレビュー版ということもあり、将来はUbuntu LTS 14.04 LTSなどもう少し新しいプラットフォームに移行してゆくかもしれないが、まず試すには12.04で十分ということだろう。
ただちょっと勘繰ると、Ubuntu LTS 14.04は2014年4月にリリースされている訳で、これを使っての開発も不可能では無いはずだ。にもかかわらず12.04がターゲットというのは、Release 0.9.0に含まれるソフトウェアは2012〜2013年あたりに開発が始まっており、14.04に移行させる時間が取れなかったのかもしれないと想像してしまう。
現在の0.9.0でサポートされている主な機能はこちらに列挙されているが、
といった項目が、まだ完全ではないにせよ実装されている。
下のPhoto01はIoTivityのフレームワーク構造で、OICのフレームワークとほぼ一緒で、違いは“Framwork API”という層が無いことだけだが、Featureのページを読む限り別にFramwork APIがなくなったわけではなく、それぞれの機能(Discovery/Data Transmission/Device Management/Data Management)ごとにAPIを提供しており、図では省いただけということらしい。
現状ではこの0.9.0がいつ1.0になるかに関しての公式なコメントは出ていないが、Git repositoryではそれなりにアップデートが行われており、OICがなかなか正体を現さないのと対照的にIoTivityはまずまずの立ち上がりとなっている。後はこのIoTivityがOICの盛り立てにどこまで貢献できるのか、というあたりが今後の焦点になりそうだ。
Copyright © ITmedia, Inc. All Rights Reserved.