やさしい「Apache」と厳しい「GPL」、IoT標準化に最適なライセンスはどちらか
今年の技術トレンドの1つである「IoT」。その分野のもつポテンシャルは相当なものだが、その「規格」については依然としてバラバラとしており一体感のない状態だと言える。
最近になって世界が標準化への大きな一歩を踏み出したことからも見えるように、これまでさまざまなベンダーがクラウド上に「データ・サイロ」を建設してきたが、本当に必要なものは“異なるIoTプロジェクトに携わる開発者同士のコミュニケーションをより促す”オープンな場であることは明白だろう。
だがしかし、どのようなオープンソースライセンスが開発者同士のシェアリングのために適当であるかについては、まだ答えが出ていない。その点についてCessanta社のCTOであり共同設立者のセルゲイ・リュブカ氏は、「少なくとも現段階では、より厳密なGNU一般公衆ライセンス『GPLv2』がIoTに適切だ」と考えているという。
果たして本当にそうなのだろうか?
関連記事:IoTの世界で普遍的な存在になりつつあるオープンソース
91%のエンジニアがオープンソースを使用
Evans Dataによると、現在IoTアプリやシステムに取り組むエンジニアたちは世界中で620万人おり、昨年の410万人から34%増加している。これは、2年前の予測をはるかに上回る数である。さらに1つ言っておきたいのは、この増加の裏にあるエンジニアの意欲の出所が「金銭」ではなく「知的好奇心」であることだ。そのアンケート結果についてはこちらを見てほしい。
さて、オープンソースがIoTの「リンガ・フランカ」となっていることは驚くことではない。やはりVision Mobileのアンケートから、IoTエンジニアたちの91%がプロジェクトで少なくとも1つオープンソースソフトを使っていることを認めている。レポートはその理由を「オープンソース技術は、商用ベンダーが取り組みづらいニッチな問題を解決することに優れているためだ」と結論づけている。
ここで問題になるのは、オープンソースがIoTの一部であるべきかどうかではない。IoTというあらゆるモノがつなげる分野でこそオープンソースが輝く、というのは明白だ。問題は、増え続けるIoTエンジニアたちにとって「どのようなオープンソースライセンスが最適なのか」ということである。
“寛容な”ライセンスか、“厳密な”ライセンスか
リュブカ氏によると、GPLv2のような「より厳密なライセンス」がIoT、少なくともファームウェアについては最適であるという。彼の観点では、GPLは「簡単かつ手頃にプロトタイプづくりやDIYに利用できるファームウェア」を保証するものだと考えている。
また、こういったライセンスを用いることで、エンジニアたちに「二重ライセンス」という選択肢を与えることが可能になると彼は言う。同じコードにオープンソースライセンスと商用ライセンスを適用することで、オリジナルの作者が収入を得るのと同時に、草の根のエンジニアたちは商用であることを気にせずそのコードを使うことができる。
この点について彼は次のように説明する。
「今後、IoTのためにさらに多くの開発者たちが必要となってくる。何がうまくいって何がうまくいかないのかをより理解するためにも、エンジニアや製品開発者たちとアイデアを共有することが必要だ。DIYをする人々や企業ですら、ファームウェアに金を出す理由などない。市場のニーズを満たすための実験やプロトタイプづくりは価値あるものだからだ。
だが一方で、IoTソリューション企業は、そのソリューションをよりシンプルかつ、高機能でスケーラブルなものにするために雇っているエンジニアたちを食べさせていかなければならない。以上の事実から、私は『GPLv2』がIoTファームウェアにもっとも適していると考える。」
私は長年、GPLのような厳密なライセンスはエンジニアの裾野の広がりを妨げるものであり、コードを収益化する方法を制限するものだと言ってきた。しかし、IoT市場がまだ初期段階である今ならば、リュブカ氏の言っていることは的を得ているかもしれない。
実際、エンジニアたちが『Apache』のような寛容なライセンス(あるいはライセンス自体適用しない)に傾いてきているのは事実だが、初期段階にあるIoTの標準化に関連してコピーレフト型ライセンスについて言及しておきたい。
コピーレフト型ライセンスはIoT標準化に適しているのか
コピーレフト型ライセンスでもっとも有名なものは、先ほどから話に出ているGPLである。このライセンスはよく利用されている一方で、その利用に神経をとがらせる企業、そしてエンジニアが多いのも確かだ。
私は依然GPLv2が最適であることに懐疑的だが、「あらゆるモノがつながる世界」をつくるIoTという分野においては、ソースコードの開示を条件としているライセンスが重要になってくるのかもしれない。そして、目を向けるべきは、ライセンスの厳密さよりも開発形態かもしれない。IoT標準化への歩みはゆっくりだが確実に進んでいるのだ。
また、初期のLinuxはGPLの厳密さに助けられた部分も多いだろう。だからこそ同じく初期段階にあるIoTにおいても、GPLやAGPLを使用することで得られるその開発形態は非常に役に立つのだろう。しかし、長期的な目で見ると、MITやApacheライセンスのような比較的ゆるやかなライセンスの方が、エンジニアにとって取っ付きやすいのではないかとも思う。
関連記事:GoogleはNestプロトコルのオープンソース化でAmazonに勝負を挑む
皆さんはどう考えるのだろうか? もしよければ意見を聞かせていただきたいものだ。
ReadWrite[日本版] 編集部
[原文4]
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- やさしい「Apache」と厳しい「GPL」、IoT標準化に最適なライセンスはどちらか
- やさしい「Apache」と厳しい「GPL」、IoT標準化に最適なライセンスとは
- コピーレフト型と非コピーレフト型OSSライセンスの違いとは?
- OSSライセンスを勉強する前に知っておきたいこと
- IoT開発の楽しさは「多様性」にある
- IoT開発の楽しさは「多様性」にある
- GitHubを利用する際に注意したいOSSライセンスのポイントとは
- 新CTO、ビル・レディンガム、オープンソースロジスティクスについて語る。
- テキストエディタ「Notepad++ 7.9.3」リリース
- 米Red Hat「Ansible 2.1」提供開始、プライム・ストラテジー「KUSANAGI RoD」β版無償提供、ほか