エンジニアが知っておくべきOSSライセンスの基礎知識

2021-08-16


OSSとは

OSSとはオープンソースソフトウェア(Open Source Software)の頭文字を取った略語で、
ソースコードが公開されていて誰でも自由に利用することができるソフトウェアのことです。

無償で公開されているソフトウェアをフリーウェアと言いますが、OSSは必ずしも無償でなければならないわけではありません。ソースコードが公開されていて、その改変と再頒布が認められている点にOSSの特徴があります。

ソフトウェアのソースコードにはその表現について著作権が発生します。
そのため、ソースコードの勝手な変更や複製については著作権者の許可が必要となり、勝手なダウンロード、バグの修正や機能の追加を行うことは著作権の侵害となる可能性があります。

それはソースコードが公開されている場合も同様です。
しかしOSSはそれらのバグの修正や機能の追加といったソースコードの変更を行うことができるソフトウェアです。

ただし、無条件ではありません。
OSSはライセンスにてそのソフトウェアの利用の許諾を与えているだけで、著作権を放棄しているわけではなく、利用者はそのライセンスを遵守する必要があります。
自由に利用できるイメージの強いOSSですが、ライセンス違反で実際に訴訟となった事例もあるので注意が必要です。

OSD(オープンソースの定義)

ソフトウェアがOSSとして認められるための定義を、The Open Source Initiative(OSI)という団体がThe Open Source Definition(OSD)というという形で定めています。

OSDには10項目あり、オープンソースの利用方法についての条件が説明されています。

再頒布が自由
利用者は入手したOSSを有償で販売したり、無償で譲渡やアップロードをすることができます。
無償の再頒布を認める必要があるだけで、OSSが必ずしも無償である必要はありません。

ソースコードが入手できる
プログラムにはソースコードが含まれていなければならず、ソースコード形式でのプログラムの再頒布も許可されていなければなりません。ソースコードを配布できない場合はソースコードの入手方法を用意して、それを周知する必要があります。
つまり、OSSであるならばソースコードは容易に入手することができます。

改変と、改変したものの頒布ができる
オリジナルのOSSのカスタマイズと、カスタマイズしたものの頒布が自由

作者のソースコードの完全性
作成者を明確にすることが出来るように、ソースコードとパッチファイルを一緒に頒布することを認めるときは、ソースコードを修正した形式での頒布を制限できます。
また、パッチファイルに限らず改変版については、異なる名前やバージョン番号をつけるように義務付けることができます。

人、グループで差別をしない

利用する分野で差別をしない

追加のライセンスへの同意を必要としない
OSSの権利は利用する全ての人に平等に適用されなければならず、
再頒布のときに、追加のライセンスへの同意を条件にしてはいけないとされています。

特定の製品のみに有効なライセンスの禁止

他のソフトウェアを制限するライセンスの禁止
OSSライセンスが他のソフトウェアについて制限を加えることを禁止しています。
例えば、複数のソフトウェアと同時に配布するときに、他のソフトウェアもOSSであるときは自由に配布できるというような条件はつけられません。

ライセンスは技術的中立でなければならない
OSSライセンスに特定のインターフェースに依存するような規定を設けてはいけません。
例えば、WindowsPCのみOSSという条件や、WindowsPC特有の機能を前提とした条件を設けることはできません。

OSSはなぜ普及したのか

「Linux」「Android」「PHP」「WordPress」「Ruby」「Python」「MySQL」など、OSやウェブサイトで使われるソフトウェア、データベースと様々なソフトウェアでOSSは広がっています。

詳しくはこちらの記事でご紹介しています。
作業効率化!OSSソフトウェア 一覧

企業においてもOSSの導入は広まり、多くのITシステムでOSSが利用され、その存在は欠かせないものとなっています。

優れた機能をもつOSSを使わない手はないということが、OSS普及の最大の理由といえるでしょう。
それもOSSライセンスを守ることで、法的トラブルの可能性を排除して利用することができます。

ソフトウェア開発において全て一から開発するのではなく、優れたOSSを利用することがコスト削減に繋がるのはもちろん、ソースコードが公開されていることから多くの人に利用されるためバグの発見と修正を含め動作が安定している点もメリットとして挙げられます。


また、OSSは誰でも利用できることから、特定のベンダーが技術を独占することが難しくベンダーによる囲い込み、ベンダーロックインを避けることができるという点もOSS導入の理由に多く挙げられます。

OSSとしてソースコードを公開するメリット

ソフトウェアの開発者にとって、ソースコード公開することには多くの人に利用してもらうことが出来るという点でメリットがあります。著作権を放棄することなく、その利用条件について設定し第三者に利用してもらうことができます。

そして多くの人が関わることでバグの発見や改善を含め、多くのフィードバックから短期間でその品質を向上することができます。

企業にとっては、品質の高いソフトウェアをOSSとすることで注目を集めることが出来れば、高い宣伝効果を得ることができます。また、利用者による改良によって特定の技術者に依存することなく開発を進めることが出来る点もメリットの一つです。

ライバル企業のソフトウェアと同じ機能をもつソフトウェアを開発しOSSとすることで、ライバル企業に影響を与えることもビジネス戦略に成り得ます。

また有料で販売されているOSSもあり、その場合導入の際のサポートや、必要に応じたOSSの改良など付加サービスが付いていることが一般的です。

OSSライセンスとは

OSSはその利用を無条件に許可しているわけではなく、OSSライセンスを守ることを条件に利用することができます。OSSライセンスは、オープンソースの定義(OSD)に示されている条件を満たす範囲で自由に設定することができるので、OSSを利用する際にはそれぞれのライセンスの内容を個々に確認する必要があります。

共通の条項

OSSライセンスは細かい点でそれぞれ内容は異なりますが、オープンソースの定義(OSD)に盛り込まれている条項や、それ以外にも共通する条項があります。

使用の自由
OSSライセンスでは、ソフトウェアの使用についての条件が付けられていません。
自分のPCにインストールでラコピース違反になることはありません。

利用の自由
自由な利用が誰にでも許可されています。

*著作権では、使用と利用が区別されていています。
使用:ソフトウェアの実行
利用:ソフトウェアの複製、配布、改変

無保証条項
使用や利用における動作について何ら保証しないという条項が定められています。

免責条項
OSSを利用したことで生じた損害について、その責任を負わないという条項が定められています。

著作権表示
ソフトウェアの著作権者について表示を行う必要があります。

非共通の条項

コピーレフト条項
OSSを改変したり、他のソフトウェアを組み合わせるなどカスタマイズして、それを第三者に再頒布する際にそのソースコードを元のOSSと同じライセンスで開示しなければならないとする条項。
つまり、OSSを改変してそれを再頒布するときそれもOSSにしなければならないという条項です。

OSSライセンスは、コピーレフト条項の有無とその強さによって3つに分類することができます。
・コピーレフト型…改変部分と、組み合わせた他のソフトウェアのソースコードを開示する必要がある。
・準コピーレフト型…改変部分のソースコードを開示する必要がある。
・非コピーレフト型…ソースコードの開示をする必要がない。

デュアルライセンス
複数のライセンスが用意されていて利用者が選択できるOSSもあります。
例えば、無償のライセンスには、コピーレフト条項が付いているが、有償のライセンスを選択すればコピーレフト条項がないというOSSもあります。