オープンソースソフトウェアについて
株式会社ネクスト 技術基盤本部リッテル研究所 所長
東京大学情報基盤センター 特任講師清田 陽司
2011年8月26日マイニング探検会#15@株式会社ネクスト会議室
オープンソースの歴史
• パブリックドメインソフトウェア (PDS)– 知的財産権が存在しない状態
– 米国著作権法に基づく概念 (後述)• フリーソフトウェア (free software)
– ソフトウェアの利用・再配布・改変などについて「自由」(free)な状態
– 著作権は放棄されていない
– 「無料のソフトウェア」はフリーウェア (freeware)と呼ばれる
関連する概念
• コピーレフト (copyleft)– フリーソフトウェアの永続性を保証するための概念
– 著作権を放棄しないことで、二次的著作物にもフリーソフトウェアの性質を継承させる
• プロプライエタリ (proprietary)– ソフトウェアの利用・再配布・改変のいずれかに何らかの制限がかかっている状態
– 「フリーソフトウェア」と対立する概念
– 「商用」という意味とは異なる
オープンソースとは
• 1998年に提唱された概念– Netscapeブラウザのソースコードの利用戦略から
• 字義は「ソースコードの公開」
• Open Source Initiative (OSI)による定義 (抜粋)– 自由な再配布
– ソースコード入手性の保証
– 派生物にも同じライセンスが適用
– 無差別 (利用者/用途)– 特定の製品に依存しない
– 技術的な中立性
オープンソースソフトウェアとフリーソフトウェア
• 立場の違い
– フリーソフトウェア: ソフトウェアは「自由」であるべきだという思想に基づく
• フリーソフトウェア財団 (FSF)が主導
– オープンソース: 「自由」を強調せず、ソースコードを公開することによるメリットに焦点をあてている
• OSIが主導
オープンソースソフトウェアとフリーソフトウェア (cont.)
• ビジネスとしての視点
– Free→無償という先入観による拒否反応
– フリーソフトウェア運動の急進性への悪印象
オープンソース=ビジネスの世界にもフリーソフトウェアの有用性を広めていくための「方便」?
ソフトウェアライセンス
• ソフトウェア利用者の遵守すべき事項を記載した文書
• 著作物としてのソフトウェアの「利用許諾契約」
– 利用開始前に「同意」が求められる
– 違反することは著作権法に反する不法行為を構成
• フリーソフトウェア/オープンソースソフトウェアの概念の「実装」
– 多くの場合は、すでに普及しているライセンスのうちいずれかを利用
ライセンスに含まれる主な要件
• ソフトウェアの複製物所有者への許諾
– プログラムの実行、動作の調査、改変
• ソースコードの公開
• 再頒布の条件
– 再頒布の際に適用されるライセンス
• 免責事項
代表的なライセンス
• GPL / LGPL• BSD License• Apache License• MIT License
GPL (GNU General Public License)
• フリーソフトウェア財団 (FSF)によるGNUプロジェクトのために作成されたライセンス文書
• フリーソフトウェア運動を体現するライセンス
• 主な特徴
– 改変物についても全ソースコードを公開しなければならない (強いコピーレフト性)
• LGPL (Lesser GPL)– GPLよりも弱いコピーレフト性
GPLの採用実績
• 流通しているソフトウェアの約60%がGPLを採用
• 主なソフトウェア
– GNUプロジェクトの成果物
• gcc (Cコンパイラ)、gdb (デバッガ)、UNIXコマンド群
• Emacs
– Linux
BSD License
• UC Berkeleyによって1990年に作成– BSD (Berkeley Software Distribution) 系のUNIXソフトウェアの配布
• 再配布の条件がGPLよりも緩い– 著作権表示・ライセンス条文・無保証の3点がライセンスに含まれれば、BSD Licenseを採用しなくてもよい
– 改変物についてソースコードの開示義務はない
• 多くのオープンソースライセンスの母体
Apache License
• Apacheソフトウェア財団によって作成
• 著作権表示と免責事項表示が条件
• プロプライエタリなソフトウェアの開発にも利用しやすい
• 主な採用実績
– Apache財団のプロダクト群 (Apache HTTP Server、Lucene、Solr、Hadoop…)
オープンコンテント
• オープンソースの概念を創作物 (文章、画像、音楽など)に類推
• ライセンスの例
– GNU Free Documentation License (GFDL)– Creative Commons (CC)
• WikipediaはGFDLおよびCCの両方を採用