オープンソースに関するまとめ 【ライセンス戦略】

Linux

Linux、Python などのオープンソースソフトウェア(Open Source Software、OSS)のライセンスについてまとめておきます。
無数にあるソフトウェアの中で、どのソフトウェアを採用すべきか判断するときの一つの尺度になると思います。

背景

Linux、Python、Scikit-learn、Tensorflow など、ソフトウェアをオープンソース化することで市場浸透が進んでいる技術があります。
こうしたソフトウェアについて、主なものをピックアップし、OSSライセンスの観点でまとめてみます。IoT (Internet of Things) などといわれているように技術革新が進んでいる分野ですし、GAFA のような先端企業も基盤としている技術分野といえます。

なお、各ライブラリについては、ライセンスの変更が常時生じています。
商用利用、再配布等をする場合は、各ライブラリ/ライセンスについて、各企業の法務などで確認するようにしてください。

OSSのライセンスタイプのまとめ

ライセンスはどのように記載することもでき種類は無数にありますので、もともと1つに集約するには無理があります。しかし、厳密さはある程度妥協してまとめてみることにします。有名なソフトウェアがあれば、随時、追加・修正することにします。

OSSライセンス ライセンスの表示義務 ソースコードの開示義務 特許関連条項 事例 コメント
GPLv3
GNU Lesser General Public License version 3
あり あり あり コピーレフト型(厳しいライセンス)
GPLv2 に特許条項を追加
GPLv2
GNU Lesser General Public License version 2
あり あり あり Linux カーネル
WordPress
コピーレフト型(厳しいライセンス)
AGPL
Affero GPL
あり あり あり
LGPL
GNU Lesser General Publlic License
あり あり あり GNU C Library
Qt(別のライセンスもあり)
準コピーレフト型
ライブラリへの適用のためGPLのコピーレフト性を弱めたライセンス
リバースエンジニアリングを許容する必要がある
MPL
Mozilla Public License
あり あり あり Mozilla Firefox 非コピーレフト型
3-clause BSD license と互換
PSFライセンス
Python Software Foundation License
あり なし Python 3.8.6以降
Matplotlib
BSD ライセンススタイルで GPL 互換ライセンス
Apache License 2.0 あり なし あり Android (Linux 部分は GPL/LGPL を含む)
Tensorflow
BSD
Berkley Software Distribution
あり なし なし Google Chromium
OpenCV
NumPy
SciPy
scikit-learn
SGI Free Software License B version 2.0 OpenGL
MIT License あり なし Jenkins
Keras

※ 一般に、条件が厳しいといわれているライセンスを上に比較的緩いライセンスを下に並べています。
※ また、Linux 関連技術、機械学習、画像処理の分野でよく使われているものについても追記しました。ほぼ周知のソフトウェアばかりではないでしょうか。本来は、根拠となるすべてのライセンスのリンクを張るなどしたいところですが、省略します。
※ 加えて、同じソフトウェアであってもバージョンによっては、ライセンス条件が変更となることがあります。業務で使用する場合、再配布等する場合などは、都度、確認する必要があります。
※ 表で、Apache License 2.0 より下に記載されたものであるほど、制約が比較的緩く、普及が進んでいるものが多いと思います。
※ 機械学習系でよく使われるものは Apache License 2.0 か BSD 以下の比較的緩いライセンスとなっています。
比較的緩いといっても、第三者に渡す(再配布する)際にはライセンスの表示義務が発生しえますので、注意が必要です。成果物にライセンスを記載したテキストファイルを入れて、ユーザーインターフェース上でも表示をしておく等となろうかと思います。

※ 個人でプログラミング言語を学習する、パッケージを利用する、といった場合、プロプライエタリなソフトウェアなど、特定の企業色の強いソフトウェアを選んでしまうと、その企業の支配から逃れられなくなってしまうケースが生じえます。仕様変更が続き、結局は競争力を失って、言語ごと市場から消え去る結果にもなりかねませんので、十分に注意をする必要があります。

OSSライセンスの具体例

