オープンソースソフトウェア

情報倫理学
第4回 オープンソースソフトウェア
千葉大学2003年度秋学期
2003年11月25日
Agenda
„
„
„
„
„
„
はじめに
フリーソフトウェアとは何か
フリーソフトウェアからオープンソースソフ
トウェアへ
オープンソースソフトウェアとは何か?
フリーソフトウェア/オープンソースソフト
ウェアと制度
まとめ
はじめに
„
フリーソフトウェアが注目される背景
„
„
インターネットが普及し、LinuxやApache、
sendmail、Perlなどの「フリーソフトウェア」
「オープンソースソフトウェア」と呼ばれる多く
のソフトウェアが活用される。
商業用ソフトウェアと違い、無料で利用ができ
るが、複雑なソフトウェアライセンスがあるら
しい。
フリーソフトウェアとは何か
„
„
„
„
„
„
„
„
簡単な歴史
GNUとFSF
フリーソフトウェアの条件
フリーソフトウェアはPDSか?
フリーソフトウェアはフリーウェアか?
シェアウェアとは何か?
コピーレフトの思想
GPLとは何か?
フリーソフトウェアとは何か
(簡単な歴史)
„
Richard M.Stallmanが提唱。
{
{
{
{
{
1971年MIT AI labでプログラマの仕事を開始。ソフト
ウェア共有コミュニティが存在。
DEC PDP-10シリーズ+ITS(Incompatible Time
Sharing System)+ハッカーたちが開発したプログラ
ム
1980年代になって、旧PDP-10シリーズが生産中止。
管理者が専用OSを購入して運用開始。
プロプリエタリなソフトウェアはソフトウェアの改変や
共有を許さない
ソフトウェア共有コミュニティの崩壊→フリーソフトウェ
アの思想へ。
フリーソフトウェアとは何か
(GNUとFSF)
„
GNU Projectの開始
„
„
„
„
1983年9月27日アナウンスメント。
完全にUNIX互換のOSとアプリケーションソフトウェ
アを開発するプロジェクト。
1984年Stallman、AI labを辞職し、GNU Projectを
開始。
FSF(Free Software Foundation)の設立
„
„
GNU projectを推進するためのNPO
ウェブ(http://www.fsf.org,http://www.gnu.org)
フリーソフトウェアとは何か
(フリーソフトウェアの条件)
„
Stallmanによるフリーソフトウェアの条件
(http://www.fsf.org/philosophy/free-sw.html)
„
„
„
„
いかなる目的であれ、ソフトウェアを実行する自由
(自由0)
どのようにプログラムが動いているか研究し、自分自
身の必要にプログラムを適応させる自由(自由1)
自分の隣人を助けられるようプログラムの複製を配
布する自由(自由2)
プログラムを改善し、その改善を公衆に向けて発表
し、共同体全体の利益をはかる自由(自由3)
フリーソフトウェアとは何か
(フリーソフトウェアとはPDSか?)
„
フリーソフトウェアはPDS(パブリック・ドメ
イン・ソフトウェア)ではない。
„
„
„
フリーとは「無料」という意味ではない。
PDSはソースコード公開は条件ではない。著
作権放棄が条件。
著作権を放棄しているので、PDSは入手した
人が手を加えてプロプリエタリなソフトウェア
にすることも可能。
フリーソフトウェアとは何か
(フリーソフトウェアとはフリーウェアか?)
„
フリーウェア:ソースコード非公開。無料
の配布・再配布を許可。その他の著作権
に関しては留保することもある。
フリーソフトウェアとは何か
(シェアウェアとは何か?)
„
シェアウェア:ソースコード非公開。開発
費用負担をユーザーに求め、試用後対
価支払いを請求する。
フリーソフトウェアとは何か
(コピーレフトの思想)
„
コピーレフトとは?
ソフトウェアに対する著作権を保持し、ソフト
ウェアの横取りを禁止する。
{ 著作権を根拠にソフトウェアの自由な再配布
と複製、改変・修正ができるようにフリーソフト
ウェアを入手した人間に義務付ける。
{
フリーソフトウェアとは何か
(GPLとは何か)
„
GPL(GNU General Public License)
フリーソフトウェアとコピーレフトの思想をソフ
トウェア使用許諾としてまとめたもの。
{ GPLで配布されるソフトウェアは販売してもか
まわない。しかし、販売したソフトウェアの再
配布や複製、改変・修正を禁止することは禁
じられる。
{ ウィルス性:派生的作業もGPLが適用される。
{
フリーソフトウェアとは何か?
„
„
„
GPL:派生的作業をGPLとして配布する
ことを義務付ける規定。
フリーソフトウェアの条件は、上記のGPL
の規定を根拠づけられない。
ソフトウェアの自由拡大という暗示的目標。
フリーソフトウェアからオープン
ソースへ
„
„
„
„
GPLの普及と反発
GPLの(商業的利用のための)問題点
GPLの修正
オープンソースソフトウェアの登場経緯
オープンソースソフトウェアの登場(GPL
の普及と反発)
„
GPLによるプログラムは、UNIXユーザーやPC
ユーザーに広がる。
{
„
80年代後半以降、フリーソフトウェアが登場。
{
„
GNU EMACSとその他の互換製品、GCCの普及
PerlやAWKなどのスクリプト言語。
90年代中葉以後、GPLの「反商業性」からフリー
ソフトウェア全体の利用が妨げられているという
認識がフリーソフトウェア開発者たちの間に生ま
れる。
オープンソースソフトウェアの登場(GPL
の問題点)
„
GPLの問題点
{
「反商業主義的」と受け取られる条項
„
GPLで配布するソフトウェアを別のソフトウェアの
一部に組み込むと、その別のソフトウェアもGPLに
基づくようになる(第2項)。
„
ほかの無料配布のプログラムの一部として配布す
る場合には許諾が必要(第10項)
(http://www.fsf.org/licenses/gpl.html)
オープンソースソフトウェアの登
場(GPLの修正)
„
„
開発者にとってのGPLの使いにくさ
→GCCのようなライブラリへのリンクをど
う処理するか?従来のGPLではGCCを
使って開発したソフトウェアはすべてGPL
化。
Library GPL(現在、GNU Lesser GPL)
の登場。
{
実行時にダイナミック・リンクする場合はGPL
化しない。
(http://www.fsf.org/licenses/lgpl.html)
オープンソースソフトウェアの登場(登場
の経緯)
„
98年2月米国VA Linux社の会議
{
„
Eric S. Raymondは、フリーソフトウェアに代わ
る「主流派に対する脅威がより少ない新しい名称
が必要である」と主張。米Foresight Institute社の
Christine Petersonが”open source”という名称を提
唱。
98年4月米国の出版社O’Reilly & Associatesの
会議
{
出席者たちはフリーソフトウェアではなく”open
source”を新しい名称として採用。
オープンソースソフトウェアとは
何か
„
„
„
„
OSI
Open Source Definition
さまざまなライセンス
フリーソフトウェアと何が違うか?
オープンソースソフトウェアとは何か
(OSI)
„
Open Source Initiative(OSI)
RaymondとBruce Perensが創設。
{ オープンソースソフトウェアの普及と、ライセ
ンス認定を行うNPO。
{ http://www.opensource.org
{
オープンソースソフトウェアとは何か(OSI
の10の条件)
„
„
„
„
„
„
„
„
„
„
自由な再配布
ソースコード
派生的作業
原著者のソースコードの完全性
個人・集団の無差別
利用領域の無差別
ライセンスの配布
ライセンスはある製品のみに限定されない
ライセンスは他のソフトウェアに制限を加えてはならない
ライセンスはテクノロジーに中立でなければならない
オープンソースソフトウェアとは何か
(さまざまなライセンス)
GNU GPL
GNU LGPL
プログラム 組み込ま
本体
れたソフ
ト
○
○
派生物
生成物
採用するソフトウェ
アの例
○
×
Linux,Samba,
GNOME
GNU C Library,
GNOME Libr
○
×
○
×
BSD Lic e n
○
×
×
×
Artistic
Lic e n se
MPL
△
△
△
×
○
×
△
×
QPL
IBM Pu bl
Lic e n se
○
○
×
○
○
○
×
×
備考
BIND,Sendmail,
Apache
Perl
再配布制限なども可
能。
GEKKKO
付加的作業については
公開義務なし
Qt
IBMのオープン
ソース開発支援で 商用利用の責任を明確
生まれたソフトウェ 化
ア
凡例:○はソースコード公開の義務あり,×は義務なし,△は条件によっては公開せずともよい
オープンソースソフトウェアとは何か(フ
リーソフトウェアと何が違うか)
„
„
オープンソースソフトウェア
「ウィルス性」に大きな違い
オープンソースソフトウェア→一部に組み込
んだほかのソフトウェアのライセンスについて
は言及しない(例:BSDを利用するルーター
OSなど)。
{ フリーソフトウェア→一部に組み込んだほか
のソフトウェアのライセンスはGPLになる。
{
オープンソースソフトウェアとは何か
(フリーソフトウェアと何が違うか)
„
„
複数のライセンスは同一メディア上で共存
できる。
OSIの第9項「ほかのソフトのライセンスに
は干渉しない」
オープンソースのライセンス
„
„
„
„
„
„
„
„
GNU GPL
GNU LGPL
BSD License
Artistic License
MPL
QPL
IBM
Public License
オープンソースのライセンス(1)
GNU GPL 概要
„
„
„
„
Copyleftの思想。
GNUソフトウェア,Linuxなどが採用。
自由な再配布,修正・派生的作業を妨げ
る行為を禁止。
派生的作業にもGNU GPLが適用される。
オープンソースのライセンス(2)
GNU LGPL 概要
„
GNU GPLを適用されるライブラリへの静
的・動的リンクは,派生的作業と見なされ
る。
→ソースコード非公開としたい商業ソフト
ウェアでは利用できない。
→LGPLではGPLの制限を弱め,商業ソフ
トウェアでLGPLにしたがうライブラリやデ
スクトップツールキットへのリンクができる
ようにした。
オープンソースのライセンス(3)
BSD LICENSE概要
„
„
派生的作業に関しては,ソースコードの公
開を義務づけない。
→派生物を商業ソフトウェアにすることがで
きる。
BIND,SENDMAIL,APHACHEなど,多
くのオープンソースが採用。
オープンソースのライセンス(4)
Artistic License概要(1)
„
場合によっては,プログラム本体,派生物
を実行ファイルのみで配布できる。
1.どこに行けば,オリジナル( Standard
Version )が手に入るか明記する。
2.派生物の実行ファイルがオリジナル
(Standard Version)とまったく違う名前をも
ち,どこが異なるか明らかにされている場
合。
オープンソースのライセンス(5)
Artistic License概要(2)
„
„
派生物を一組織内だけで利用できる(再
配布の制限が可能)。
「見えない形で」ならば,商業ソフトウェア
の一部として利用できる。
オープンソースのライセンス(6)
MPL概要
„
派生的作業のうち,追加的な作業などに
ついてはオープンソースでなくてもよい。
→商業ソフトに組み込みやすい。
オープンソースのライセンス(7)
QPL概要
„
QTデスクトップのためのライセンス。その
ため,商業ソフトウェアとのリンクができる
ようなライセンス内容になっている。
オープンソースのライセンス(8)
IBM Public License概要
„
„
Contributerは,ソースコード配布もしくは
入手方法明示の義務あり。
商業的配布に当たっては,その結果生じ
る責任をすべて引き受けることを明記。
フリーソフトウェア/オープン
ソースソフトウェアと制度
„
„
„
伽藍とバザール
科学共同体の比喩
科学共同体の比喩はいかなる意味を持
つか?
伽藍とバザール
„
„
„
„
バザール方式(オープン方式)
伽藍方式
Eric Raymond, “the Cathedral and Bazaar”
http://www.catb.org/~esr/writings/cathedralbazaar/cathedral-bazaar/
Eric Raymond, “Homesteading the
Noosphere”
http://www.tuxedo.org/~esr/writings/cathedr
al-bazaar/homesteading/
伽藍とバザール(2)
バザール方式とは?
„
インターネットを介して多くのユーザーが
参加し、ソフトウェアのデバッグや改良を
行う開発方式。
{
{
早期・頻繁なリリースによるユーザーとのイ
ンタラクション。
十分なユーザー数があれば、デバッグ・改良
はすばやく進む。
伽藍とバザール(3)
バザール方式の5つのサイクル
1.
2.
3.
4.
5.
公式リリースの発表と試用、バグ修正の
発表。
新機能の開発と公開。
新機能開発者への共同体の認知。
パッチやプログラムの公式リリースへの
反映の決定。
次期公式リリース。
伽藍とバザール(4)
伽藍方式
„
„
少数の優秀な開発者によって慎重に開
発が進められ、完成した版ができるまで
公開しない開発方式。
GNU Projectが念頭にあったと言われる。
伽藍とバザール(5)
バザール方式は万能か?
„
„
„
バグ修正と改良はバザール方式が優れ
ている。
スクラッチからオリジナルな開発を行うこ
とは困難である。
Eric Raymond, “the Cathedral and
Bazaar”
科学共同体の比喩(1)
„
アカデミズム科学とバザール方式開発と
の類似
{
{
Raymondによる科学共同体の比喩
Himanenによる「科学のエトス」の指摘
科学共同体の比喩(2)
Raymondによる科学共同体の比喩
„
自発的な関心からの分野開拓
評判システムによる動機付け。
„
Eric Raymond, “Homesteading the Noosphere”
„
科学共同体の比喩(3)
Himanenによる「科学のエトス」の指摘
„
科学のエトス:Ethos of Science
„
Robert K. Merton, “Science and Democratic Social
Structure”, Social Theory and Social Structure 1968
enlarged edition,pp.604-615
{
{
{
{
普遍主義(universalism)
公有性(communism)
利害の超越(disinterestedness)
系統的懐疑(organized skeptism)
科学共同体の比喩(3)
Himanenによる「科学のエトス」の指摘
„
„
公有性:学術情報の公開と、ソフトウェア
の共有
系統的懐疑主義:公共の場でのテスト
科学共同体の比喩はいかなる意
味を持つか?(1)
„
„
„
„
バザール方式開発の起源と共同体の性
格
公共財としての情報の生産
オープンソース開発における規範・報酬
システムの発動を支える根拠は?
バザール方式開発の起源と共同
体の性格
„
„
バザール方式開発を含むフリーソフトウェ
アの文化は大学の中で育ったハッカー文
化を背景としている。
大学という背景の中で、科学のエトスが
ハッカー文化に導入された。
公共財としての情報の生産
„
„
„
情報の共有可能性、自由な複製:公共財
の特質
一般的に生産者の経済的動機付けは公
共財に関しては働かない。
学術情報とオープンソースは評判システ
ムによる動機付けによって、生産を促進
する。
オープンソース開発における規範・報酬システ
ムの発動を支える根拠は?
„
„
科学:19世紀の専門職業化、20世紀の巨
大科学化->規範・報酬システムの誤動作。
オープンソース:モジュール開発->専門職
業化/巨大科学化の低可能性->規範・報
酬システムの有効な発動?
{
知的財産権が主張されるコードの混入によ
るSCO社による訴訟:IBMの作業に由来す
るとされる。