ライセンスとフリーライダー問題
今回はオープンソース時代のソフトウェアライセンスについてを取り上げます。
最近、テック系メディアで騒がれていることのひとつに、ElasticsearchやMongoDBといったオープンソースソフトウェア(OSS)の開発元 vs Amazonの論争があります。ビッグテックであるAmazon Web Servicesがこれらをマネージドサービスとして提供することに対し、開発元スタートアップが切れています。これらの開発元もマネージドサービスを提供しており、Amazonのやっていることはおもいっきり競合になります。そのため、開発に貢献もせずフリーライドで収益源を奪うなと怒り心頭なわけです。
ビットコイン周辺の世界はオープンソースなプロダクトが沢山ありますので対岸の火事ではないです。
そもそも、オープンソースプロジェクトへのフリーライド問題は古くから議論されており、未だにすっきりしていない点からも察せられる通り、宗教戦争じみているところがあります。
本コラムでは、どういった点が論点になっているのか、業界ではどう捉えられているのか、を追いかけてみようと思います。
なお、筆者自身は弁護士でもなく、コンピュータサイエンスをバックグラウンドとしてもつ一事業者でしかない点ご留意ください。
なぜオープンソースなのか
少し歴史的なところをみてみましょう。オープンソースの意義を考える上で、インターネットが誕生した経緯を知ることは有用です。今では当たり前のように使われているインターネットですが、その誕生は1960年代からの通信ネットワークプロトコルの研究に端を発します。
当時より、大学等の研究者たちはお互いに共同作業が可能な研究用のネットワークを構築してきました。電子メールもここで道具として利用するために発明されたものです。
さて、この研究用のネットワークですが、ここで大事にされた考え方にピアレビューとオープンなフィードバックがあります。つまり、オープンにコミュニケーションして、たくさんコラボレーションをしようよ、ということですね。
なぜオープン性が重視されたかというと、ソースコードを内緒にし、その入手、使用、改変、複製などに関する権利を積極的に制限するソフトウェア(プロプライエタリ或いはクローズドなものといったりします)に対する疑問やストレスを感じる人がいたからです。
当時、研究に利用するコンピュータ(ワークステーションといいます)では、UNIXとよばれる大変高価な商用OSが利用されていました。なぜ高価なのかというと、UNIX OSメーカー各社は、自社の責任のもと大変な開発リソースを投下し、独自技術の固まりでソフトウェアのクオリティを担保していました。そのため、そのコストを回収できるほどの価格にて提供されていたからです。
また、メーカー各社はせっかく自社が頑張って開発したものですから、その法的権利をガチガチに制限します。そのため、こうしたソフトウェアは高いしコピーして使っちゃいたくもなりますが、勝手にコピーしてコミュニティで共有するとかは御法度です。
また、部分的にソースコードを見る権利があったとしても、改変して利用するのにハードルがあったりします。致命的なバグを見つけたからと修正して、善意でコミュニティに勝手に共有することも御法度です。
結果、致命的なバグがあるのにも拘わらず、その上解決法が分かっているのにも拘わらず、なかなか修正されないといったこともあり得ます。
研究者というのは、特にこうしたことがストレスになる人々です。オープン性は、こうした歯がゆい状況への打開策として重視されたわけですね。
フリーウェアの時代へ
こうしたオープン性を重視する姿勢は、1983年に始まるRichard StallmanのGNUプロジェクトにて一つの大きな節目をむかえます。いわゆるフリーソフトウェアの時代を迎えたのです。
フリーとはいっても無料という意味ではなく、自由(Freedom)という意味です。有料で提供しても構いません。
フリーソフトウェアは、ユーザーの好きなように自由に使用できることを重要視したものです。オープンソースであることはもちろん、改変して利用してよいですし、コミュニティに配っても問題ないです。
GNUプロジェクトでは、こうした考え方をGNU General Public Licenseとして固めました。これはGPLライセンスと呼ばれ、今も大変よく利用されています。大きなところだと、UbuntuやRaspberry Pi OS といったGNU/Linux系OSのカーネル(中心となるソフトウェア)がGPLライセンスで提供されています。
ビットコインの世界だと、例えばライトニングネットワークノードのUmbrel OSがLinuxカーネルですね。
商用ソフトウェアでも利用されています。例えば、RedHat Enterprise Linuxなどがあります。
ソフトウェアライセンスが引き起こす軋轢
GPLライセンスを中核とするフリーソフトウェア運動は、上述のプロプライエタリ或いはクローズドなソフトウェアへの対抗意識がその活動の中心を占め、特許権や著作権などの知的財産権による独占を否定する社会変革運動です。
ちょっと過激な響きを感じますよね。実際、強烈です。
GPLライセンスには感染力があります。どういうことかというと、自分のつくっているソフトウェアにGPLライセンスで提供されたライブラリ等のソフトウェアを取り込むと、自分のソフトウェアもGPLライセンスで提供しないといけない、というルールが課されるんですね。
これは、開発者を一般に募ったり(コミュニティドリブンな開発)、ソフトウェア間でソースコードをシェアしたりして、より迅速に開発を進めたい、といったオープンソースのメリットを理解している一部のソフトウェア関連企業にとっては頭の痛い問題です。
ビデオカードメーカーなどハードウェアもつくっているところは知的財産権を意識します。自社のハードウェア設計を内緒にしたいため、直接ハードウェアと会話をするドライバーソフトの中身を絶対に公開したくないんですね。そのため、ビデオドライバーは今もクローズドなものが殆どです。こうした企業にとってGPLライセンスの感染力と、その全てを公開しなきゃいけない、というルールは脅威です。
ということで、今もGPLライセンスは身近なところで実は問題になっていたりします。例えば、
- Apple Storeで公開するアプリにはGPLライセンスなライブラリを利用できない
- 家庭用ルーターのメーカーが、GPLライセンスなライブラリを利用していることをあとから把握し、急いで全ソースコードを泣く泣く公開した
といった具合です。
オープンソースとフリーソフトウェアの違い
さて、インターネット黎明期に話を戻します。世界初のブラウザーにネットスケープというものがあるのはご存じでしょうか。
ネットスケープ社は、暗号技術をブラウザに導入しセキュア通信(HTTPS通信)を実現させたところでもあります。暗号技術の一般社会へのアダプションを進めた点で圧倒的に素晴らしい業績で、個人的に凄く尊敬してます。今ではベンチャーキャピタリストで名をはせているマーク・アンドリーセンがつくってたりします。スーパーマンですね。
そんなネットスケープですが、当初は有料でクローズドなソフトウェアでした。マイクロソフトとのブラウザ戦争を経る中で、ネットスケープはオープンソース化されました。営利企業がフリーソフトウェア的なことを始めたのです。
そんなわけでここから、オープンソースとフリーソフトウェアとは別物を指す言葉になりました。
- オープンソース:フリーソフトウェアの方法論的、生産的、ビジネス的側面を指す
- フリーソフトウェア:ユーザーの自由という概念に根ざした問題の哲学的側面を強調する呼称
(※ RedHad社の表現を参考にしました)
2000年代になると、フリーソフトウェア運動のGPLライセンスより、より緩やかなライセンスを含んだ形でオープンソースライセンスという体系が整理されました。
オープンソースライセンスには例えば、MITライセンス、BSDライセンス、Apatcheライセンスなどがあります。 乱暴にいうと、ソフトウェアを勝手にコピーして改変して使ってよいけど出典は明記してね、といったライセンスとなります。
GitHubを見に行くと分かりますが、現在殆どのオープンソースソフトウェアはこれらのどれかのもとで配布されています。Bitcoin CoreはMITライセンスですね。
上で見てきたようにソフトウェアライセンス問題はイデオロギー的な面もあり、真面目に向き合うとめちゃくちゃ疲れるのに、結論がでなかったりします。
そのため、オープンソースで公開する場合はとりあえずMITライセンスにしておきましょ、といった心境がほとんどの開発者の気持ちなのでは、と思います。
OSSの問題
さて、ちょっと長くなってきたので、ここでオープンソースソフトウェアが直面している課題を最後に整理しようと思います。OSSはメンテナンス不足がよく問題になります。
例えば、2014年にはHTTPS通信の基礎を成すOpenSSLというOSSに大きな脆弱性があることが問題になりました。OpenSSLプロジェクトの収入は寄付を中心に年間2000ドル程度だったとのことで、フルタイム開発者は一人だけでした。とても大きな脆弱性なのに2年間もほっとかれていた事実が業界に衝撃を与えました。お金がないのが大問題なわけです。
そのため、今ではオープンソースでありつつも、中心メンバーで構成される母体会社が堂々とマネージドホスティングサービスを有償提供したりするのがトレンドです。経済的安定はOSSメンテナンス不足問題によく効く特効薬です。ですが、そこに冷や水をさしたのが冒頭で紹介したAmazon Web Servicesなんですね。
さて、こうしたもめ事はビットコインの世界でもあります。ビットコイナーは公正原理主義的な側面もあるので然もありなんですね。
私自身詳しくは分かっていないただの傍観者なのですが、最近もUmbrel, coinkite, SphinxといったOSSとそのユーザー、その他OSS開発者入り乱れで揉めているようです。
営利目的のVCバックの事業者が、OSSを丸々コピーしておきながら、元の開発チームにクレジットを与えずに、あたかも自分たちが作ったソフトウェアとしてアピールしている、そのマーケティングのやり方がどうなの?という問題提起らへんが話の中心なようです。
これに対し、色々な意見が飛び交っていると。べつにいいじゃん、そういうものでしょ、というものから気に食わん!というものまで色々です。