今やソフトウェア業界だけではなくハードウェアを製造するメーカーにとっても、組み込みソフトウェアとしてオープンソースソフトウェア(またはフリーソフトウェアと呼ばれます)が利用されることは一般的です。
筆者のAndroidスマートフォンにも多数のオープンソースソフトウェアが利用されています。
そのオープンソースソフトウェア(以下、略してOSS)はGPLやMITライセンス、BSDライセンスといった規定のライセンスによって提供されていることが普通です。
このブログを管理しているCMS(Contents Management System)であるWordPressもGPLによって提供されているOSSです。
とても身近な存在となっているOSSに関するライセンスについて、基本的なところを押さえておきましょう。
ソフトウェア=著作物
ソフトウェアのライセンスについて考える上で、まず前提として理解しておく必要があること。
それは「ソフトウェアは著作物である」ことです。
これにより、ソフトウェアは著作権法によって保護され、著作権者がその利用に関する権利を独占しています。
ソフトウェアを利用する場合は、まずはパソコンなどのコンピューターにインストールすることになりますが、このインストールとはソフトウェアの「複製」に当たりますので、複製権を持つ者による許諾が必要となります。
その許諾について、一般に市販されるパッケージソフトウェアにおいては利用を希望する個人からの利用許諾申請すべてに個別対応することは現実的ではありませんので、予め定めた「利用規約に同意することを条件に利用を許可する」といった内容の契約を結ぶこと一般的です。
この利用規約によりインストール可能なパソコン台数(複製権)が制限されていたり、改変(翻案権)や再配布(譲渡権)が禁じられており、この規約を守らなかった場合は規約違反だけではなく著作権法違反となりますので、民事上、刑事上の罰則が適用されることがあります。
つまり、著作権者による著作権の行使により複製権や翻案権が制限された「コピーライト」の契約です。
OSSとは何か
それとは逆に、ソフトウェアという著作物の自由な流通や、多くの開発者が参加することによる発展のためには、こういった権利がジャマになることがあります。
それであれば、著作権を放棄するという方法もありますが、それでは他人がそのソフトウェアを改変した場合はその改変者が改変したソフトウェア(※二次的著作物となります)の著作者となり、自由な権利行使が可能となってしまいます。
そのため、著作権は放棄するのではなく著作者が保有したままで、ライセンスという形で「ソフトウェアの流通や発展のためであればいつでも自由に改変や再配布ができる」という考えが生まれました。
これが、自由なソフトウェアということで「フリーソフトウェア」と呼ばれておりましたが、その後「オープンソースソフトウェア」という呼称が定着します。
コピーレフト・ライセンス
このようにフリーソフトウェアとは著作権を放棄しているわけではないため、自由な改変や再配布のためには利用者に対して何らかの許諾を与える必要があります。
その許諾こそが「ライセンス」と呼ばれるものです。
OSSのライセンスは原則的にソフトウェアという著作物のコピー、改変、再配布の自由を利用者に与えています。
そのOSSライセンスというのは多数存在していますが、それらをカテゴライズする際に重要な概念として「コピーレフト」というものがあります。
これは「コピー・改変・再配布された二次的著作物の配布者は、その二次的著作物を元の著作物と全く同じ条件で再配布しなければならない」というもので、そのために利用者(配布者)が「ソースコードを入手できなければならない」こととされています。
コピーレフトのライセンスで代表的なものは先の例にも挙げたGPL(GNU General Public License)があります。
一部のテーマ制作者の中には「テーマを購入した人のみ利用可能。他人への譲渡不可」のように謳っている人もおりますが、これはライセンス違反となりますのでご注意ください。
OSSのライセンスは、このコピーレフトという概念への適応状況により3つの分類分けができます。
- コピーレフト型・・・改変部分および組み合わせた他のソフトウェアについてもソースコード開示義務
- 準コピーレフト型・・・改変部分のソースコード開示義務
- 非コピーレフト型・・・ソースコードの開示義務なし
代表的なライセンス
ここからは、特にウェブ関連でよく目にするフリーソフトウェアの代表的なライセンスを取り上げてみます。
GPL
正式にはGNU General Public Licenseと言い、GNU GPLまたは単にGPLと略されます。また、バージョン2とバージョン3の2種類があります。
フリーソフトウェア、およびコピーレフトの代表的なライセンスで、多くのソフトウェアで採用されています。
特徴としては、ソフトウェアの実行や再配布の自由に加え、ソフトウェアの解析(リバースエンジニアリング)や改変しての配布が許されており、そのために第三者がソースコードを入手できるようにしなければなりません。
また、特に伝搬性が強いと言われ、ソフトウェア(A)において一部でもGPLソフトウェア(B)を使用した場合には、AはBの二次的著作物であることから、AもGPLにしなければなりません。
(その制限を緩和した準コピーレフト型であるLGPL(GNU Lesser General Public License)や、ネットワーク上での利用でもソースコード開示義務を課したAGPL(GNU Affero General Public License)もあります)
【代表的なソフトウェア】
- Linux (OS)
- WordPress (ブログ型CMS)
- MySQL (データベース管理システム ※商用ライセンスもあり)
- Firefox (ブラウザ ※GPL, LGPL, MPLのトリプルライセンス)
BSDライセンス
ライセンス本文と著作権、再配布条件、および無保証&免責であることを表示するだけで良く、再配布の際にもソースコードの開示義務がないという、非コピーレフト型の代表的なライセンスです。
要求内容(条項数)により3種類のライセンスが存在することも特徴です。
【代表的なソフトウェア】
- FFFTP (Windows用FTPクライアント)
- Google Chromium (ウェブブラウザ Chrome の基 ※Google以外の開発箇所は異なるライセンス)
- NetBSD, FreeBSD (UNIX系OS)
MITライセンス
こちらも非コピーレフト型のライセンスで、2条項BSDライセンスと同様、ライセンス本文と著作権、無保証&免責であることを表示するだけです。
OSSライセンスの中でもとても制限が緩いもので、GitHubで最も使われているライセンスと言われています。
【代表的なソフトウェア】
- jQuery (JavaScriptライブラリ)
Apacheライセンス
Webサーバーソフトとして有名なApache(アパッチ)HTTP Serverの開発元であるApacheソフトウェア財団が作成した、非コピーレフト型のライセンスです。
BSDライセンスと似ていますが、特許に関する条項を含むなどBSDライセンスよりも制限や要求内容が多いです。
【代表的なソフトウェア】
- Apache HTTP Server (Webサーバー)
OSSを正しく理解し利用しよう
一部のOSSライセンスを紹介しましたが、実際にはまだまだ多くのライセンスが存在します。
(OSSライセンスとして承認する団体 Open Source Initiativeが認めているものだけでも60種類以上)
ライセンスが守られていない場合は、複製・再配布等の許諾が得られていない状態となるため、著作権法に違反していることになります。
それぞれのライセンスで要求内容や制限内容が異なりますので、しっかりと内容を理解し(ほとんどが英文ですが。。。)、違反することのないよう利用したいですね。