オープンソースソフトウェア
OSSの考え方とLAMPなどの代表例、GPLやBSDLなどのライセンスとコピーレフト、利用時の考慮点を理解できるようになります。
ねらい
ソースコードが公開されたソフトウェア、OSSを学びます。このレッスンを終えると、OSSの代表例と成り立ち、ライセンスの種類とコピーレフトの考え方、業務で利用するときの考慮点を説明できるようになります。
ストーリー
あなたの会社の新しいサービスは、Linuxの上でApacheが動き、MySQLにデータを保存し、PHPで書かれています。この組合せの購入費はゼロ。しかし「無料で使える」と「自由に何をしてもよい」は別の話です。OSSの世界には、自由を保つためのルールであるライセンスがあります。仕組みを正しく知って、正しく使えるようになりましょう。
OSSとは何か
OSS(オープンソースソフトウェア)は、ソースコードが公開され、再配布の自由や、派生ソフトウェアへの改変の許諾が認められたソフトウェアです。世界中の開発者が参加するオープンソースコミュニティによって開発と改良が続けられています。
代表的なOSSの組合せがLAMPです。OSのLinux(中核はLinuxカーネル)、WebサーバのApache、データベースのMySQL、プログラム言語のPHPの頭文字で、データベースをPostgreSQLに替えた組合せはLAPPと呼ばれます。Linuxの上にApache、MySQL、PHPを積み重ねた層として理解すると覚えやすくなります。
言語ではPerl、Python、Rubyが、ライブラリではPerlのCPAN、PHPのPEAR、JavaScriptのjQueryといったオープンソースライブラリが広く使われています。UNIX系のOSにも、Linuxのほか、FreeBSD、NetBSD、OpenBSDというOSSの系譜があり、UNIXの標準はThe Open Groupが管理しています。
ライセンス:自由を保つためのルール
OSSは著作権を放棄したソフトウェアではありません。著作権者がライセンス(利用条件)を定め、その条件の下で自由な利用を認めています。
コピーレフト
OSSのライセンスを理解する鍵がコピーレフトという考え方です。コピーレフトは、改変や再配布を認める代わりに、派生したソフトウェアにも元と同じ利用条件を引き継ぐことを求めます。自由を受け取った人が、その自由を次の人にも渡すという仕組みです。
代表的なライセンス
| ライセンス | 特徴 |
|---|---|
| GPL | コピーレフトが強い。GPLのコードを組み込んだ派生物にもGPLの適用とソースコード公開を求める |
| MPL | コピーレフトが中程度。改変したファイル単位で公開を求める |
| BSDL | コピーレフトなし。著作権表示などを条件に、派生物の公開は求めない |
| Apacheライセンス | コピーレフトなし。特許の扱いなどを明確にした緩やかなライセンス |
同じソフトウェアを複数のライセンスから選んで利用できるようにする方式をデュアルライセンスといいます。コピーレフトの強さは一律ではなく、GPLのように強いものから、BSDLやApacheライセンスのように無いものまで幅があります。
OSSを利用するときの考慮点
業務でOSSを使うときは、次の点を確かめます。
- ライセンスの適用範囲を確認します。特にGPLのコードを自社製品に組み込むと、製品側にもソースコード公開の義務が生じることがあります。
- サポートの体制と費用を考えます。購入費が不要でも、問題が起きたときの調査や対処は自分たちで行うか、有償サポートを契約する必要があります。
- 安全性と信頼性を評価します。ソースコードが公開されているため世界中の目で検証される一方、脆弱性が見つかったときの更新への追従は利用者の責任です。
例題
次の問いに答えてください。
問1 LAMPと呼ばれるOSSの組合せのうち、Mが指すソフトウェアは何ですか。
問2 OSSの利用で、派生したソフトウェアにも元と同じ利用条件を引き継ぐことを求める考え方を何といいますか。
解答と解説
問1の答えはMySQLです。LAMPはLinux、Apache、MySQL、PHPの頭文字で、データベースをPostgreSQLに替えるとLAPPになります。
問2の答えはコピーレフトです。GPLはこの考え方が強いライセンスの代表です。
応用
本試験を意識した問題を解いてみましょう。
問 コピーレフトの説明として、適切なものはどれでしょうか。次の中から選んでください。
- 改変して作った派生ソフトウェアにも、元のソフトウェアと同じ利用条件を引き継ぐことを求める考え方
- 著作権そのものを放棄して、誰でも制限なく利用できるようにする考え方
- 一つのソフトウェアについて、複数のライセンスの中から利用者が選べるようにする方式
- 著作権表示を条件として、派生ソフトウェアのソースコード公開は求めない方式
解答と解説
答えは1です。コピーレフトは、自由な利用を認める代わりに、その自由が派生物にも受け継がれることを求める考え方で、GPLに強く表れています。2は誤りです。OSSは著作権を放棄しておらず、著作権者がライセンスによって利用条件を定めています。3はデュアルライセンスの説明です。4はBSDLのようなコピーレフトのないライセンスの説明で、派生物への条件の引き継ぎを求めるコピーレフトとはむしろ反対の性格です。
分からなかった点・気になった点
読み込み中です。