オープンソースソフトウェアの歴史
オープンソースソフトウェアの歴史では、オープンソースソフトウェアの歴史を、その背景・文化・運動・方法論・技術・影響などを踏まえつつ多面的に解説する。
オープンソースソフトウェア (OSS) とは、 そのソフトウェアのユーザーによって、人間が判読できるソースコードを使用、調査、再利用、修正、拡張、再配布することができるソフトウエアである[1]。ソフトウェアのソースコードを利用者が共有し、修正、再頒布する文化は、1950年代のコンピュータ上でソフトウェアが稼働するようになった頃から学術機関、研究機関の間で存在し、ソースコードとソフトウェアはパブリックドメインで共有されていた。1970年代以降、ソフトウェア開発は徐々に商業となり、ソフトウェアの頒布に制約を付与するプロプライエタリソフトウェア、ソースコードを非公開とするクローズドソースの文化ができあがった。1980年代以降、利用者がソフトウェアのソースコードを自由に利用できないことをストレスに感じた人たちは、フリーソフトウェアやオープンソースを定義して、ソースコードを利用者で共有することによるソフトウェアの発展を提唱した。2000年代前後のソースコードの共有文化が再度一般化した頃、オープンソースソフトウェアコミュニティ内での議論や、プロプライエタリソフトウェアを販売する企業から攻撃など、論争が活発となった。
コンピュータ以前の技術共有
[編集]技術情報の自由な共有という文化は、コンピュータのかなり以前から存在していた。例えば、初期の自動車開発では、1つの企業がジョージ・セルデンの申請した2ストローク機関のガソリンエンジンの特許を持っていた[2]。この特許によってこの企業は業界を独占し、他のメーカーはその要求を飲むか、さもなければ訴訟のリスクを負わねばならなかった。1911年、独立系の自動車メーカーに勤務するヘンリー・フォードはジョージ・セルデンの特許無効の申し立てに成功した[2]。その結果、ジョージ・セルデンの特許は事実上価値がなくなり、後にMotor Vehicle Manufacturers Associationとなる新しい協会が結成された。新しい協会は、すべての米国自動車メーカー間でクロスライセンス契約を締結した。各社は技術を開発し特許を出願できるが、それらの技術は共有されており、第二次世界大戦に入った頃には、92件のフォード・モーターの特許と515件の他社の特許が費用も訴訟も伴わず共有されていた[2]。
マシンバンドルのソフトウェア
[編集]1950年代のコンピュータはハードウェアとソフトウェアがバンドルされた大型のマシンであり、マシンベンダーは同ハードウェアで動作するソフトウェアを開発し、マシンとソースコードを利用者に提供していた。利用者は提供されたソースコードを修正して独自のソフトウェアを開発し、パブリックドメインとして共有していた[3]。1960年代から1970年代にかけて、ソフトウェアの開発コストは肥大化し、マシンベンダーとは独立したソフトウェアベンダーによるソフトウェア開発とプロプライエタリソフトウェアの文化ができていった[4]。
研究機関内でのコード共有
[編集]1950年代から1960年代のコンピュータでは、ハードウェア上で動作するオペレーティングシステム (OS) とソフトウェアはソースコードと実行ファイルをマシンに同梱する形で利用者に提供されていた。ソフトウェアは大学や研究所の研究者により開発され、パブリックドメインとして扱われていた。コンピュータは大学や研究機関が主な利用者であり、ソフトウェアはソースコードは一般に学術分野で長く確立された公開性と協力の原則の下で配布され、それ自体は商品として見られなかった。そのような組織での活動は、オープンソースソフトウェア分野で肯定的な意味で使われるハッカー文化と呼ばれる、開発の中心的な要素であった。この頃のソフトウェアは特定のハードウェアでしか動作させることはできなかったため、他者のハードウェアで実装されたものを自分のハードウェアで動かしたり、ソフトウェアのバグの修正や新しい機能の追加するために、人にとって可読性のあるソースコードはマシンで実行する機械語と共に頒布されていた[5][6]。
オープンソースソフトウェアの最初の事例は、1953年にレミントンランドのUNIVAC部門で開発され、ソースコードと共に利用者にリリースされたA-0 Systemと考えられている[7]。利用者は修正や改善をUNIVACへフィードバックするよう求められた[8]。その後、大半のIBMのメインフレームがソースコードと共に共有された。SHAREと呼ばれたIBM 701のユーザーグループ、DECUSと呼ばれたDECのユーザーグループは、ソフトウェアの共有体系を構築した。ゼネラルモーターズがオリジナルを開発したGM-NAA I/Oは、SHAREユーザーグループによってSHARE OSとしてIBM 709、IBM 7090へ移植された。
幾つかの大学のコンピュータ関係の研究室はコンピュータにインストールする全てのプログラムのソースコードのファイルを公開しなければならないポリシーを定めていた[3]。1969年、ARPANETが構築され、このネットワークはソースコードの交換を簡略化した。1970年代にソースコードの公開と共に開発されたTex[9]やSPICE[10]は2000年代まで長く使われ続けた。
マシンバンドルからの分離と商業化
[編集]1960年代より変化が訪れ、OSやプログラミング言語のコンパイラを始めとしたソフトウェアの開発コストはハードウェアに比べて劇的に増加した。ハードウェアにバンドルするソフトウェアのコストはハードウェアコストに含まれていたため、ソフトウェア業界の成長はハードウェアベンダーの製品と競合した。ハードウェアベンダーはソフトウェアの利益はないもののリースしたハードウェアにバンドルしたソフトウェアのサポートをするためソフトウェア製品のコストをハードウェア製品のコストに上乗せする必要があり、一方で自らのニーズに併せてソフトウェアを改善することができる顧客にとってはハードウェアベンダーのソフトウェア製品のコストをハードウェア製品のコストと一緒に束ねることは望んでいなかった[11]。例えば、DECのPDP-11は標準のOSはDEC製のDEC BATCH-11/DOS-11やRT-11であったが、マシンの利用者は自身の利用用途に併せてソビエト連邦製ANDOS、AT&T製UNIXなど他社製OSを利用した。1969年1月17日に提出された米国政府とIBMの独占禁止法訴訟では、米国政府はバンドルされたソフトウェアが反競争的であると訴えた[12]。
需要に併せてハードウェアにバンドルするソフトウェアは減り、一部のソフトウェアは引き続き無償でバンドル提供されていたが、制限付きライセンスでのみで提供、販売されるソフトウェアが増えていった。1970年代序盤、AT&TはUNIXの早期バージョンを開発し、行政機関と学術機関に無償で提供した[13]。しかし、そのバージョンは再頒布や修正コードの頒布を認めておらず、オープンソースソフトウェアと呼ばれる条件を満たす物ではなかった。1979年、AT&Tは企業がUNIXシステムを利用してビジネスをする場合はUNIXの利用に有償ライセンスを課すことを決定し、システムパッチを有償ライセンスで販売するようになった。広い普及によりアーキテクチャを切り替えることは難しく、多くの学術機関の利用者はUNIX有償ライセンスを購入して利用を続けた。
1970年代以前のソフトウェアはパブリックドメインで共有されていたが、この頃よりクローズドソース、プロプライエタリソフトウェアが登場した。1974年にCONTUは「コンピュータプログラムは、著作者の制作を具体化する範囲で、著作権の適切な主題である」と言及した[14][15]。加えて、1983年にCONTUはオブジェクトファイルに関するApple-Franklin訴訟で「コンピュータプログラムは文学作品としての著作権を持ち、ソースコードを非公開とするクローズドソースのソフトウェアのビジネスモデルは有効である」と述べている[4]。
1970年代末から1980年代初頭、コンピュータベンダーとソフトウェアベンダーはプログラム製品としてソフトウェアのビジネスモデルを構築し、ソフトウェアを商用製品として販売していった。ビル・ゲイツは1976年にOpen Letter to Hobbyistsというエッセイでマイクロソフトの製品であるAltair BAISCが愛好者の間でライセンス費を支払うこのとなく広く共有されていることを残念に思っていると述べた。IBMは1983年2月8日付の発表レターで、購入したソフトウェアのソースコードを配布しない、今で言うクローズドソース、という方針を打ち出した。コストの増加に伴い、一般傾向はプログラマが可読なソースコードは頒布せず、ソースコードをコンパイルして作られる実行形式の機械語だけを頒布するプロプライエタリソフトウェアとなっていった。
日常的に続いたハッキング
[編集]1980年代から1990年代、ソフトウェアは商業化し、クローズドソースであることが多かったが、後に「ホビイスト(英: hobbyist)」や「ハッカー(英: hacker)」と呼ばれる、ソースコードを他のプログラマやユーザーと無料で共有しようとしていた人たちがいた[16]。彼らは書籍や独自のネットワークを通してソフトウェアのソースコードを共有して、他者の書いたソースコードを入手し、学習、利用した。
書籍を通したコード共有
[編集]インターネットが一般的に使われるようになる以前、1980年代以降に出版されていたCreative Computing、SoftSide、Compute!、Byteなどのコンピュータ雑誌[17][18][19][20]、ベストセラーのBASIC Computer Gamesに代表されるコンピュータプログラミング本はソフトウェアのソースコードを掲載し、共有利用されていた[21]。しかしながら、それらは依然としてコピーライトであり、Atari 8ビット・コンピュータのシステムソフトウェアの主要なコンポーネントは注釈付きのソースコードでマスマーケット本に掲載された。例えば、Atari BASICのソースコードの一部は『The Atari BASIC Source Book』に[22]、Atari DOSのソースコードの一部は『Inside Atari DOS』に掲載されていた[23]。
オンラインの共有コミュニティ
[編集]1980年代、ソースコードを伴うソフトウェアはBBSネットワークで共有されていた。これは時には必要なもので、BASICやその他の一部のインタプリタ言語はソースコードのみで頒布が可能であり、多くのものがフリーウェアだったからである。利用者がソースコードを収集し、その修正について議論の場を設けようとした場合、BBSはデファクトスタンダードなオープンシステムであった。
この分野で最も分かりやすく、最も多く利用されたBBSネットワークの一つにウェイン・ベルがBASICで最初に開発したWWIVがある[24]。彼のソフトウェアをモディング(英: modding)し、モッド(英: Mod)を頒布する文化は[25]、そのソフトウェアを最初にPascal、続いてC++に移植し、そのソースコードは登録ユーザーに共有され、ユーザーはモッドを共有し独自バージョンのソフトウェアをコンパイルする際に使われ、WWIV自身を大きく成長させた[26]。
時を同じくして、1980年代序盤のUsenetとUUCPNetの出現はプログラミングコミュニティを繋ぎ、プログラマがソフトウェアを共有し、他者が書いたソフトウェアに貢献する更に単純な手法を提供した[27]。
SHAREプログラムライブラリ
[編集]1955年に設立したSHAREユーザーグループは自由に利用できるソフトウェアを収集し、頒布していた[28]。SHAREの最も古いドキュメント頒布物は1955年10月17日に遡り、『SHARE Program Library Agency』で磁気テープの情報とソフトウェアがまとめられていた[29]。IBMがメインフレームのOSのソースコードとしてリリースしたものを[30][31][32]、SHAREユーザーグループは小さなローカルの機能追加、修正をし、他の利用者と共有した。SHAREプログラムライブラリとそれが育んだ分散開発のプロセスは、オープンソースソフトウェアの主要な起源の1つとなった[33]。
DECUS tapes
[編集]1980年代初頭、「DECUS tapes」と呼ばれたDECUSによるDEC製品利用者のために自由に利用できるソフトウェアを共有する世界的なシステムが存在した[34]。DECUS tapesはソフトウェアの学習、修正を望む利用者が求めるソースコードを頒布した。DEC製のOSは一般にプロプライエタリソフトウェアだったが、TECOエディタ、runoffテキストフォーマッタ、ファイルリストツールなどの利用者の利便性を上げるユーティリティツールはDECUS tapesで頒布されていた[35]。それらのユーティリティパッケージはDECにも貢献しており、時には彼らの商用のOSの新しいリリースに投入された。DECUS tapesではコンパイラでさえ頒布され、例えばRatforやRatfivは研究者たちがFortranコードをgoto文を抑制する構造化プログラミングへ移行する手助けをした。1981年、DECUS tapesは、DECのVMS OSが動作する16ビットマシンのPDP-11シリーズ、32ビットマシンのVAXシリーズに、ローレンス・バークレー国立研究所のSoftware Tools Virtual Operating Systemを移植したことで革新的な存在となった。それはWindows上のCygwinに似ており、UNIXに互換性のある環境を提供した。
フリーソフトウェアの提唱
[編集]プロプライエタリソフトウェアの文化に強いストレスを感じた一人にリチャード・ストールマンがいた。リチャード・ストールマンはこのままでは最初に他者が書いたプログラムを学習、修正することができなくなり、それは非道徳的であると考えた[36]。この文化に対抗する形で、1980年代中程からリチャード・ストールマンは、利用者の自由とコミュニティに敬意を払い、ソフトウェア利用者にソフトウェアを実行、複製、頒布、学習、改善する自由を提供する「フリーソフトウェア」(英: free software、日: 自由ソフトウェア)を提唱した[37]。
コピーレフトの発明
[編集]リチャード・ストールマンは1980年代中頃にフリーソフトウェアを広く展開させるためコピーライト(著作権)の対象となる著作物の自由な状態を維持するための法的な仕組みとなる「コピーレフト」の概念を発案した[38]。コピーレフトは利用者に、追加費用なく利用する権利、プログラムの完全なソースコードを入手する権利、ソースコードを学習、修正する権利などの多くの権利を与え、同時に成果物に同一の条件および追加の制限を加えない義務を要求した[39]。成果物は他のプログラムの混合で構成されるため、下流の利用者は自身の成果物を独自の制約を加えたソフトウェア(プロプライエタリソフトウェア)に変えることはできず、コピーレフトのコモンズ(ローカル・コモンズ)に貢献するよう呼びかけられた。
コピーレフト (copyleft) という単語はコピーライト (copyright) の対義語として1970年代後半には存在していた[40][41]。リチャード・ストールマンがコピーレフトという語を気に入ったのは、1984年にドン・ホプキンスがリチャード・ストールマンに宛てて送った「Copyleft — all rights reversed」(コピーレフト―全ての権利は逆さにされている)というフレーズに由来する[38]。この後、リチャード・ストールマンはコピーレフトという概念の発案と定義まで少々の時間をかけた。
GNUプロジェクトの開始
[編集]1982年にリチャード・ストールマンはフリーソフトウェアのみで構成された完全なOSを実装する「GNUプロジェクト」を開始した[42]。GNUプロジェクトはEmacs、デバッガ、Yacc互換パーサー、リンカーの実装から始まり[43]、多くのUNIXユーティリティソフトウェアを実装した[44]。GNUプロジェクトの始動させた動機に、利用者にソースコードの提供がなされなかっために問題を解決できなかった厄介なプリンターの存在があった[36]。
1985年、GNUプロジェクトの目的の概要とフリーソフトウェアの重要性を説いた「GNU宣言」を発表した[45]。GNUプロジェクトの可能性とGNU宣言は、シンボリックス社が更新したMITのソースコードをベースにしたLISPマシンをMITが利用するケースにおいて、リチャード・ストールマンとシンボリックス社は合意することはできなかった[46]。
1986年2月、リチャード・ストールマンはフリーソフトウェアの在り方を定義した「フリーソフトウェアの定義」を発表した[47]。1986年のフリーソフトウェアの定義は2つの要点からなり、フリーソフトウェアのフリー(自由)の意義と優位性についてシンプルな言葉で表した。フリーソフトウェアの定義は時代にあわせて逐次更新され、1996年に3条項からなるフリー(自由)の定義とそれを補足する文章となり[48]、1999年に第0条を追加した4条項となった[49]。
GNUプロジェクトのライセンスは、1988年2月11日にコピーレフトの概念が初めてライセンスとして実装されたGNU EmacsのためのEmacs General Public Licenseに始まり[50]、プロジェクト初期はソフトウェア個々にライセンスがリリースされていた。その後、1989年2月にコピーレフトを含めGNU General Public License (GNU GPL) が汎用ライセンスとしてリリースされた[51]。続いて、1991年にGNU General Public License バージョン2、GNU Library General Public License バージョン2がリリースされた[52][53]。同年、GNU Library General Public Licenseは位置付けを明確にするためGNU Lesser General Public License (GNU LGPL) に名称変更して微修正と共にバージョン2.1がリリースされた[54]。
1989年、幾人かのGNUプロジェクトの開発者はシグナスソリューションズに異動した[55]。GNUプロジェクトは、カーネルの開発は引き続き遅れていたが、1991年にカーネルを除いたほぼ全てのコンポーネントが完成し、Linuxカーネルと結合することで、ほぼ全てのソフトウェアがフリーソフトウェアでできたOSが完成した。
フリーソフトウェア財団の設立
[編集]リチャード・ストールマンはフリーソフトウェアの更なる促進を図るため、1985年にフリーソフトウェア財団を設立した[56]。フリーソフトウェア財団はフリーソフトウェアの推進し、GNUプロジェクトを支援する非営利団体である。
1990年代中ほどまでのフリーソフトウェア財団はGNUプロジェクトの開発者の支援(雇用)が主な事業だった。1990年代中ほど以降はフリーソフトウェアの利用者の自由を啓蒙し、「フリー(自由)」であるソフトウェアやファイルフォーマット、在り方を広めるフリーソフトウェア運動を実施していった[57]。また、GPL違反是正(特にコピーレフト違反是正)をソフトウェア開発者やソフトウェアベンダーに強く指導し[58][59]、時にはライセンス違反の訴えを裁判で争った[60]。
Unix系OSの成長
[編集]1980年代以降、AT&TのUNIXはクローズドソース、プロプライエタリソフトウェアとなったが、それまでに大学等で広く使われていたため、そのインタフェースをベースとしたOSがUnix系OSとして派生、誕生、成長していった。また、OSに加えて、Unix系OS上で動作するGUIアプリケーション、コンパイラやプログラミング言語も自由に利用できるソフトウェアとして開発、公開された。UNIX、DOS、Macintoshなどのプロプライエタリな環境を望まないユーザーにとって好ましいもので、ソフトウェアの利用者、開発者を拡大していった。
UNIX派生OS
[編集]1970年代末からカリフォルニア大学バークレー校でAT&TのUNIXのソースコードをベースとしたBerkeley Software Distribution (BSD) が開発された。1977年からビル・ジョイはVersion 6 Unixのアドオンの形でBSDの原形を開発し、1978年3月9日に1BSDをリリースした[61]。この時の主なコンポーネントはPascalコンパイラとexエディタであった。1979年5月にソフトウェアの更新版とviエディタ、C Shellを含む2BSDをリリースした[62]。1979年にVAXの仮想記憶機能を利用し、UNIX/32V由来のユーティリティをまとめた完全なOSとして3BSDをリリースした。 3BSDに注目した国防高等研究計画局 (DARPA) は、バークレーの Computer Systems Research Group (CSRG) に資金提供することを決め、1980年にCSRGは3BSDに様々な改良を加えた4BSDをリリースした[63]。その後、1980年代の間に4.xBSDが様々な修正、改良を加えリリースされた[64]。
1980年代末、それまでのBSDの全バージョンでAT&TのプロプライエタリなUNIXのソースコードが含まれており、AT&Tのソフトウェアライセンスを必要としていたため、1989年6月にAT&Tのライセンスが不要なコードのみで構成されたNetworking Release 1 (Net/1) がリリースされた。Net/1リリース後、BSD開発者キース・ボスティックは、BSDのAT&Tとは無関係な部分をさらにNet/1と同じライセンスでリリースすることを提案し、1991年6月に自由に再配布可能なほぼ完全なOSであるNetworking Release 2(Net/2)をリリースした。Net/2はウィリアム・ジョリッツらによるフリーな386BSDプロジェクト(後にNetBSDとFreeBSDへ再派生)とBerkeley Software Design, Inc. (BSDi) のプロプライエタリなBSD/386プロジェクト(後にBSD/OSに改称)に派生した。1992年からの2年間、BSDiはSystem Vの著作権とUNIXの商標を所有するAT&TのUNIX Systems Laboratories (USL) との間でUSL-BSDi訴訟に見舞われ、訴訟が解決するまでNet/2の配布は差し止められて開発は停滞することとなった。
1980年代中ほどから1990年代序盤にかけて、以前はソースコードが共有されていたUNIXをベースとしたプロプライエタリなOSであるSCOのUnixWare、IBMのAIXなども開発されていた。UNIXの機能の権利の一部はSCOグループが保有し、後のSCO・Linux論争の要因となった。
独立系Unix系OS
[編集]1980年代、UNIXがクローズドソースとなり自由に利用できるOS(カーネル)が存在しなくなったため、UNIXのソースコードを源流とせず、しかしながらUNIXのインタフェースと互換性のあるカーネルの開発が始まった。
アムステルダム自由大学の教授アンドリュー・タネンバウムは1987年にソースコードが非公開となったAT&TのUNIXの代わりの教育用OS「MINIX」を著書『Operating Systems: Design and Implementation』の中で例として開発した[65]。機能上の新しさはないが、マイクロカーネル構造を採用するなど、モダンな洗練が行われていた。元々はIBM PCをターゲットとして開発されたが、その後アタリ、Amiga、Macintosh、SPARCをはじめ、日本においてはNECのPC-9800シリーズにも移植された[66]。
GNUプロジェクトは開発初期はMachをベースにマイクロカーネルを開発することを検討していたが、1987年にTRIXをベースにすることを検討し、最終的には1990年にBSD4.4をベースにしたGNU Hurdの開発を決定した[67]。しかし、開発は遅々として進まず[68]、リチャード・ストールマンは2010年にGNU Hurdは完成していないが重要なプロジェクトではなくなったと発言している[69]。
Linuxの誕生と派生
[編集]リーナス・トーバルズによる「Linux」は1991年4月より開発が始まった。リーナス・トーバルズの当初の目的は、80386プロセッサを搭載した新しいパーソナルコンピュータ (PC) の機能を使いたいがための、自身が使用していたハードウェアとOSに依存しないプログラムの作成だった。リーナス・トーバルズは著書『Just for Fun』で、MINIXやGNU製カーネルが十分な機能を備えて完成していればカーネルを開発することはなかったが、それが必要だったからLinuxカーネルを開発したと述べている[70]。1991年8月25日にUsenetのニュースグループ「comp.os.minix」へAm386、Am486互換機で動作するフリーなOSを作成したと報告し、利用者からのフィードバックを求めた[71]。
リーナス・トーバルズはこのシステムをfree・freak・x (Unix) の混成語「Freax」として呼んでいた。Linus・Unixの混成語「Linux」という名前も考えていたが、最初はそれをあまりにも異例のものとして却下していた[70]。1991年に、開発者支援のためFUNETのFTPサーバにファイルをアップロードする際、当時のFTPサーバ管理ボランティアのアリ・レムクはFreaxは適当な名称ではないと考え、リーナス・トーバルズに相談なくLinuxの名称でファイルをアップロードした[70]。ただし、後からリーナス・トーバルズは承諾している。1992年にモノリシックカーネルを採用したLinux開発者のリーナス・トーバルズとマイクロカーネルを採用したMINIX開発者のアンドリュー・タネンバウムは、ニュースグループ「comp.os.minix」でカーネルの在り方やその他多岐に渡り議論をした[72][73][74][75]。カーネルの在り方は一長一短であり良し悪しを明確に決着することなく、激論を交わしたものの両者は良好な関係でいる[76]。
初期のLinuxは商用利用を禁じたプロプライエタリなライセンスであったが[77]、1992年1月5日にリリースしたバージョン0.12のリリースノートでGPLへのライセンス変更の意向が宣言され[78]、1992年12月にリリースしたバージョン0.99でGPLに変更された[79]。
自由な利用が可能となったLinuxのソースコードは多くのLinuxディストリビューションとして派生し、1993年にパトリック・ボルカディングのSlackware、イアン・マードックのDebianへ、1994年にレッドハットのRed Hat Linux、Software and Systems Development CorporationのS.u.S.Eへと派生していった。
GUIプラットフォームの開発
[編集]コンピュータのGUIは1973年にビットマップスクリーンとしてXerox PARCで初めて実装されていた[80]。その後、1983年にAppleのLisa、1984年にマイクロソフトのInterface Managerでプロプライエタリソフトウェアとして採用された[81][82]。1980年代からUnix系OS上でもGUIプラットフォーム、アプリケーションが開発された。
1983年に、スタンフォード大学のポール・アセントとブライアン・レイドはV-Systemのウィンドウシステムとして「W Window System」を開発した。1984年5月に、マサチューセッツ工科大学 (MIT) のボブ・シャイフラーはW Window Systemの同期機構を非同期機構に変更し、名称を「X Window System」にしてリリースした。X Window Systemは速度性能の改善、カラー化、多機種ハードウェア対応を重ねた。1985年にX6がMIT licenseでリリースされ、世界で初めて完全に自由に利用できるソフトウェアのGUIプラットフォームとなった。1986年にリリースされたX10はDEC、IBM、サン・マイクロシステムズなどのプロプライエタリソフトウェアを扱うベンダーにも採用された。X10で大きな支持を得たX Window Systemは更なる非依存性が求められたが、MITにはその余力がなかったためDEC WSLが開発してX10と同条件でリリースすることが提案され、受け入れられた。次バージョンとなるソフトウェアのプロトコル仕様はUSENETで公開協議で決定され、1987年9月15日にその後のX Window Systemの代名詞となる「X11」がリリースされた。
X11はUnix系OSのGUIシステムのコアとして利用され、1987年にX11上で動作する軽量なウィンドウマネージャ「twm」がMIT Licenseでリリースされた。twmのリリース直後の正式名称はTom's Window Managerだったが、1989年のX ConsortiumでTab Window Managerに変更が発表された。1990年代にはtwmのソースコードを元にしたvtwm、tvtwm、CTWM、FVWMなどの多数のウィンドウマネージャが開発された。ウィンドウマネージャはGUIアプリケーションを開発する基盤として有用で、ウィンドウマネージャが存在することが前提で動作するXterm、Xclock、Xbiff、manなどのソフトウェア開発が続いた。
ウィンドウマネージャは比較的軽量だったがそれゆえに総合的な観点での機能性、優美性は低く、1993年にプロプライエタリソフトウェアとしてリリースされていたCDEに比べて見劣りしていた。1996年にエバーハルト・カール大学テュービンゲンの学生だったマティアス・エトリッヒはデスクトップ環境「KDE」とそれを構築するためのフレームワーク「Qt」をリリースした[83]。また、1997年からGNUプロジェクトは「GNOME」の開発を始めた[84]。
自由なプログラミング言語の誕生
[編集]1980年代後半から自由な利用ができる新しいプログラミング言語が幾つか誕生した。
1987年にPerl、1991年にPython、1995年にRubyがインタプリタのスクリプト言語としてリリースされた[85][86][87]。それらのスクリプト言語はホビイストやハッカーの手軽なツール、HTTPサーバのCGIとして多用された
サン・マイクロシステムズは1995年にJava仮想マシン用にJava言語を開発し[88]、コンパイラと実行環境を無償で提供した[89]。Java仮想マシンはWindows、Mac OS、Linux、そして当然サン・マイクロシステムズのSolarisで動作した。また、Java仮想マシンとウェブブラウザを連携させてウェブブラウザ上でJavaソフトウェアを動かすJavaアプレットはソースコードの入手、学習、実行の容易さに加えて、プログラマからエンドユーザーへの頒布のハードルの高さを下げた。 Java仮想マシンはプロプライエタリソフトウェアであったが、その上で動作するソフトウェアがプロプライエタリでなければならない制約はなかったため、Javaソフトウェアのソースコードは開発者同士でインターネットを通して共有された。また1990年代後半にはウェブブラウザ上で動作するプログラミング言語、ソフトウェア環境としてJavaScript、Macromedia Flash (ActionScript) が登場した[90]。
しかし、ソースコードから実行形式のソフトウェアを出力できるプログラミング言語およびコンパイラは依然として限られており、GNUプロジェクトのGCCが対応するC/C++が主流のプログラミング言語だった。
オープンソースの誕生と発展
[編集]1990年代末から2000年代にかけてオープンソースという用語が誕生、普及した。オープンソースはフリーソフトウェアのソースコードを利用者で共有するソフトウェアの開発手法を主観にフリーソフトウェアを再ブランド化したものであった。オープンソースの開発手法はホビイストやハッカーだけでなく団体や企業にも受け入れられた。
『伽藍とバザール』の出版
[編集]エリック・レイモンドは1997年に著書『伽藍とバザール』を出版し、ソフトウェアのソースコードが公開された環境でのハッカーコミュニティとフリーソフトウェアの開発モデルについて言及した。『伽藍とバザール』ではFetchmailとLinuxカーネルの開発手法を参考に、伽藍の様にトップダウンで開発が進められるプロプライエタリソフトウェアとバザールの様にボトムアップで開発が進められるオープンソースソフトウェアにおける、トップダウン設計とボトムアップ設計の比較がなされている。ソースコードが公開されたソフトウェア開発では末端の利用者が改善の意見やバグの改修などを実施し、ボトムアップでソフトウェア開発が進められていくことが一つのメリットであると言及している。
1998年初頭に同著書は大きな注目を集め、ネットスケープコミュニケーションズがNetscape Suiteをフリーソフトウェアとしてリリースする一つの要因となった。ネットスケープコミュニケーションズはマイクロソフトのInternet Explorerとの競争でシェアが低下したNetscape Navigatorの建て直しのため、 バザール方式でソフトウェア開発が進められるフリーソフトウェアとしてソースコードと共にリリースした。このソースコードは後にリリースされるSeaMonkey、Firefox、Thunderbirdの元となった。
「オープンソース」の始まり
[編集]ネットスケープコミュニケーションズのプロプライエタリソフトウェアをフリーソフトウェアで公開するという行動はエリック・レイモンドたちにフリーソフトウェア財団のフリーソフトウェアの考え方と貢献をソフトウェア商業分野にどのように持ち込むかに目を向けさせた。フリーソフトウェア財団のフリーソフトウェアを推す社会運動(フリーソフトウェア運動)はネットスケープコミュニケーションズのような企業には魅力的ではないと結論し、ソースコード共有によるビジネス面での将来性を企業に強調するためにフリーソフトウェア運動を改革し、再ブランドする方法を模索させた[91]。1998年2月3日、パロアルトで開かれたフリーソフトウェア運動の戦略会議でソフトウェアの機能と品質の向上のために、技術者の参加を募集する方法、誰でも開発および供給に参加できる理念について議論していた[92]。そこでフリーソフトウェアの極端な思想がビジネスの世界からは拒否されていると考えた人々は、「フリーソフトウェア」に代わる用語と理念を検討した。そこで「オープンソース」という用語をクリスティン・ピーターソンが提案し[93][94]、オープンソースでは敢えて自由という点を強調はせず、ソースコードを公開するとどういうメリットがあるかを関心の中心とした。
「オープンソース」はフリーソフトウェア運動をしているラリー・オーガスティン、ジョン・ホール、サム・オックマン、マイケル・ティーマン、エリック・レイモンドなどの会議の参加者に受け入れられた。翌週、エリック・レイモンドたちは用語の展開を働きはじめた[92]。リーナス・トーバルズは翌日、全ての重要な承認を実施した。フィル・ヒューズは『Linux Journal』への投稿を提案した。フリーソフトウェア運動の先駆者であるリチャード・ストールマンはこの用語を受け入れることを考えたが、後に考えを改めている。
1998年4月7日にティム・オライリーが開催した多くのフリーソフトウェアとオープンソースのプロジェクトリーダーが参加するフリーウェアサミット(後にオープンソースサミットに名称を変更)で大きく躍進を遂げた[95]。会議には、リーナス・トーバルズ、ラリー・ウォール、ブライアン・ベエレンドルフ、エリック・オールマン、グイド・ヴァンロッサム、マイケル・ティーマン、エリック・レイモンド、ポール・ヴィクシー、そしてネットスケープコミュニケーションズのジェイミー・ザウィンスキーが参加した。その会議では名称について混乱を引き起こし、マイケル・ティーマンは新しく「sourceware」を主張し、エリック・レイモンドは「open source」を主張した。集まった開発者たちは投票を行い、同日午後に勝者である「open source」が記者会見で公表された。5日後の4月12日、エリック・レイモンドはフリーソフトウェアコミュニティへ新しい用語の「open source」の受け入れの発表をした[96]。その後すぐ、同月末に「オープンソース・イニシアティブ(OSI)」が設立された。
オープンソース・イニシアティブは1998年に「オープンソースの定義」を発表した[97]。オープンソースの定義では、オープンソースは利用者がそのソースコードを商用、非商用の目的を問わず利用、修正、頒布することを許し、それを利用する個人や団体の努力や利益を遮ることがないこととした[98][99]。「オープンソースの定義」では「フリーソフトウェアの定義」のコピーレフトのようなプロプライエタリに用いてはいけないこと、ローカル・コモンズへの貢献を呼び掛けることはしなかった。オープンソース・イニシアティブはオープンソースの定義に従ったソフトウェアライセンスをオープンソースライセンスとして公認して、オープンソースのソフトウェアのブランド化を図った[100]。
Apache Jakartaプロジェクトの邁進
[編集]Apache HTTP Serverを開発していたApacheソフトウェア財団はソースコードの共有が一般になされているJava言語に着目し、1999年にApache LicenseでJavaソースコードとライブラリをリリースする「Jakarta Project」を始動した[101]。
Jakarta Projectは、汎用共通ライブラリCommons、テキストテンプレートエンジンVelocity、全文検索エンジンLucene、MSオフィスファイル操作POIなど[102][103][104][105]、多数のJavaユーティリティライブラリを開発、公開した。Jakarta Projectは1999年にSun J2EEのJava Servletに互換性を持つ「Jakarta Tomcat」をリリースした[106]。
2000年6月19日にJakarta Tomcatを主用途としたJava向けビルドツール「Jakarta Ant」をリリースし[107]、2002年3月30日に依存ライブラリ管理機能やマルチプロジェクト統合管理機能を持つ「Jakarta Maven」をリリースした[108]。Jakarta Mavenはビルドファイルに依存ライブラリのURIを記述することでビルド時に自動的に依存ライブラリをダウンロード、コンパイルするパッケージ管理とビルド(コンパイル)を一連の処理として扱った、Javaのgradle、Go言語のgo、Rust言語のcargoなどの先駆けとなるツールであった。
LAMPとウェブサービスの繁栄
[編集]1990年代以降、インターネットが個人利用でも広く使われるようになり、Apache HTTP Serverを用いたウェブサービスが増えていた。2000年代のウェブサービスプラットフォームは、プロプライエタリソフトウェアのような制約がないウェブサービスプラットフォームとして、Linux OS、Apachサーバ、MySQLデータベース、それにプログラミング言語であるPerl、Python、PHPを組み合わせた「LAMP」が広まった[109]。また、Java言語のマルチプラットフォームの「Jakarta Tomcat」、Ruby言語のインタプリタエンジンで動作する「Ruby on Rails」などもウェブサービスプラットフォームとして使われた[110]。それぞれのソフトウェアはプロプライエタリな制約がなく、利用者はLAMP上で商用、非商用のウェブサービス構築した。
開発支援環境の普及
[編集]オープンソースのソフトウェア開発では、開発支援環境はソフトウェア製品の開発とその環境自身の開発をサポートするのに使われた。
1990年代までのソフトウェア開発はプログラミングをするエディタとコンパイルするターミナルのウィンドウを切り替えて開発をしていたが、それらを一つのウィンドウ(アプリケーション)にまとめて加えてデバッガ連動、入力補完、プログラム実行などの開発補助をする統合開発環境(IDE)が登場した[111]。IBMは2001年11月にJava言語を対象としたIDE「Eclipse」をリリースした[112]。Javaの隆盛と供に爆発的に利用者が増えたEclipseは管理、開発体制の見直しがなされ、2004年にIBMから独立した組織であるEclipse Foundationに譲渡され[113]、Javaに限らずプラグインで任意のプログラミング言語を対象とするIDEとなった[114]。開発効率を上げる統合開発環境はソースコードを読み書きする開発者に受け入れられた。
1990年11月19日にリリースされたConcurrent Versions System(CVS)や2000年10月20日にリリースされたSubversion (SVN) のようなバージョン管理システムはソフトウェアプロジェクトでソースコードなどのファイルと変更履歴の管理をサポートした。1999年11月に立ち上げられたSourceForge.netはCVSのホスティングサービスを提供し、多くのオープンソースソフトウェアのプロジェクトを支援した。Linuxカーネルの開発では2002年から2005年の間、分散管理システムのBitKeeperが使われていた。2005年にBitKeeperが利用できなくなってからは、gitをソースコードの分散管理システムとして開発し、利用を開始した。開発者が不特定多数で自由に利用、修正するオープンソースではクライアントサーバモデルのバージョン管理システムよりP2Pモデルの分散型バージョン管理システムが好まれ、2005年4月19日リリースのmercurial、2007年12月14日リリースのbazaarなど幾つかの分散管理システムが登場した。また、ソースコードのホスティングサービスも2005年にGoogleのGoogle Developers、2006年にマイクロソフトのCodePlex、2008年にgithub、bitbucketが登場した。
対立と論争
[編集]インターネットの普及と共にオープンソースソフトウェアの文化が普及した2000年前後には、フリーソフトウェア運動家の啓蒙活動やソフトウェアベンダーのソースコード共有文化への攻撃など対立と議論が活発となった。
GNU/Linux名称論争
[編集]1990年代中程以降、GNUプロジェクトの創始者であるリチャード・ストールマンはLinuxを「Linux」ではなく「GNU/Linux」と呼ぶことをDebianを含むLinux関連ソフトウェアベンダーに依頼していた[115]。他者の開発するソフトウェアの名称を指定する名称変更の依頼は賛成派と反対派に分かれるGNU/Linux名称論争となり、LinuxディストリビューションやLinux向けソフトウェアを開発する利用者がどのような名称でLinuxを扱うかの論争となった。
フリーソフトウェア財団はフリーソフトウェアおよびGNUプロジェクトの啓蒙のためのGNU/Linuxの名称を使用していることを明言し、その上でそれがフリーソフトウェア運動として意味のあることと主張している[116]。リチャード・ストールマンは名称変更運動が自己中心主義または個人な感情から生じているという指摘に対し、個人の名声ではなくGNUプロジェクトへの名声のために名称変更を主張していると述べている[117]。
Linuxの開発者であるリーナス・トーバルズはGNU/Linuxという名称の存在は否定しないが、それはGNUプロジェクトのLinuxディストリビューションに与えられる名称であり、 Linux全般をGNU/Linuxと呼ぶことは適切ではない述べている[118]。『Linux Journal』はリチャード・ストールマンのは名称変更の啓蒙活動は、「リーナスが、ストールマンがしたかったことで称賛を得た」ことに対するフラストレーションに起因するのではないかと推測している[119]。
フリーソフトウェアとオープンソース
[編集]オープンソースの概念は一定の成功を収め、オープンソースのソフトウェア開発の手法と意義の浸透をもたらしたが、自由を強調しないという点はフリーソフトウェア運動の支持者からの攻撃の標的となることがある。
1999年2月17日、オープンソース・イニシアティブの設立メンバーの1人ブルース・ペレンスはオープンソースが既に成功を収めたこと、そしてオープンソースがフリーソフトウェアから離れすぎていることを挙げて「今こそフリーソフトウェアについて再び語るべきときだ」と述べた[120]。
2007年、リチャード・ストールマンはオープンソースの概念はフリーソフトウェアが主観にしている利用者の重要な自由を守るに足りえないとして、オープンソースはフリーソフトウェアの的を外していると批判した[121]。
2013年、リチャード・ストールマンはフリーソフトウェア運動が問題視している利用者の自由への不当性をオープンソースは問題視していないと述べ、フリーソフトウェアの理念を正しく伝えるため「OSS (Open Source Software) 」ではなく、フリーソフトウェアとオープンソースを複合した用語の「FLOSS (Free/Libre and Open Source Software) 」の利用を推奨した[122]。また、文章として表現する場合でも「フリーソフトウェアとオープンソースソフトウェア」のようにフリーソフトウェアを明示している。
「FLOSS」や「フリーソフトウェアとオープンソースソフトウェア」の表現は、フリーソフトウェア財団とオープンソース・イニシアティブの対立に起因するが、ウィキペディアでは一般的に使用されている用語かは別として中立性のために、広義のオープンソースソフトウェア(OSS)を表す場合にPortal:FLOSSや{{FOSS}}のタイトルなどで使用している(FLOSSに関する各カテゴリの扱いについて、ポータルの名称、Template:FOSS)。
オープンソースソフトウェアの商標
[編集]オープンソース・イニシアティブは1999年にアメリカでの「Open Source」の商標登録を求めたが、Open Sourceは一般的な用語であり特定団体が権利を持つ商標にはならないと判断されている。これについて、オープンソース・イニシアティブはOpen Sourceが一般的な用語として周知されたことを歓迎する立場を取っている[123]。日本では2002年3月にオープンソースグループ・ジャパンがオープンソース/Open Sourceを商標登録(第4553488号)している[124]。日本での用語の利用に際しては特に許諾や制限は求められないが、オープンソースの定義と同等の扱いで利用されることが望まれている。
2006年2月にDebianプロジェクトのバグトラッキングシステムへFirefoxの商標の扱い、およびメンテナンス方法に関する指摘が挙げたれた[125]。要点としては、Mozilla Foundationがオープンソースソフトウェアとして開発しているFirefoxがDebianの公式リポジトリで修正を伴って再頒布されているが、公式ロゴとアートワークの適切な利用がなされていない、メンテナンス手法がセキュリティ等の観点から不適切であるなどの問題があるため、Firefoxの商標を用いて再頒布をしてはならないというものであった。幾つかの問題の解決方法を模索した上で、DebianはFirefoxのソースコードを修正したソフトウェアをFirefoxではなくIceweaselの名称で頒布することに決定した。
2007年にオープンソース・イニシアティブは、SugarCRMが自社のことを「Commercial Open Source」と表現し、オープンソース・イニシアティブがオープンソースライセンスとして承認していないライセンスをソフトウェアに課していたことを非難した[126][127]。後に、SugarCRMはライセンスをオープンソースライセンスとして承認されているGPLv3に切り替えている[128]。
企業からの攻撃
[編集]1998年、マイクロソフトの社内文書であるハロウィーン文書の一部がエリック・レイモンドによりリークされた[129]。ハロウィーン文書にはLinuxやオープンソースソフトウェアに関する潜在的な戦略についての検討情報が記載されていた。それらの文書では、オープンソースソフトウェアがマイクロソフトの自社製品と競合する製品であると認め、それらとどのように戦うかの戦略が検討されていた[130]。
2003年3月7日、UNIXおよびLinuxのソフトウェアを開発していたSCOグループは、同社が権利を持つUNIXのソースコードに基づく機能をIBMが同社の開発するLinux関連製品に不正に組み込んだとして、IBMを提訴した[131]。IBMはこれに対してSCOグループを反訴した。同様にSCOグループはIBM以外のNovellやRed HatのLinuxディストリビューションベンダーも訴えた[132][133] 。オープンソースソフトウェアのソースコードの著作権、開発機能の権利の在り処を争点として、SCOグループと各社は論争をした。
オープンソースソフトウェア
[編集]2000年代後半から、1960年代にソフトウェア開発コストの増加により企業のプロプライエタリソフトウェアになっていたOSとプログラミング言語のコンパイラが企業のオープンソースソフトウェアとして提供されるようになった。
オープンソースOS
[編集]Ubuntuは2004年にユーザビリティの高いLinuxディストリビューションとなることを目標としてDebianから派生して開発された[134]。従来Linuxはコンピュータにある程度詳しいホビイスト、ハッカーが利用するOSだったが、Ubuntuはコンピュータにさほど詳しくない利用者でも利用できるようインストール方法にLiveCDを採用し、GUIもWindows相当に利便化した環境を提供した。2010代初頭には、ユーザーエージェントから判断する限りでは、インターネットトラフィックの0.5%から0.65%の割合を占めていた[135][136]。また、2014年にUbuntu Touchをタッチパネルデバイス用に開発した。
Googleは2005年にAndroid Inc.を買収し[137]、OSとしてLinux、アプリケーション実行環境としてJava仮想マシンDalvik仮想マシンを採用したAndroidの開発を始め、2008年にHTC製タッチパネルスマートフォンHTC Dreamを発売した[138][139]。また、Googleは2009年にウェブブラウザChromeの技術をベースにクラウドにアプリケーションとユーザーデータを保存するChrome OSの開発を発表した[140]。
Nokiaは2010年にSymbianがクローズドソースで開発、販売していたSymbian OSをオープンソースソフトウェアで公開した[141]。LiMo Foundationは2010年にLinuxベースのモバイル向けOSであるMeeGoをリリースした[142]。Symbian、MeeGoは日本ではMOAP(S)、MOAP(L)として2000年代のフィーチャーフォンで採用されていた。
企業スポンサーの高級言語
[編集]2010年代前半から企業をスポンサーとした高級プログラミング言語が発表、開発された。開発されたプログラミング言語はインタプリタエンジンが処理するスクリプト言語、仮想マシンで動作するVM言語、機械語にコンパイルするコンパイル言語と多様である。
それぞれの言語に企業スポンサーがついているが、コンパイラ等はオープンソースライセンスで公開されており、コミュニティベースで仕様策定、実装、評価が行われ、プログラミング言語の利用者がプログラミング言語の開発者でもあるオープンソースソフトウェアである。Go、Rust、Swiftはソースコードから実行形式のソフトウェアを出力が可能であり、長年続いたC/C++とGCCの組み合わせに代わりうるコンパイル言語である[143][144][145]。
アドビは2007年4月26日にActionScriptのコンパイラのソースコードを「Adobe Flex SDK」としてMozilla Public Licenseで公開した[146]。その後、Adobe FlexはAdobeのFlash事業縮小に前後して2011年にApacheソフトウェア財団に寄贈され[147]、Apache FlexとしてApache Licenseで公開された[148]。Googleは2011年10月10日にJavaScriptやActionScript (Adobe Flash) に代わりウェブブラウザ上で高速動作するスクリプト言語「Dart」の開発を発表した[149]。Dartエンジンは同社製Chromeウェブブラウザで試験実装され、他社製ウェブブラウザへ展開することが計画されていたが、正式採用されることはなく開発は2017年に収束報告がなされた[150]。マイクロソフトは2012年10月1日にJavaScriptの型安全性を補完し、実行速度を最適化するスクリプト言語「TypeScript」を発表した[151][152]。TypeScriptはトランスパイルすることでJavaScriptに変換することができ、既存のウェブブラウザで動作するJavaScriptエンジン互換のスクリプト言語であった[153]。
サン・マイクロシステムズは2007年にJava Development Kitのオープンソースソフトウェア版「OpenJDK」をリリースした[154]。マイクロソフトは2014年11月12日に.NET Frameworkのコンパイラ、ライブラリ、ランタイム (.NET VM) を「.NET Core 5」としてリリースした[155]。
Googleは2012年3月にマルチコアのマシンでプログラマが意識することなくマルチスレッドを最適化して実行する「Go」を発表した[156]。Mozilla Foundationは2012年1月に速度、安全性、平行性を言語仕様特徴として謳うシステムプログラミング向けの「Rust」を発表した[157]。アップルは2014年6月にiOS/macOS用プログラミング言語のObjective-Cの文法をモダンにリフォーマットした「Swift」を発表した[158][159]。
脚注
[編集]- ^ United States Department of Defense (2009年10月16日). “Defining Open Source Software (OSS)”. 2018年2月9日閲覧。 “defines OSS as "software for which the human-readable source code is available for use, study, re-use, modification, enhancement, and re-distribution by the users of that software"”
- ^ a b c James J. Flink (1977). The Car Culture. MIT Press. ISBN 0-262-56015-1
- ^ a b Sam Williams. “Free as in Freedom: Richard Stallman's Crusade for Free Software”. 2018年3月10日閲覧。
- ^ a b Landley, Rob (2009年5月23日). “notes-2009”. landley.net. 2015年12月2日閲覧。 “So if open source used to be the norm back in the 1960's and 70's, how did this _change_? Where did proprietary software come from, and when, and how? How did Richard Stallman's little utopia at the MIT AI lab crumble and force him out into the wilderness to try to rebuild it? Two things changed in the early 80's: the exponentially growing installed base of microcomputer hardware reached critical mass around 1980, and a legal decision altered copyright law to cover binaries in 1983.”
- ^ Hippel, Eric von; Krogh, Georg von (2003-04-01). “Open Source Software and the “Private-Collective” Innovation Model: Issues for Organization Science”. Organization Science 14 (2): 209–223. doi:10.1287/orsc.14.2.209.14992. ISSN 1047-7039 .
- ^ “IBM 7090/7094 Page”. 27 August 2015時点のオリジナルよりアーカイブ。11 August 2015閲覧。
- ^ Ceruzzi, Paul (1998). A History of Modern Computing. The MIT Press
- ^ “Heresy & Heretical Open Source: A Heretic's Perspective”. 2018年3月10日閲覧。
- ^ Gaudeul, Alexia (2007). “Do Open Source Developers Respond to Competition? The LATEX Case Study” (英語). Review of Network Economics 6 (2). doi:10.2202/1446-9022.1119. ISSN 1446-9022 .
- ^ “A brief history of spice”. 2018年3月15日閲覧。
- ^ Fisher, Franklin M.; McKie, James W.; Mancke, Richard B. (1983). IBM and the U.S. Data Processing Industry: An Economic History. Praeger. ISBN 0-03-063059-2page 176
- ^ Fisher. op.cit.
- ^ Ritchie, D.M.; Thompson, K. (July 1978). “The UNIX Time-Sharing System”. Bell System Tech. J. (USA: American Tel. & Tel.) 57 (6): 1905–1929. doi:10.1002/j.1538-7305.1978.tb02136.x December 9, 2012閲覧。.
- ^ Apple Computer, Inc. v. Franklin Computer Corporation Puts the Byte Back into Copyright Protection for Computer Programs in Golden Gate University Law Review Volume 14, Issue 2, Article 3 by Jan L. Nussbaum (January 1984)
- ^ Lemley, Menell, Merges and Samuelson. Software and Internet Law, p. 34.
- ^ Shea, Tom (1983年6月23日). “Free software - Free software is a junkyard of software spare parts”. InfoWorld. 2016年2月10日閲覧。
- ^ “Creative Computing”. The Online Books Page: Serial Archive Listings. USA: University of Pennsylvania. 12 May 2014閲覧。
- ^ Steven Weyhrich (1994年2月10日). “Magazines”. 2001年6月21日時点のオリジナルよりアーカイブ。2018年3月15日閲覧。 “SoftSide was a magazine about software, begun in October 1978 by Roger Robitaille.”
- ^ Roberto Dillon (3 December 2014). Ready: A Commodore 64 Retrospective. Springer. p. 113. ISBN 978-981-287-341-5 12 February 2017閲覧。
- ^ Valery, Nicholas (May 19, 1977). “Spare a byte for the family”. New Scientist (London: Reed Business Information) 74 (1052): 405–406. ISSN 0262-4079 . "Byte magazine, the leading publication serving the homebrew market ..."
- ^ Ahl, David. “David H. Ahl biography from Who's Who in America”. 2009年11月23日閲覧。
- ^ “The Atari BASIC Source Book”. COMPUTE! Books (1983年). 2018年3月15日閲覧。
- ^ “Inside Atari DOS”. COMPUTE! Books (1982年). 2018年3月15日閲覧。
- ^ Feren (2001年12月28日). “Correction for "overview of BBS programs."”. 2018年3月15日閲覧。
- ^ Zip Code of Z-TEC (1995年11月24日). “IBM and Compatibles: DOS: AXIS - The BBS Software Directory”. 2018年3月15日閲覧。 “source there were a few bbs's that wouldn't reveal their secrets on how they did their mods. So I would spend a lot of time on other boards learning what their mod did and duplicating it.”
- ^ Wayne Bell (1991年1月). “WWIVNEWS Volume 1, Issue 1”. 2018年3月15日閲覧。
- ^ Dibona, Chris. Open Sources 2.0. O'Reilly. ISBN 0-596-00802-3
- ^ “IBM SHARE Library”. Computer Collection Library (2003年6月27日). 2018年3月15日閲覧。
- ^ “SHARE, The First Computer Users' Group, is Founded (1955)”. HistofyofInformation.com. 24 March 2017閲覧。
- ^ Varian, Melinda (August 1997). “VM and the VM Community: Past, Present, and Future”. Princeton University. p. 54. May 13, 2006時点のオリジナルよりアーカイブ。2019年3月10日閲覧。
- ^ “MEMO OCO:BDAY - Today is OCO's tenth birthday” (February 8, 1993). 2019年3月10日閲覧。
- ^ Dave Pitts' IBM 7090/7094 Page Archived 2015-08-27 at the Wayback Machine.
- ^ Gardner, David (August 17, 2005). “SHARE, IBM User Group, To Celebrate 50th Anniversary”. TechWeb News. March 24, 2006時点のオリジナルよりアーカイブ。2019年3月10日閲覧。
- ^ “The DECUS tapes”. 2018年3月15日閲覧。
- ^ Tim Shoppa (1999年5月28日). “PDP-11 DECUS Software Index”. 2018年3月15日閲覧。
- ^ a b “Talk transcript where Stallman tells the printer story”. 2018年3月10日閲覧。
- ^ “What is Free Software?”. GNU Project (1998年1月26日). 2018年3月10日閲覧。
- ^ a b Stallman, Richard (21 January 2008). “About the GNU Project”. Free Software Foundation. 23 August 2008閲覧。 “In 1984 or 1985, Don Hopkins (a very imaginative fellow) mailed me a letter. On the envelope he had written several amusing sayings, including this one: “Copyleft—all rights reversed.” I used the word “copyleft” to name the distribution concept I was developing at the time.”
- ^ Free Software Foundation (2018年1月1日). “What is Copyleft?”. 2018年2月9日閲覧。
- ^ Wang, Li-Chen (May 1976). “Palo Alto Tiny BASIC”. Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Running Light Without Overbyte 1 (5): 12–25. (NB. Source code begins with the following six lines. "TINY BASIC FOR INTEL 8080; VERSION 1.0; BY LI-CHEN WANG; 10 JUNE, 1976; @COPYLEFT; ALL WRONGS RESERVED". The June date in the May issue is correct. The magazine was behind schedule, the June and July issues were combined to catch up.)
- ^ Rauskolb, Roger (December 1976). “Dr. Wang's Palo Alto Tiny BASIC”. Interface Age 2 (1): 92–108. (NB. The source code begins with the following nine lines: "TINY BASIC FOR INTEL 8080; VERSION 2.0; BY LI-CHEN WANG; MODIFIED AND TRANSLATED TO INTEL MNEMONICS; BY ROGER RAUSKOLB; 10 OCTOBER, 1976 ; @COPYLEFT; ALL WRONGS RESERVED")
- ^ Richard Stallman. “new Unix implementation”. 2016年1月14日閲覧。
- ^ Wardrip-Fruin, Noah; Nick Montfort (2003). The NewMediaReader. The MIT Press. p. 545-550. ISBN 978-0262232272
- ^ “GNU's Bulletin, vol. 1 no. 3”. gnu.org (June 1987). 2018年3月15日閲覧。
- ^ Stallman, Richard (March 1985). “Dr. Dobb's Journal”. Dr. Dobb's Journal 10 (3): 30 2011年10月18日閲覧。.
- ^ “Transcript of Richard Stallman's Speech, 28 Oct 2002, at the International Lisp Conference”. GNU Project (28 October 2002). 2008年12月21日閲覧。
- ^ “GNU's Bulletin, Volume 1 Number 1, page 8”. Gnu.org. 2013年10月3日閲覧。
- ^ “What is Free Software?”. Gnu.org. 1998年1月26日時点のオリジナルよりアーカイブ。2013年10月3日閲覧。
- ^ “What is Free Software?”. Gnu.org. 1999年4月30日時点のオリジナルよりアーカイブ。2013年10月3日閲覧。
- ^ “GNU Emacs General Public License”. free-soft.org. 2018年3月10日閲覧。
- ^ “GNU General Public License, version 1”. Free Software Foundation. 2011年4月1日閲覧。
- ^ “GNU General Public License, version 2”. Free Software Foundation. 2011年4月1日閲覧。
- ^ “GNU Library General Public License, version 2.0”. Free Software Foundation. 2011年4月1日閲覧。
- ^ “GNU Library General Public License, version 2.1”. フリーソフトウェア財団. 2011年4月1日閲覧。
- ^ Michael Tiemann. “Future of Cygnus Solutions, An Entrepreneur's Account”. 2018年3月10日閲覧。
- ^ “Facebook is a surveillance engine, not friend: Richard Stallman, Free Software Foundation”. 2018年3月15日閲覧。 “Dr Stallman, who started the Free Software Foundation in 1985 to promote freedom to create, share and modify software, is extremely sensitive to whether the goals of his initiative are rightly communicated.”
- ^ “Stallman interviewed by Sean Daly”. Groklaw (2006年6月23日). 2018年3月15日閲覧。
- ^ Kennedy, Dennis (2004年1月11日). “A Great Learning Opportunity for Software Lawyers — Upcoming GPL Seminar”. 2007年9月28日時点のオリジナルよりアーカイブ。2007年8月11日閲覧。
- ^ Lord, Timothy (2003年7月18日). “Seminar On Details Of The GPL And Related Licenses”. Slashdot. 2007年8月11日閲覧。
- ^ Paul, Ryan (2007年12月13日). “Free Software Foundation lawsuit against Cisco a first”. Arstechnica.com. 2008年12月11日閲覧。
- ^ Salus, Peter H. (2005). “Chapter 7. BSD and the CSRG”. The Daemon, the Gnu and the Penguin. Groklaw
- ^ Toomey, Warren. “Details of the PUPS archives”. tuhs.org. The Unix Heritage Society. October 6, 2010閲覧。
- ^ Eric S. Raymond. “The Art of Unix Programming: Origins and History of Unix, 1969–1995”. 2014年7月18日閲覧。
- ^ Quarterman, John S.; Silberschatz, Abraham; Peterson, James L. (December 1985). “4.2BSD and 4.3BSD as examples of the Unix system”. Computing Surveys 17 (4): 379–418. doi:10.1145/6041.6043.
- ^ Tanenbaum, Andrew S.; Woodhull, Albert S. (1997) [1986]. Operating Systems Design and Implementation (Second ed.). ISBN 0-13-638677-6. OCLC 35792209 August 2, 2011閲覧。
- ^ Tanenbaum, Andrew 著、大西 輝代 訳『MINIXオペレーティング・システム』株式会社アスキー、1989年、13頁。ISBN 4-7561-0000-7。
- ^ “The GNU Hurd History, 'How it Started'”. GNU. 2006年8月27日閲覧。
- ^ Ribeiro, John (2002年3月11日). “Free Software Sees GNU Loose of Linux”. PC World. 2012年10月5日閲覧。
- ^ Stallman, Richard (2010年7月29日). “RMS AMA”. Reddit. 2011年12月7日閲覧。
- ^ a b c Torvalds, Linus; Diamond, David (2001). Just For Fun - The Story Of An Accidental Revolutionary. New York: HarperBusiness. ISBN 0-06-662072-4
- ^ Torvalds, Linus Benedict (August 1991). “comp.os.minix”. 2009年9月6日閲覧。
- ^ A. S. Tanenbaum (29 January 1992). "LINUX is obsolete". Newsgroup: comp.os.minix. Usenet: 12595@star.cs.vu.nl. 2008年7月16日閲覧。
- ^ A. S. Tanenbaum (30 January 1992). "Re: LINUX is obsolete". Newsgroup: comp.os.minix. Usenet: 12615@star.cs.vu.nl. 2008年7月16日閲覧。
- ^ Tanenbaum, Andy (February 1992). “Re: Unhappy campers”. 2009年6月5日時点のオリジナルよりアーカイブ。2008年10月19日閲覧。
- ^ Andrew Tanenbaum, Linus Torvalds and others: Linux is obsolete Usenet post, 29 January 1992
- ^ Tanenbaum, Andrew S.. “Ken Brown's Motivation”. 2007年12月24日閲覧。
- ^ Silvonen, Jussi (2003). “Linux ja vapaat ohjelmat: haaste informaatiokapitalismille?” (フィンランド語). MarxIT: Informaatiokapitalismin kriittistä tarkastelua. Helsinki: The Finnish Karl Marx Society. p. 120. ISBN 952-99110-0-9
- ^ “Release notes for Linux kernel 0.12”. 2018年3月15日閲覧。
- ^ z-archive of Linux version 0.99[リンク切れ], kernel.org, December 1992
- ^ Smith, Douglas K.; Alexander, Robert C. (1988). Fumbling the Future: How Xerox Invented, then Ignored, the First Personal Computer. William Morrow & Co. ISBN 978-0688069599
- ^ Christoph Dernbach (October 12, 2007). “Apple Lisa”. Mac History. November 15, 2012閲覧。
- ^ Mary Bellis (2019年1月17日). “The Unusual History of Microsoft Windows”. ThoughtCo. 2018年3月15日閲覧。
- ^ Ettrich, Matthias (14 October 1996). "New Project: Kool Desktop Environment (KDE)". Newsgroup: de.comp.os.linux.misc. Usenet: 53tkvv$b4j@newsserv.zdv.uni-tuebingen.de. 2006年12月29日閲覧。
- ^ de Icaza, Miguel (1997年8月15日). “The GNOME Desktop project.”. mail.gnome.org. 2015年8月11日閲覧。
- ^ Larry Wall (1 February 1988). "v13i001: Perl, a "replacement" for awk and sed, Part01/10". Newsgroup: comp.sources.unix. 2011年1月13日閲覧。
- ^ “The History of Python: A Brief Timeline of Python”. Blogger (20 January 2009). 20 March 2016閲覧。
- ^ “ruby-talk:00382 Re: history of ruby”. 2 May 2015閲覧。
- ^ Byous, Jon (c. 1998). “Java technology: The early years”. Sun Developer Network. サン・マイクロシステムズ. April 20, 2005時点のオリジナルよりアーカイブ。2005年4月22日閲覧。
- ^ “The History of Java Technology”. October 6, 2012閲覧。
- ^ “Press release announcing JavaScript, "Netscape and Sun announce JavaScript"”. PR Newswire (December 4, 1995). 2007年9月16日時点のオリジナルよりアーカイブ。2018年3月15日閲覧。
- ^ Karl Fogel (2016年). “Producing Open Source Software - How to Run a Successful Free Software Project”. O'Reilly Media. 2016年4月11日閲覧。
- ^ a b Tiemann, Michael (19 September 2006). “History of the OSI”. Open Source Initiative. 2002年10月1日時点のオリジナルよりアーカイブ。23 August 2008閲覧。
- ^ History of the Open Source Initiative
- ^ Technology In Government, 1/e. Jaijit Bhattacharya. (2006). p. 25. ISBN 978-81-903397-4-2
- ^ “Open Source Summit”. 2013年12月29日時点のオリジナルよりアーカイブ。2018年3月1日閲覧。
- ^ Eric S. Raymond. “Goodbye, "free software"; hello, "open source"”. catb.org. 11 August 2015閲覧。
- ^ Chris DiBona, Sam Ockman. “Appendix B. The Open Source Definition, Version 1.0”. Safari Books Online. 2018年3月15日閲覧。
- ^ Open Source Initiative (2007年3月22日). “The Open Source Definition”. 2018年2月9日閲覧。
- ^ annr (2017年5月16日). “What is open source, and what is the Open Source Initiative?”. 2018年2月9日閲覧。
- ^ Eric S. Raymond (1999年6月16日). “Open Source Certification:Press Releases”. Open Source Initiative. 2018年2月9日閲覧。
- ^ Jason Hunter (June 1999). “Sun and Apache team up to deliver servlet and JSP code”. JavaWorld. International Data Group. p. 1. 22 February 2012閲覧。
- ^ Goyal, Vikram (2003), Using the Jakarta Commons, Part I August 13, 2006閲覧。
- ^ Cole, Jim; D. Gradecki, Joseph (July 16, 2003), Mastering Apache Velocity (1st ed.), Wiley, p. 372, ISBN 978-0-471-45794-7
- ^ “Welcome to Apache Lucene”. 21 December 2017閲覧。
- ^ Sundaram, Elango (2004-03-22), Excelling in Excel with Java, Java World
- ^ “The Origin Story of Tomcat”. TechNotif. 23 July 2017閲覧。
- ^ “Tell us a little bit about Ant's history.”. Apacheソフトウェア財団. 2019年3月15日閲覧。
- ^ “Maven Releases History”. Apacheソフトウェア財団. 2019年3月15日閲覧。
- ^ “LAMP (Linux, Apache, MySQL, PHP)”. SearchEnterpriseLinux. 28 August 2014閲覧。
- ^ Grimmer, Lenz−− (February 2006). “Interview with David Heinemeier Hansson from Ruby on Rails”. MySQL AB. February 25, 2013時点のオリジナルよりアーカイブ。2008年6月8日閲覧。
- ^ Cagan, Martin R. (June 1990). “The HP SoftBench Environment: An Architecture for a New Generation of Software Tools”. Hewlett-Packard Journal 41 (3): 36–47.
- ^ “Where did Eclipse come from?”. Eclipse Wiki. 16 March 2008閲覧。
- ^ “About the Eclipse Foundation”. The Eclipse Foundation. 13 August 2008閲覧。
- ^ Gallardo, David (1 December 2002). “Developing Eclipse plug-ins”. IBM developerWorks. 5 February 2018閲覧。
- ^ Sam Williams (2002). “Chapter 10”. Free as in Freedom: Richard Stallman's Crusade for Free Software. O'Reilly
- ^ “GNU/Linux FAQ”. 2008年12月13日閲覧。
- ^ Richard Stallman (2001年5月29日). “Free Software: Freedom and Cooperation - transcript of speech at New York University in New York, New York”. 2008年12月18日閲覧。
- ^ Moore, J.T.S.(制作、監督、脚本) (2001). Revolution OS (DVD).
- ^ “From the Publisher: On the Politics of Freedom”. Linux Journal #30 (1996年10月). 2008年12月20日閲覧。 “Perhaps RMS is frustrated because Linus got the glory for what RMS wanted to do”
- ^ Bruce Perens (1999年2月17日). “It's Time to Talk about Free Software Again”. 2018年3月1日閲覧。
- ^ Richard Stallman (2016年11月18日). “Why Open Source misses the point of Free Software”. 2018年2月9日閲覧。
- ^ Richard Stallman (2016年11月18日). “FLOSS and FOSS”. 2018年2月9日閲覧。
- ^ Open Source Initiative (1999年6月). “Open Source Certification:Press Releases”. 2018年3月1日閲覧。
- ^ オープンソースグループ・ジャパン (2003年). “オープンソース商標について”. 2018年3月1日閲覧。
- ^ Mike Connor (2006年2月27日). “Uses Mozilla Firefox trademark without permission”. 2018年2月24日閲覧。
- ^ Dana Blankenhorn (2006年12月7日). “Is SugarCRM open source?”. 2018年2月15日閲覧。
- ^ Tiemann, Michael (2007年6月21日). “Will The Real Open Source CRM Please Stand Up?”. Open Source Initiative. 2008年1月4日閲覧。
- ^ Vance, Ashlee (2007年7月25日). “SugarCRM trades badgeware for GPL 3”. The Register 2008年9月8日閲覧。
- ^ “Internal Memo Shows Microsoft Executives' Concern Over Free Software”. The New York Times (1998年11月3日). 2011年11月5日閲覧。
- ^ “Halloween Document 1”. www.catb.org. 2016年2月22日閲覧。
- ^ “Ladies and Gentlemen, SCO v. IBM Is Officially Reopened”. Groklaw (2013年6月15日). 2014年9月17日閲覧。
- ^ “SCO's Complaint In the Third Judicial District Court of Salt Lake County, State of Utah” (January 20, 2004). 2018年2月24日閲覧。
- ^ “Archived copy”. 2004年6月11日時点のオリジナルよりアーカイブ。2004年8月2日閲覧。
- ^ Kent Roberts (2014年9月16日). “A Brief History of Linux/Open Source Distributions”. atlantic.net. 2018年3月15日閲覧。
- ^ Zachte, Eric. “Operating Systems (December 2011)”. Wikimedia Traffic Analysis Report. Wikimedia Foundation. 23 January 2012閲覧。
- ^ “Linux (Global marketshare)”. Clicky Web Analytics. Roxr Software Limited. 23 January 2012閲覧。
- ^ Elgin, Ben (August 17, 2005). “Google Buys Android for Its Mobile Arsenal”. Bloomberg Businessweek. Bloomberg L.P.. February 5, 2011時点のオリジナルよりアーカイブ。March 12, 2017閲覧。
- ^ Aamoth, Doug (September 23, 2008). “T-Mobile officially announces the G1 Android phone”. TechCrunch. AOL. March 12, 2017閲覧。
- ^ Gao, Richard (September 23, 2016). “Android and its first purchasable product, the T-Mobile G1, celebrate their 8th birthdays today”. Android Police. March 12, 2017閲覧。
- ^ Pichai, Sundar (July 7, 2009). “Introducing the Google Chrome OS”. Official Google Blog. Google, Inc.. July 11, 2012閲覧。
- ^ Symbian Completes Biggest Open Source Migration Project Ever, Symbian Foundation, (4 February 2010) 7 February 2010閲覧。
- ^ Imad Sousou & Valtteri Halla; MeeGo Technical Steering Group (2010年5月26日). “MeeGo v1.0 Core Software Platform & Netbook User Experience project release publisher=MeeGo-dev mailing list” (英語). 2010年6月1日時点のオリジナルよりアーカイブ。2010年8月14日閲覧。
- ^ Kincaid, Jason (10 November 2009). “Google’s Go: A New Programming Language That’s Python Meets C++”. TechCrunch 18 January 2010閲覧。
- ^ Binstock, Andrew. “The Rise And Fall of Languages in 2013”. Dr Dobb's. 2018年3月15日閲覧。
- ^ “Apple Seeks a Swift Way to Lure More Developers”. Technology Review (June 3, 2014). 2018年3月15日閲覧。
- ^ “Adobe keeps Flash, Flex close to the vest”. Zdnet. 2008年2月7日時点のオリジナルよりアーカイブ。2008年2月9日閲覧。
- ^ “Adobe donates Flex to Apache”. Techworld. 2011年11月17日閲覧。
- ^ “Apache Flex 4.8.0-incubating Released”. 2019年3月15日閲覧。
- ^ “Dart, a new programming language for structured web programming” (presentation), GOTO conference (opening keynote), Århus conference, (2011-10-10)
- ^ Brad Green (2017年4月10日). “Official languages at Google”. Google. 2018年3月15日閲覧。
- ^ “Microsoft augments JavaScript for large-scale development”. InfoWorld. International Data Group (1 October 2012). 26 April 2015閲覧。
- ^ Turner, Jonathan (2 April 2014). “Announcing TypeScript 1.0”. TypeScript Language team blog. Microsoft. 26 April 2015閲覧。
- ^ Bright, Peter (3 October 2012). “Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem?”. Ars Technica. Condé Nast. 26 April 2015閲覧。
- ^ “Sun Opens Java”. サン・マイクロシステムズ (November 13, 2006). April 21, 2007時点のオリジナルよりアーカイブ。May 9, 2007閲覧。
- ^ “.NET Core 1.0 released, now officially supported by Red Hat”. Ars Technica. Condé Nast (27 June 2016). 2018年3月15日閲覧。
- ^ Shankland, Stephen (2012年3月30日). “Google's Go language turns one, wins a spot at YouTube: The lower-level programming language has matured enough to sport the 1.0 version number. And it's being used for real work at Google.”. CBS Interactive Inc (2012-03-30発行) 2017年8月6日閲覧. "Google has released version 1 of its Go programming language, an ambitious attempt to improve upon giants of the lower-level programming world such as C and C++."
- ^ catamorphism (2012年1月20日). “Mozilla and the Rust community release Rust 0.1 (a strongly-typed systems programming language with a focus on memory safety and concurrency)”. 2012年2月6日閲覧。
- ^ Platforms State of the Union, Session 102, Apple Worldwide Developers Conference, June 2, 2014
- ^ “Swift Has Reached 1.0” (September 9, 2014). September 10, 2014閲覧。