一例として、OSSライセンスの具体例を挙げておきます。
・ APACHE LICENSE, VERSION 2.0

上記の Apache License 2.0 の場合、4. Redistribution. に再配布時の条件について記載があります。
リンク先のとおり、再配布をするためには、従わなければならないと読める記載となっています。従って、再配布時にソースコードやライセンスを表示できない、物理的な表示手段がないからといって、ライセンスに従う必要がなくなるわけではないため注意が必要です。

なお、この記載からは、再配布に該当しない場合は、必ずしもこの条件に従う必要がないと読み取ることができます。
例えば、OSS ライブラリをサーバーサイドにのみ実装し、処理結果のみをデバイスに返すだけの使用にとどめる場合、再配布には該当しないように読み取ることができる記載となっています。
OSSライセンスの種類によっては、AGPLのように、サーバーサイドに実装した場合であっても、ライセンス表示等が必要となるケースも生じます。サーバーサイドでの使用であるからといって一概にライセンス表示が不要になるということにはなりません。
加えて、上記の Apache License 2.0 のライブラリをサーバーサイドに実装した場合であっても、プログラムの開発が完了して発注者に納品する場合や、事業売却/事業譲渡が生じた場合など、再配布に該当すると解釈できるケースも考えられますので注意が必要です。
各ソフトウェアの態様、各ライセンスごとに確認をする必要があります。

最近のライセンス変更について ~ 企業戦略

オープンソースのソフトウェアが有名になり普及してくると、企業買収等により、ライセンスが変更となったり、有償化されるなどの事例が生じています。
よく知られている事例として、たとえば、以下があります。
・ MySQL は、サンマイクロシステムズ、Oracle に買収され、ライセンス変更となっています。
・ Anaconda は、最近、ライセンスが変更となり、一部、有償化されています。
・ Java は、Oracle 傘下となり、有償サービス化される傾向があります。
・ GitHub は Microsoft に買収されています。

経営戦略として、市場浸透している OSS の買収を進めることで、デファクトスタンダード、コンソーシアム標準を取りに行く企業がある、という理解でよいかと思います。
このようなソフトウェアや機能を、例えばサーバーなどにインストール・設定して、第三者に納品等すると、ソフトウェアの再配布や有償となる条件等に該当しうるため、注意が必要です。
一方、OSS を使う側の立場からすると、ライセンス変更となる可能性が高いソフトウェアやサービスは、採用を控えるのが無難といえます。

日本企業などでは、無償のオープンソースより有償のマイクロソフトのソフトウェアやサービスのほうが安心などといった判断をするケースが多い印象があります。しかし、Google などの先端企業ではオープンソースを採用してサービスを展開することで、特定企業の支配を避けて広くデファクトスタンダードを取りにいくといった経営判断をする企業(経営層がソフトウェアやデータの特徴をよく理解しているケース)もありますので、従来型の(クローズ型の)発想にとらわれない判断をする必要があるといえます。

まとめ

ライセンスの観点でオープンソースソフトウェアについてまとめてみました。
厳密さを求めると例外はいくらでも考えられるため、厳密さは求めず簡素にまとめることを重視しました。

ネット検索で、オープンソースのソフトウェア技術について調べると、技術の説明だけで終わっているサイトが大半のようです。
オープンソース戦略、企業戦略の観点で書かれたものをなぜかほとんど見ません。そこで、まずはライセンスの観点でまとめてみました。
どのソフトウェアを採用するべきか比較検討をする際、相手方の意図が推測できる必要があります。また、ネットを活用したサービスを展開する場合も、OSS やプロプライエタリソフトウェアの特性や、GAFA など最近のソフトウェア技術を展開している企業の狙いが理解できることが望ましいといえます。

関連リンク
・ Linux 関連技術を独学で学ぶときのキーワードまとめ
・ おすすめ書籍ピックアップ 【サーバー&ネットワーク関連】
・ 
おすすめ書籍ベストピックアップ 【Python&機械学習】

外部リンク
・ GNU Affero General Public License
・ APACHE LICENSE, VERSION 2.0

タイトルとURLをコピーしました