Comments
Description
Transcript
オープンソースソフトウェア
情報倫理学 第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の作業に由来す るとされる。