フリーソフトウェアとオープンソースソフトウェアの歴史は、20世紀前半のコンピュータソフトウェアの登場に始まります。1950年代から1960年代にかけて、コンピュータのオペレーティングソフトウェアとコンパイラは、ハードウェアの購入時に別途料金なしで提供されていました。当時、ソフトウェアの人間が読める形式であるソースコードは、一般的にソフトウェアとともに配布され、バグの修正や新機能の追加を可能にしていました。大学はコンピュータ技術をいち早く導入した機関でした。大学で開発された多くの改良点は、知識共有という学術的な原則に沿って公開され、共有を促進するための組織が次々と設立されました。
大規模オペレーティングシステムが成熟するにつれ、オペレーティングソフトウェアの変更を許可する組織は減少し、最終的にはそのようなオペレーティングシステムは変更不可となった。しかし、ユーティリティやその他の追加機能アプリケーションは依然として共有されており、ソフトウェアの共有を促進するための新しい組織も設立されている。
技術情報の自由な共有という概念は、コンピュータが登場するずっと前から存在していました。例えば、自動車開発の初期には、ある企業がジョージ・B・セルデンが最初に申請した2サイクルガソリンエンジンの特許権を所有していました。[ 1 ]この特許を支配することで、彼らは業界を独占し、自動車メーカーに彼らの要求に従うか、訴訟のリスクを負うかのどちらかを強制することができました。1911年、独立系自動車メーカーのヘンリー・フォードはセルデンの特許に対する異議申し立てに勝利しました。その結果、セルデンの特許は事実上無価値になり、新しい協会(後に自動車製造業者協会となる)が設立されました。[ 1 ]この新しい協会は、米国のすべての自動車メーカー間で相互ライセンス契約を締結しました。各社は技術を開発し特許を申請しますが、これらの特許はすべてのメーカー間で金銭のやり取りなしにオープンに共有されました。[ 1 ]アメリカが第二次世界大戦に参戦する頃には、フォードの特許92件と他社の特許515件が、金銭のやり取り(または訴訟)なしにこれらの製造業者間で共有されていた。[ 1 ]
コンピュータソフトウェアは20世紀前半に誕生しました。[ 2 ] [ 3 ] [ 4 ] 1950年代から1960年代にかけて、ほとんどすべてのソフトウェアは、共同で作業する学者や企業の研究者によって作成され、[ 5 ]パブリックドメインソフトウェアとして共有されることが多かったのです。そのため、ソフトウェアは一般的に、学術界で長年確立されてきたオープン性と協力の原則に基づいて配布され、それ自体が商品とは見なされていませんでした。このような共同作業は後に、いわゆるハッキング文化(フリーソフトウェアプログラマーの間では肯定的な意味合いを持つ用語)の中心的な要素となりました。
コンピュータオペレーティング ソフトウェアとコンパイラは、ハードウェアの購入時に別途料金なしで提供されました。当時、ソフトウェアの人間が読める形式のソース コードが、ソフトウェアのマシン コードとともに配布されるのが一般的でした。これは、ユーザーがソフトウェアを頻繁に自分で変更していたためです。変更しないと、異なるハードウェアや OS では動作せず、また、バグを修正したり、新しい機能を追加したりするためでした。[ 6 ] [ 7 ] [ 8 ]フリーでオープンソースのソフトウェアの最初の例は、 1953 年に Remington Rand のUNIVAC部門で開発されたA-2 システムであると考えられています。 [ 9 ]これは、ソース コードとともに顧客にリリースされました。顧客は、改良点を UNIVAC に送り返すよう求められました。[ 10 ]その後、ほとんどすべてのIBMメインフレームソフトウェアもソース コードを含めて配布されました。ソフトウェアの交換を促進するために、IBM 701のSHAREやDigital Equipment Corporation (DEC)のDECUSなどのユーザー グループが結成されました。元々ゼネラルモーターズが開発したSHAREオペレーティングシステムは、 IBM 709および7090コンピュータ向けにSHAREによって配布されました。一部の大学のコンピュータラボでは、コンピュータにインストールされるすべてのプログラムに公開されたソースコードファイルが付属していなければならないというポリシーさえありました。[ 11 ]
1969年に、大陸横断型の高速コンピュータネットワークであるARPANET(Advanced Research Projects Agency Network )が構築されました。このネットワーク(後にインターネットに取って代わられた)は、ソフトウェアコードの交換を簡素化しました。 [ 6 ]
1970年代に開発されたフリーソフトウェアの中には、TeX (ドナルド・クヌースによって開発された)[ 12 ]やSPICE [ 13 ]のように、現在も開発・使用されているものがある。
1960年代後半には変化が訪れていた。オペレーティングシステムやプログラミング言語コンパイラが進化するにつれて、ソフトウェアの製造コストはハードウェアに比べて劇的に増加していた。成長を続けるソフトウェア業界は、ハードウェアメーカーのバンドルソフトウェア製品(バンドル製品のコストはハードウェアのコストに含まれていた)と競合し、リース機はソフトウェアのサポートを必要とする一方で、ソフトウェアの収益は生み出さず、また、自分のニーズをよりよく満たすことができる一部の顧客は、メーカーのソフトウェアのコストがハードウェア製品のコストにバンドルされることを望まなかった。[14] 1969年1月17日に提起された米国対IBMの独占禁止法訴訟で、米国政府はバンドルソフトウェアが反競争的であると主張した。[ 15 ]一部のソフトウェアは引き続き無料で提供されていたが、制限付きライセンスの下でのみ販売されるソフトウェアの量が増加していた。
1970年代初頭、AT&TはUnixの初期バージョンを政府機関や学術研究者に無償で配布したが、これらのバージョンには再配布や改変版の配布の許可は含まれていなかったため、現代的な意味でのフリーソフトウェアではなかった。1980年代初頭にUnixが広く普及すると、AT&Tは無償配布を中止し、システムパッチを有料化した。別のアーキテクチャへの移行は非常に困難であるため、ほとんどの研究者は商用ライセンスを購入した。
1974年に米国著作権作品新技術利用委員会(CONTU)が「コンピュータプログラムは、著作者の独創的な創作物を具現化している限り、著作権の適切な対象である」と決定するまで、ソフトウェアは著作権の対象とはみなされていませんでした。[ 16 ] [ 17 ]そのため、ソフトウェアにはライセンスが付帯されておらず、通常はソースコードとともにパブリックドメインソフトウェアとして共有されていました。CONTUの決定と、オブジェクトコードに関する1983年のApple対Franklinなどの後の裁判所の決定により、コンピュータプログラムは文学作品と同等の著作権の地位を獲得し、ソフトウェアのライセンス供与とシュリンクラップ型のクローズドソースソフトウェアビジネスモデルが始まりました。[ 18 ]
1970年代後半から1980年代初頭にかけて、コンピュータベンダーやソフトウェア専業企業は、ソフトウェアライセンス料を請求し、ソフトウェアを「プログラム製品」として販売し、著作権、商標、リース契約を通じて、現在では資産とみなされている新しいソフトウェア開発に法的制限を課すようになった。1976年、ビル・ゲイツは「趣味家への公開書簡」と題するエッセイを書き、趣味家がライセンス料を支払わずにマイクロソフトの製品であるAltair BASICを広く共有していることに落胆を表明した。1979年、AT&TはUnixシステムを販売することで利益を得られる可能性があると判断し、ライセンスの執行を開始した。[ 19 ] 1983年2月8日付の発表書簡で、IBMは購入したソフトウェアにソースコードを配布しない方針を開始した。[ 20 ] [ 21 ]
収益を増やすために、プログラマが容易に読み取れるソースコードを配布せず、ソースコードからコンパイルされた実行可能なマシンコードのみを配布するという一般的な傾向が始まりました。この新しい慣行に特に困惑した人物の一人がリチャード・ストールマンでした。彼は、他人が最初に書いたプログラムを研究したり、さらに修正したりすることができなくなることを懸念していました。ストールマンはこの慣行を倫理的に間違っていると考えました。これに対し、彼は人々がフリーソフトウェアのみを使用してコンピュータを使用できるようにするために、1983年にGNUプロジェクトを設立しました。[ 8 ]彼は、プロジェクトをより正式に組織するために、1985年に非営利団体であるフリーソフトウェア財団を設立しました。彼は、著作権の対象となる作品の「自由」な状態を維持するための法的メカニズムであるコピーレフトを発明し、これをGNU一般公衆ライセンスに実装しました。コピーレフトライセンスは、著作者がユーザーに多くの権利(追加料金なしで作品を使用する権利、プログラムの完全な対応するソースコードを取得、研究、修正する権利など)を付与することを可能にしますが、派生作品は同じライセンスまたは追加の制限のないライセンスの下に留まることを要求します。派生作品には他のオリジナルプログラムとの組み合わせが含まれるため、下流の著者は最初の作品をプロプライエタリソフトウェアに変えることができないようにされ、コピーレフトコモンズへの貢献を促される。[ 6 ]その後、このようなライセンスのバリエーションが他の人々によって開発された。
しかし、ソースコードを他のプログラマーやユーザーと無料で共有したいと考える人もまだおり、当時は「ホビイスト」や「ハッカー」と呼ばれていました。[ 22 ]インターネットが導入され広く一般に利用されるようになる前は、コンピュータ雑誌(Dr. Dobb's Journal、Creative Computing、SoftSide、Compute!、Byteなど)や、ベストセラーのBASIC Computer Gamesなどのコンピュータプログラミング書籍に掲載するなど、これを行うための代替手段がいくつかありました。[ 23 ]著作権は依然として保護されていましたが、Atari 8ビットコンピュータのシステムソフトウェアの主要コンポーネントの注釈付きソースコードは、The Atari BASIC Source Book [ 24 ] ( Atari BASICの完全なソース)やInside Atari DOS(Atari DOSの完全なソース) [ 25 ]などの一般向け書籍で公開されました。
1955年に設立されたSHAREユーザーグループは、フリーソフトウェアの収集と配布を開始しました。SHAREからの最初の記録された配布は1955年10月17日付けです。 [ 26 ]「SHAREプログラムライブラリ機関」(SPLA)は、特に磁気テープで情報とソフトウェアを配布しました。
1980年代初頭、いわゆるDECUSテープ[ 27 ]は、DEC機器ユーザー向けのフリーソフトウェアを配信するための世界的なシステムでした。オペレーティングシステムは通常プロプライエタリソフトウェアでしたが、 TECOエディタ、Runoffテキストフォーマッタ、Listファイル一覧ユーティリティなど、ユーザーの利便性を向上させるための多くのツールが開発され、DECUSテープで配布されました。これらのユーティリティパッケージはDECにも利益をもたらし、DECはそれらを自社プロプライエタリオペレーティングシステムの新しいリリースに組み込むこともありました。コンパイラも配布され、例えばRatfor(およびRatfiv)は、研究者がFortranコーディングから構造化プログラミング(GO TO文の抑制)に移行するのを支援しました。1981年のDecusテープは恐らく最も革新的で、ローレンス・バークレー研究所ソフトウェアツール仮想オペレーティングシステムを導入し、ユーザーがDECの16ビットPDP-11および32ビットVAX上でUnixライクなシステムを使用できるようにしました。VMSオペレーティングシステム上で動作する。現在のWindows用Cygwinシステムに似ている。バイナリやライブラリが配布されることが多かったが、ユーザーは通常、ソースコードからコンパイルすることを好んだ。
1980年代、フリーソフトウェア運動と並行して、ソースコード付きのソフトウェアがBBSネットワーク上で共有されるようになった。これは時に必然的なことだった。BASICなどのインタプリタ型言語で書かれたソフトウェアはソースコードとしてしか配布できず、その多くはフリーウェアだったからだ。ユーザーがこうしたソースコードを収集し、その改変について議論するための掲示板を立ち上げるにつれ、事実上のオープンソースシステムが形成されていった。
その最も分かりやすい例の一つが、最も広く利用されているBBSシステムおよびネットワークの一つであるWWIVです。これは当初、ウェイン・ベルによってBASICで開発されました。彼のソフトウェアを「改造」し、その改造版を配布する文化が非常に広まったため、ソフトウェアが最初にPascal、次にC++に移植された後も、ソースコードは登録ユーザーに配布され続け、ユーザーは改造版を共有し、独自のバージョンのソフトウェアをコンパイルしました。このことが、他の多くのBBS開発者が共有していたFidonetの傘下にはなかったにもかかわらず、WWIVが支配的なシステムおよびネットワークとなった要因の一つかもしれません。
一方、 1980年代初頭にUsenetとUUCPNetが登場したことで、プログラミングコミュニティはさらに繋がり、プログラマーが自分のソフトウェアを共有したり、他の人が書いたソフトウェアに貢献したりするためのより簡単な方法が提供された。[ 28 ]
1983年、リチャード・ストールマンは、ソースコードの使用に関する制約のない完全なオペレーティングシステムを作成するためにGNUプロジェクトを立ち上げた。このプロジェクトを促した具体的な出来事には、ソースコードがユーザーに公開されていなかったために、厄介なプリンタを修理できなかったケースが含まれる。 [ 29 ]ストールマンはまた、 1985年にGNUマニフェストを発表し、GNUプロジェクトの目的を概説し、フリーソフトウェアの重要性を説明した。GNUプロジェクトとそのマニフェストのもう1つの可能性のあるインスピレーションは、MITのコードに基づいているSymbolics社のLispマシンに対するSymbolics社のアップデートへのMITのアクセスをめぐるストールマンとSymbolics社との間の意見の相違であった。 [ 30 ]立ち上げ後まもなく、彼は[ 22 ]既存の用語「フリーソフトウェア」を使用し、その概念を推進するためにフリーソフトウェア財団を設立した。フリーソフトウェアの定義は1986年2月に発表された。
1989年にGNU一般公衆ライセンスの最初のバージョンが公開されました。[ 31 ] 1991年には、少し更新されたバージョン2が公開されました。1989年、GNU開発者の一部がCygnus Solutionsという会社を設立しました。[ 32 ]後に「GNU Hurd」と呼ばれるようになったGNUプロジェクトのカーネルは、継続的に遅延しましたが、他のほとんどのコンポーネントは1991年までに完成しました。これらのうち、特にGNU Compiler Collectionは、独自の市場リーダーとなりました。GNU DebuggerとGNU Emacsも注目すべき成功を収めました。
Linus Torvaldsによって開始されたLinux カーネルは、1991 年に自由に修正可能なソース コードとして公開されました。ライセンスはフリー ソフトウェア ライセンスではありませんでしたが、1992 年 2 月のバージョン 0.12 で、Torvalds はプロジェクトをGNU General Public Licenseの下で再ライセンスしました。[ 33 ] Unix と同様に、Torvalds のカーネルはボランティア プログラマーの注目を集めました。
これまで、GNUプロジェクトにはカーネルが存在しなかったため、完全なフリーソフトウェアオペレーティングシステムは存在しなかった。トーバルズによるカーネルの開発によって、その最後のギャップが埋められた。ほぼ完成していたGNUオペレーティングシステムとLinuxカーネルの組み合わせにより、初の完全なフリーソフトウェアオペレーティングシステムが誕生した。
Linux ディストリビューションの中で、1993 年にIan Murdockによって開始されたDebian GNU/Linux は、フリーソフトウェアの GNU および FSF の原則に明確にコミットしている点で注目に値します。Debian 開発者の原則は、Debian 社会契約に明記されています。Debian プロジェクトは、その開始以来 FSF と密接に連携しており、実際、1994 年から 1995 年にかけては FSF の支援を受けていました。1997 年に、元 Debian プロジェクト リーダーのBruce Perens は、さまざまなフリーソフトウェアプロジェクトへの非営利の資金提供およびサポート組織であるSoftware in the Public Interestの設立にも貢献しました。[ 34 ]
1996年以降、Linuxカーネルには独自のライセンスを持つコンポーネントが含まれるようになったため、完全にフリーソフトウェアではなくなった。[ 35 ]そのため、フリーソフトウェア財団ラテンアメリカは2008年にLinuxカーネルの修正版であるLinux -libreをリリースし、すべての独自コンポーネントと非フリーコンポーネントを削除した。
多くの企業が、商用サポート付きのカスタマイズされたLinuxベースの製品またはディストリビューションを提供しています。名称については依然として議論があります。システム全体を単に「Linux」と呼ぶのが一般的です。しかし、フリーソフトウェア財団やその他多くの人々は、「GNU/Linux」という用語の使用を提唱しており、それがオペレーティングシステム全体にとってより正確な名前であると述べています。[ 36 ]
1990年代から2000年代にかけて、企業や政府機関の間でLinuxの採用が拡大した。少なくとも英語圏においては、Ubuntuとその派生ディストリビューションは比較的普及したLinuxディストリビューションとなった。
1993年にUSL対BSDi訴訟が法廷外で和解した際、 FreeBSDとNetBSD (いずれも386BSDから派生)がフリーソフトウェアとして公開された。1995年にはNetBSDからOpenBSDが派生し、2004年にはFreeBSDからDragonfly BSDが派生した。
1990年代半ばから後半にかけて、多くのウェブサイトベースの企業が創業した頃、ウェブサーバーにはフリーソフトウェアが人気を博しました。Apache HTTP Serverは最もよく使われるウェブサーバーソフトウェアとなり、2015年現在もその地位を維持しています。[ 37 ] Linuxカーネルをベースとし、ウェブサービスを提供するApache 、データを保存するデータベースエンジンMySQL 、動的なページを提供するプログラミング言語PHPという共通の「スタック」ソフトウェアに基づくシステムは、 LAMPシステムと呼ばれるようになりました。実際には、PHPより前に登場し、1990年代半ばから後半にかけてウェブを席巻したプログラミング言語はPerlでした。ウェブフォームは、Perlで書かれたCommon Gateway Interfaceスクリプトを介してサーバー側で処理されました。
フリーソフトウェアに関連する「オープンソース」という用語は、1995年までに一般的に使用されるようになった。[ 38 ]他の記憶では、1980年代には使用されていたとされている。[ 39 ]
1997年、エリック・S・レイモンドは、ハッカーコミュニティとフリーソフトウェアの原則に関する考察的な分析である「大聖堂とバザール」を発表した。この論文は1998年初頭に大きな注目を集め、 Netscape Communications Corporationが人気のNetscape Communicatorインターネットスイートをフリーソフトウェアとしてリリースする動機付けの一つとなった。[ 40 ]
Netscapeの行為は、Raymondらがフリーソフトウェアの原則と利点を商用ソフトウェア業界にもたらす方法を検討するきっかけとなった。彼らは、FSFの社会活動はNetscapeのような企業には魅力的ではないと結論付け、ソースコードの共有のビジネス上の可能性を強調するためにフリーソフトウェア運動を再構築する方法を模索した。[ 41 ]
「オープンソース」というラベルは、Netscapeが 1998 年 1 月にNavigatorのソース コードを公開すると発表したことを受けて、カリフォルニア州パロアルトで開催された戦略会議[ 42 ]で、フリー ソフトウェア運動の一部の人々が採用しました。この会議に出席したグループには、「オープンソース」を提案したChristine Peterson [ 8 ]、Todd Anderson、Larry Augustin、Jon Hall、Sam Ockman、Michael Tiemann、Eric S. Raymond などがいました。次の 1 週間、Raymond らは、この言葉を広めるために活動しました。翌日、Linus Torvalds が非常に重要な承認を与えました。Phil Hughes はLinux Journalで演説を行いました。フリー ソフトウェア運動の先駆者であるRichard Stallman は、この用語を採用することを検討しましたが、考えを変えました。[ 42 ]この用語を採用した人々は、Navigatorのソースコードが公開される前に、「フリーソフトウェア」という用語のイデオロギー的、対立的な意味合いから自分たちを解放する機会を利用した。NetscapeはNetscape Public Licenseの下でソースコードを公開し、後にMozilla Public Licenseの下で公開した。[ 43 ]
この用語は、1998 年 4 月にテクノロジー出版社のティム・オライリーが主催したイベントで大きく広まりました。当初は「フリーウェア サミット」と呼ばれ、後に「オープンソース サミット」と改名されたこのイベント[ 44 ]には、リーナス・トーバルズ、ラリー・ウォール、ブライアン・ベーレンドルフ、エリック・オールマン、グイド・ヴァン・ロッサム、マイケル・ティーマン、ポール・ヴィクシー、ネットスケープのジェイミー・ザウィンスキー、エリック・レイモンドなど、最も重要なフリーおよびオープンソース プロジェクトのリーダーたちが集まりました。この会議で、フリー ソフトウェアという名称が引き起こす混乱が話題になりました。ティーマンは新しい用語として「ソースウェア」を主張し、レイモンドは「オープンソース」を主張しました。集まった開発者たちは投票を行い、勝者はその夜の記者会見で発表されました。5 日後、レイモンドはフリー ソフトウェア コミュニティに新しい用語を採用するよう初めて公に呼びかけました。[ 45 ]その後まもなく、オープンソース イニシアティブが結成されました。[ 8 ] [ 42 ] OSIによると、リチャード・ストールマンは当初、オープンソースという用語を採用するという考えに関心を示していた。[ 46 ]しかし、オープンソースという用語の驚異的な成功により、ストールマンのフリーソフトウェアという用語と、社会的価値やコンピュータユーザーの自由に関する彼のメッセージが埋もれてしまったため、[ 47 ] [ 48 ] [ 49 ]後にストールマンと彼のFSFはOSIのアプローチと用語に強く反対した。[ 50 ]ストールマンが「オープンソースソフトウェア」という用語を拒否したため、FOSSエコシステムは用語で分裂している。フリーソフトウェアの代替用語も参照のこと。たとえば、2002年のFOSS開発者調査では、32.6%がOSS、48%がフリーソフトウェア、19.4%がその中間または未決定であることが明らかになった。[ 51 ]しかし、ストールマンは、それぞれの用語のユーザーはプロプライエタリソフトウェアとの戦いにおける味方であると主張し続けた。
2000年10月13日、サン・マイクロシステムズは[52]StarOfficeオフィススイートをGNU Lesser General Public Licenseの下でフリーソフトウェアとしてリリースした。フリーソフトウェア版はOpenOffice.orgと改名され、StarOfficeと共存した。これは、Microsoft Officeスイートのフリーで互換性のあるエミュレーション代替品として設計された。
1990年代末までに、「オープンソース」という用語は、ドットコムバブルとオープンソースソフトウェア主導のWeb 2.0の文脈で、公共メディア[ 53 ]で大きな注目を集め、ソフトウェア業界で受け入れられるようになった。

X Window Systemは1984年に開発され、1990年代半ばまでにデスクトップフリーソフトウェアオペレーティングシステムの事実上の標準ウィンドウシステムとなりました。Xはサーバーとして動作し、クライアント(個々のソフトウェアアプリケーション)に代わってグラフィックハードウェアとの通信を担当します。Xは、同一モニター上に複数の仮想デスクトップを作成したり、ネットワーク経由で視覚データを送信してデスクトップにリモートアクセスできるようにするなど、便利なサービスを提供します。
当初、ユーザーやシステム管理者は、Xと利用可能なウィンドウマネージャ(アプリケーションウィンドウに標準コントロールを追加するもので、X自体にはこの機能はない)、ページャー、ドック、その他のソフトウェアを組み合わせて独自の環境を構築していた。Xはウィンドウマネージャなしでも動作できるが、ウィンドウマネージャを使用することで利便性と使いやすさが大幅に向上する。
1990年代には、フリーソフトウェアオペレーティングシステム向けの2つの主要な「重量級」デスクトップ環境、KDEとGNOMEが登場し、広く採用されました。KDEは1996年にマティアス・エトリッヒによって設立されました。当時、彼はUNIXアプリケーションのユーザーインターフェースの一貫性のなさに悩んでいました。彼は新しいデスクトップ環境を提案しました。彼はまた、このデスクトップを使いやすくしたいと考えていました。彼の最初のUsenetへの投稿は大きな関心を呼びました。[ 54 ]
Ettrich は KDE プロジェクトにQt ツールキットを使用することを選択しました。当時、Qt はフリー ソフトウェア ライセンスを使用していませんでした。GNU プロジェクトのメンバーは、フリー ソフトウェアのデスクトップ環境を構築するためにそのようなツールキットを使用することに懸念を抱きました。1997 年 8 月、KDE に対応して 2 つのプロジェクトが開始されました。Harmonyツールキット(Qt ライブラリのフリーの代替) と GNOME (Qt を使用せず、完全にフリー ソフトウェア上に構築された別のデスクトップ) です。[ 55 ] GNOME のベースとして、Qt ツールキットの代わりにGTK+ が選択されました。
1998年11月、Qtツールキットはフリー/オープンソースのQパブリックライセンス(QPL)の下でライセンスされましたが、GNU一般公衆ライセンス(GPL)との互換性について議論が続きました。2000年9月、TrolltechはQtライブラリのUnix版をQPLに加えてGPLの下でも利用できるようにし、フリーソフトウェア財団の懸念を解消しました。その後、KDEはデスクトップ環境であるKDE Plasma Workspacesと、デスクトップ環境を含むより広範なソフトウェアセットであるKDE Software Compilationに分割されました。
KDEとGNOMEは現在、 Unixデスクトップの相互運用性を標準化するために2000年に開始されたfreedesktop.orgに参加しているが、両者の間には依然として競争がある。[ 56 ]
2000年以降、X向けに書かれたソフトウェアは、ほぼ例外なく、QtやGTKなど、Xの上に構築されたウィジェットツールキットを使用している。
2010年、CanonicalはUbuntuの従来のデフォルトデスクトップ環境であるGNOMEに代わるUnityの最初のバージョンをリリースした。この開発途中の新しいデスクトップ環境とユーザーインターフェースへの変更は、当初Ubuntuユーザーの間で多少物議を醸した。
2011年にGNOME 3が導入され、デスクトップメタファーはほぼ廃止され、よりモバイル向けのインターフェースが採用されました。これに伴う論争を受け、DebianはDebian 7でXfce環境をデフォルトにすることを検討するに至りました。GNOME 2のコードを維持するための独立したプロジェクトがいくつか開始されました。
Fedora Linux はUnity を採用せず、GNOME、KDE、 LXDEの選択肢を維持し、GNOME をデフォルトとしたため、Red Hat Enterprise Linux (Fedora が「初期テスト環境」として機能している) も Unity を採用しなかった。関心のあるサードパーティ開発者によって Ubuntu のフォークが作成され、GNOME が維持され、Unity は破棄された。2017 年 3 月、Ubuntu は将来のバージョンで Unity を放棄して GNOME 3 を採用し、Unity ベースのスマートフォンやタブレットの開発を中止すると発表した。[ 57 ] [ 58 ]
Googleが主にスマートフォンやタブレット端末向けにLinuxベースのAndroidオペレーティングシステムを開発した際、Xを専用に設計されたSurfaceFlingerに置き換えた。
オープンソース開発者たちは、Xが時代遅れであり、プロトコルやライブラリに未使用または過度に複雑な要素を多数抱えている一方で、合成、スクリーンセーバー、ウィンドウマネージャが提供する機能などの現代的な機能が欠けていると批判した。[ 59 ]これらの理由から、Xを置き換える試みがいくつか行われており、現在も進行中である。
フリーソフトウェアの人気が高まるにつれ、マイクロソフトなどの業界大手はそれを深刻な脅威と見なすようになった。これは、マイクロソフトが本物だと認めた1998年の流出文書にも表れており、後に「ハロウィーン文書」の第一弾と呼ばれるようになった。
スティーブ・バルマーはかつてGPLを「癌」に例えたが、その後この比喩を使うのをやめた。実際、マイクロソフトはオープンソース全般に対する公式の姿勢を軟化させ、オープンソースはマイクロソフトのWindowsエコシステムの重要な一部となっている。[ 61 ]
2003年、独自のUnixベンダーであり、かつてLinuxディストリビューションのベンダーでもあったSCOは、Unixの知的財産がLinuxカーネルに不適切にコピーされたと主張し、IBMを提訴し、IBMに責任があると主張した。その後、SCOが提起したものや、SCOを訴えたものなど、関連する訴訟や反訴が複数発生した。しかし、SCOの主張は具体性に欠け、一部のメディアは信憑性があると報じたものの、SCOを批判する多くの人々は、その主張はせいぜい非常に疑わしいものだと考えていた。
SCO対IBM訴訟の過程で、SCOが長年にわたりGPLの下でLinuxカーネルを配布しており、現在も配布を続けていたこと(そのため、いかなる主張も法的に維持することが困難であった)だけでなく、SCOは著作権を主張していたUnixコードの大部分の著作権を所有しておらず、推定上の所有者であるNovellに代わって訴訟を起こす権利もなかったことが明らかになった。
これは、SCOのCEOであるダール・マクブライドが、不適切な著作権侵害についてメディアに対し数々の荒唐無稽で有害な主張を行ったにもかかわらずのことだった。これらの主張の多くは後に虚偽であることが判明したり、たとえ真実であったとしても法的に無関係であることが判明したりした。
ブログ「Groklaw」は、SCOの主張や関連事象を最も綿密に検証したサイトの一つであり、長年にわたりこの分野の報道を続けてきたことで人気を博した。
SCOはSCO対IBM訴訟やその他の様々な裁判で次々と敗訴し、2007年に連邦破産法第11章に基づく破産を申請した。しかし、裁判所がSCOに著作権がないと判断し(上記参照)、訴訟好きのSCOのCEOであるダール・マクブライドがもはや会社を経営していないにもかかわらず、破産管財人はSCO対IBM訴訟において依然として関連性があると主張する部分について訴訟を継続することを決定した。SCO対IBM訴訟におけるSCOの主要法律事務所が、訴訟の完了にどれだけ時間がかかっても一定額の報酬でSCOを代理するという契約を当初から締結していたため、管財人はこれを実行できたようである。
2004年、アレクシス・ド・トクヴィル研究所(ADTI)は、LinuxカーネルがUnixから盗まれたコードに基づいていることを示す書籍『サミズダート:オープンソースコードの「ソース」に関するその他の問題』を出版する意向を発表した。その主張は、リナス・トーバルズがLinuxカーネルのような高度なものを作り出すことは不可能だという論拠に基づいていた。しかし、この本は広く批判され、嘲笑されたため、出版されることはなかった。批判や嘲笑の中には、この本のためにインタビューを受けたとされる人々も含まれていた。実際にはインタビューを受けていない人もおり、ADTIはリナス・トーバルズに連絡を取ろうともせず、また、彼に疑惑を突きつけて反論の機会を与えようともしなかったことが明らかになった。マイクロソフトはこの一件を「注意をそらすためのもの」として片付けようとした。
Linuxカーネルに対するこれらの法的攻撃や、恐怖、不確実性、疑念(FUD)を煽る攻撃の一部または全部は、マイクロソフトが密かに仕組んだものだと多くの人が疑っていたが、これは証明されていない。しかし、ADTIとSCOはどちらもマイクロソフトから資金提供を受けていた。
2008年、国際標準化機構(ISO)は、マイクロソフトのOffice Open XMLを国際標準として発行しました。これは、法律や政策によってオープン標準の使用が義務付けられているプロジェクトで、Office Open XML、ひいてはマイクロソフトOfficeを使用できるようになったことを決定的に意味していました。標準化プロセス自体に関与したISO国内委員会のメンバーを含む、標準化プロセスの批判者たちは、プロセスにおける不正や手続き違反を主張し、文書化されていないマイクロソフトOfficeの動作を参照しているため、ISOはOOXMLを標準として承認すべきではなかったと主張しました。
2012年現在OOXMLの正しいオープンソース実装は存在しないため、OOXMLの実装が難しく、仕様が不十分であるという批判が裏付けられています。現状では、GoogleはOffice文書を独自のGoogleドキュメント形式に正しく変換することができません。これは、OOXMLが真のオープンスタンダードではなく、Microsoft Officeの動作を記述した部分的な文書であり、特定のファイル形式のみを対象としていることを示唆しています。
2006 年、マイクロソフトは、マイクロソフト プラットフォームをターゲットとするオープンソース開発者向けにホスティングを提供する目的で、オープンソース コード ホスティング サイトであるCodePlex を立ち上げました。2009 年 7 月、マイクロソフトは、GNU General Public License [ 62 ] [ 63 ]で義務付けられていたため、 Hyper-Vをサポートする Linux カーネルのパッチの一部をオープンソース化し、メインライン カーネルに貢献しました。Hyper-V 自体はオープンソースではないことに注意してください。2002 年に作成されたマイクロソフトのF#コンパイラも、 Apache ライセンスの下でオープンソースとしてリリースされています。F# コンパイラは、オープンソースではないMicrosoft Visual Studioに組み込まれているため、商用製品です。
マイクロソフトの担当者は、長年にわたり、様々なオープンソースおよびLinux関連のカンファレンスに定期的に出席している。
2012年、マイクロソフトは、オープンソース標準を活用することで、マイクロソフト独自の技術とマイクロソフト以外の技術との間のギャップを埋めることを目的として、Microsoft Open Technologies Inc.という子会社を設立しました。[ 64 ]この子会社は、オープンソースと非Windowsプラットフォームに関するマイクロソフトの立場がより有利になったため、その後マイクロソフトに統合されました。
2016年1月、マイクロソフトはChakraをMITライセンスの下でオープンソースとして公開しました。コードはGitHubで入手可能です。[ 65 ]
マイクロソフトのオープンソースに対する姿勢は、同社がより多くのオープンソースソフトウェアを支持するようになったことで変化しました。2016年、マイクロソフトの元CEOであるスティーブ・バルマーは、Linuxは悪性腫瘍であるという発言を撤回しました。[ 66 ] 2017年、同社はLinux Foundationのプラチナサポーターになりました。2018年、GitHubを買収する直前には、マイクロソフトはGitHubのオープンソースプロジェクトに貢献する有給スタッフの数でトップに立っていました。[ 67 ]
批評家たちは、2019年3月にマイクロソフトが2013年の特許契約をめぐってフォックスコンの子会社を提訴したことを指摘している。[ 68 ] 2013年、マイクロソフトはフォックスコンによるLinuxベースのAndroidとChromeOSの使用に関する特許契約をフォックスコンと発表していた。[ 69 ]
現在使用されているプログラミング言語の大部分には、無料のソフトウェア版が利用可能です。
1990年代以降、オープンソースのコンパイラやインタプリタという形で主要な新しいプログラミング言語がリリースされることは、例外ではなく常態化している。例としては、1991年のPython 、1995年のRuby、 2003年のScalaなどが挙げられる。近年では、Java、ActionScript、C#、そしてバージョン2.2がプロプライエタリになるまでのAppleのSwiftが、最も注目すべき例外となっている。ほとんどの言語については、部分的に互換性のあるオープンソース実装が開発されており、Javaの場合は、主要なオープンソース実装が商用版に非常に近いものとなっている。
1996年の最初の一般公開以来、Javaプラットフォームはオープンソースではありませんでしたが、JavaランタイムのJavaソースコード部分は、ほとんどの国で一般の人々が無料でダウンロードできるにもかかわらず、 Java開発キット(JDK)に「機密」扱いとして含まれていました。その後、Sunは、一般公開された別のプログラムを通じてJavaランタイム環境の完全なソースコードへのアクセスを「機密」扱いに拡大し、Javaコンパイラjavacのソースコードも公開しました。Sunはまた、JDKソースコードをBlackdown Javaプロジェクトにも機密扱いで提供しました。Blackdown Javaプロジェクトは、JDKの初期バージョンをLinuxに移植したり、SunのLinux版JDKを改良したりするボランティアの集まりでした。しかし、Sunの許可なしに変更や再配布することはすべての場合において禁止されていたため、これらはどれもオープンソースではありませんでした。Sunは当時、Javaプラットフォームのフォークを防ぐことを懸念していると述べていました。
しかしながら、Javaプラットフォームの独立した部分的な再実装がいくつか作成されており、その多くはオープンソースコミュニティによるもので、例えばGNU Compiler for Java(GCJ)などが挙げられる。Sunは、これらのオープンソースクローンプロジェクトに対して訴訟を起こすことはなかった。GCJは、当時Java実装としてGCJを同梱していたFedoraやUbuntuなどのフリーソフトウェアをサポートするディストリビューションにおいて、Javaのユーザーエクスペリエンスを著しく低下させた。GCJは不完全な実装であり、互換性がなく、バグも多かったため、ユーザーからは「GCJをSun JDKに置き換えるにはどうすればよいか」という質問が頻繁に寄せられた。
2006年、ジョナサン・I・シュワルツがサン・マイクロシステムズのCEOに就任し、オープンソースへの取り組みを表明した。2007年5月8日、サン・マイクロシステムズはJava開発キットをGNU一般公衆利用許諾契約書(GPL)の下でOpenJDKとしてリリースした。クラスライブラリの一部(4%)は、他の当事者からライセンス供与を受けており、バイナリプラグインとして含まれていたため、オープンソースとしてリリースできなかった。そのため、2007年6月、レッドハットはGNU Classpath実装の同等品を用いて制約のあるコンポーネントを解決するためにIcedTeaをリリースした。リリース以降、制約の大部分は解決され、オーディオエンジンコードとカラーマネジメントシステム(後者はLittle CMSを使用して解決予定)のみが残っている。
最初のオープンソースの分散型リビジョン管理システム(DVCS)は、2001年に「tla」(後にGNU archに改名)として登場しました。しかし、tlaとその後継である「baz」と「bzr」(Bazaar)はあまり普及せず、GNU archは開発が中止されました。一方、Bazaarは現在も開発が続けられており、Canonical社によって使用されています。
しかし、他のDVCSプロジェクトも次々と立ち上がり、中にはかなりの普及率を獲得し始めたものもあった。
最も人気のある DVCS であるGitは 2005 年に作成されました。 [ 70 ] Linux カーネルの開発者の中には、特に Linux の創設者である Linus Torvalds 氏をはじめとする一部の開発者がBitKeeperと呼ばれる独自の DVCS を使い始めましたが、独自仕様のため、他のカーネル開発者の中にはこれを使わない人もいました。Linux カーネルの開発において一部の開発者が独自ソフトウェアを使用するという異例の状況は、Andrew Tridgell 氏が商用版と同じ機能の一部を提供するオープンソース ツールを作成する目的で BitKeeper のリバースエンジニアリングを開始したときに「頂点」に達しました。BitKeeper を開発した BitMover 社は、これに対し、2005 年に特定のカーネル開発者に付与していた特別な無償ライセンスを取り消しました。
BitKeeperライセンスの廃止を受け、Linus Torvaldsは独自の分散型バージョン管理システム(DVCS)であるgitを開発することにしました。これは、カーネルメンテナーとしての彼のニーズを満たすオープンソースのDVCSは存在しないと考えたためです(そもそも彼がBitKeeperを採用したのも、カーネルメンテナーとしてのニーズを満たすためでした)。多くの開発者がすぐに協力し、gitは比較的シンプルな「おバカなコンテンツトラッカー」(一部の開発者が「ポーセリン」拡張機能を開発)から、今日のような洗練された強力なDVCSへと成長しました。しかし、Torvalds自身はもはやgitのメンテナンスを行っておらず、長年にわたりJunio Hamanoがメンテナンスを担当し、多くの開発者からの貢献を受け続けています。
GitなどのオープンソースDVCSの人気が高まり、その後、DVCSホスティングサイト(中でもGitHub(2008年設立)が最も人気)が登場したことで、フリーソフトウェアプロジェクトへの参加障壁は徐々に低くなりました。GitHubのようなサイトのおかげで、潜在的な貢献者は、ソースコードリポジトリのURLを探し回ったり(各Webサイトで場所が異なったり、READMEファイルや開発者向けドキュメントに隠されていたりすることもあります)、パッチの生成方法を調べたり、必要に応じて適切なメーリングリストに登録してパッチメールが適切な人に届くようにしたりする必要がなくなりました。貢献者はワンクリックでリポジトリの独自のコピーをフォークし、変更の準備ができたら適切なブランチからプルリクエストを発行するだけで済みます。GitHubは世界で最も人気のあるオープンソースソフトウェアのホスティングサイトとなり、フォークの容易さとフォークの可視性も相まって、貢献者が大小さまざまな変更を加えるための人気のある方法となっています。
著作権は、FOSS(フリー・オープンソースソフトウェア)の作者がソフトウェアのライセンス遵守を確保するために用いる主要な法的手段ですが、法律、ソフトウェア特許、商標などの他の手段も利用されています。特許とDMCA(デジタルミレニアム著作権法)に関する法的問題に対応するため、フリーソフトウェア財団は2007年にGNU一般公衆利用許諾契約書(GPL)のバージョン3をリリースし、DMCAのデジタル著作権管理(DRM)条項と特許権について明確に言及しました。
GNU GPLv3の開発後、 GNU コンパイラ コレクション(GCC) ソフトウェアなど、GNU システムの多くの部分の著作権所有者であるFSF は、GNU プログラムのライセンスのほとんどを GPLv2 から GPLv3 に更新しました。GCCのユーザーであり、DRM と特許の両方を多用するApple は、 Xcode IDE のコンパイラを GCC から、別の FOSS コンパイラであるClangに切り替えることを決定しました[ 71 ]。ただし、Clang は寛容なライセンスの下で提供されています[ 72 ] 。LWNは、Apple が GPLv3 を避けたいという願望も動機の一つであったと推測しました[ 71 ] 。Sambaプロジェクトも GPLv3 に切り替えましたが、Apple はソフトウェア スイートでそれをクローズド ソースのプロプライエタリ ソフトウェアの代替品に置き換えました[ 73 ] 。
最近の合併は主要なオープンソースソフトウェアに影響を与えている。サン・マイクロシステムズ(サン)は、人気のオープンソースデータベースであるMySQLの所有者であるMySQL ABを2008年に買収した。 [ 74 ]
オラクルは2010年1月にサンを買収し、その著作権、特許、商標を取得しました。これにより、オラクルは最も人気のあるプロプライエタリデータベースと最も人気のあるオープンソースデータベース(MySQL)の両方の所有者となりました。オラクルがオープンソースのMySQLデータベースを商用化しようとしたことで、FOSSコミュニティで懸念が生じました。[ 75 ] MySQLの将来に対する不確実性への対応として、FOSSコミュニティはプロジェクトをフォークし、オラクルの管理下にない新しいデータベースシステムを開発しました。これにはMariaDB、Percona、Drizzleが含まれます。[ 76 ]これらはすべて異なる名前を持ち、それぞれ独立したプロジェクトであるため、商標登録されたMySQLという名前を使用することはできません。[ 77 ]
2008 年 9 月、Google は新しいスマートフォンオペレーティングシステムであるAndroidの最初のバージョンをオープンソースとしてリリースしました (Android にバンドルされている場合もあるが、必ずしもバンドルされているわけではない一部の Google アプリケーションはオープンソースではありません)。当初、このオペレーティングシステムは Google によって無料で提供され、多くの携帯電話メーカーが熱心に採用しました。Google は後に Motorola Mobility を買収し、独自の「バニラ」 Android の携帯電話とタブレットを製造しましたが、他のメーカーが Android を使用することも引き続き許可しました。Android は現在、世界で最も人気のあるモバイルプラットフォームです。[ 78 ]
AndroidはLinuxカーネルをベースにしているため、Linuxは現在、モバイルプラットフォーム(Android経由)とスーパーコンピュータの両方で支配的なカーネルであり、[ 79 ]サーバーオペレーティングシステムでも重要な役割を担っています。
2010 年 8 月、Oracle は Google が Android で Java を使用していることが Oracle の著作権と特許を侵害しているとして Google を提訴した。最初のOracle 対 Google裁判は 2012 年 5 月に終了し、Google は Oracle の特許を侵害していないとの判決が下され、裁判官は Google が使用している Javaアプリケーション プログラミング インターフェイス(API) の構造は著作権の対象ではないと判断した。陪審は Google が些細な (「de minimis」) 著作権侵害を行ったと判断したが、その侵害が些細なものであったため、当事者はGoogle が損害賠償を支払わないことに合意した。 [ 80 ]しかし、Oracle は連邦巡回控訴裁判所に控訴し、Google は文字通りのコピーの主張について反訴を提起した。[ 81 ]連邦巡回控訴裁判所は、Google が認めた小さな著作権侵害はde minimisではないと判断し、公正使用の問題を再検討するために裁判官に差し戻した。 2016年、この訴訟は再審理され、陪審は公正使用の原則に基づき、Googleに有利な評決を下した。
2013年までに、GoogleのChromeOSを搭載したChromebookは、300ドル以下の米国ノートパソコン市場の20~25%を占めるようになった。[ 82 ] ChromeOSは、LinuxをベースとしたオープンソースのChromiumOSをベースに構築されており、市販のスマートフォンに搭載されているAndroidのバージョンがオープンソースのAndroidをベースに構築されているのとほぼ同じである。
では、 1960 年代と 70 年代には
オープンソースが
標準だったとしたら、これはどのように _変化_ したのでしょうか?プロプライエタリ
ソフトウェアは
どこから、いつ、どのように出現したのでしょうか?
リチャード ストールマン
の
MIT AI ラボ
の小さなユートピアはどのように崩壊し、彼を荒野に追い出してそれを再建しようとさせたのでしょうか? 80 年代初頭に 2 つのことが変わりました。指数関数的に増加していたマイクロコンピュータ ハードウェアのインストール ベースが 1980 年頃に臨界点に達し、1983 年に法的決定により著作権法がバイナリを対象とするように変更されました。
が一部のソフトウェア製品のソースコードを非公開とする方針を発表してから2年が経過したが、ユーザーはようやくその決定の影響に対処し始めたところだ。しかし、オブジェクトコードのみの製品の登場が日々のDP操作に影響を与えたかどうかに関わらず、一部のユーザーはIBMの決定に依然として憤慨している。1983年2月に発表されたIBMのオブジェクトコードのみの方針は、ますます多くのIBMシステムソフトウェア製品に適用されている。