オープンソースソフトウェアの歴史
1990年代末から2000年代にかけてオープンソースという用語が誕生、普及した。オープンソースはフリーソフトウェアのソースコードを利用者で共有するソフトウェアの開発手法を主観にフリーソフトウェアを再ブランド化したものであった。オープンソースの開発手法はホビイストやハッカーだけでなく団体や企業にも受け入れられた。
1990年代以降、インターネットが個人利用でも広く使われるようになり、Apache HTTP Serverを用いたウェブサービスが増えていた。2000年代のウェブサービスプラットフォームは、プロプライエタリソフトウェアのような制約がないウェブサービスプラットフォームとして、Linux OS、Apachサーバ、MySQLデータベース、それにプログラミング言語であるPerl、Python、PHPを組み合わせた「LAMP」が広まった。また、Java言語のマルチプラットフォームの「Jakarta Tomcat」、Ruby言語のインタプリタエンジンで動作する「Ruby on Rails」などもウェブサービスプラットフォームとして使われた。それぞれのソフトウェアはプロプライエタリな制約がなく、利用者はLAMP上で商用、非商用のウェブサービス構築した。
GNUプロジェクトのライセンスは、1988年2月11日にコピーレフトの概念が初めてライセンスとして実装されたGNU EmacsのためのEmacs General Public Licenseに始まり、プロジェクト初期はソフトウェア個々にライセンスがリリースされていた。その後、1989年2月にコピーレフトを含めGNU General Public License (GNU GPL) が汎用ライセンスとしてリリースされた。続いて、1991年にGNU General Public License バージョン2、GNU Library General Public License バージョン2がリリースされた。同年、GNU Library General Public Licenseは位置付けを明確にするためGNU Lesser General Public License (GNU LGPL) に名称変更して微修正と共にバージョン2.1がリリースされた。
1989年、幾人かのGNUプロジェクトの開発者はシグナスソリューションズに異動した。GNUプロジェクトは、カーネルの開発は引き続き遅れていたが、1991年にカーネルを除いたほぼ全てのコンポーネントが完成し、Linuxカーネルと結合することで、ほぼ全てのソフトウェアがフリーソフトウェアでできたOSが完成した。
1980年代後半から自由な利用ができる新しいプログラミング言語が幾つか誕生した。
1987年にPerl、1991年にPython、1995年にRubyがインタプリタのスクリプト言語としてリリースされた。それらのスクリプト言語はホビイストやハッカーの手軽なツール、HTTPサーバのCGIとして多用された
サン・マイクロシステムズは1995年にJava仮想マシン用にJava言語を開発し、コンパイラと実行環境を無償で提供した。Java仮想マシンはWindows、Mac OS、Linux、そして当然サン・マイクロシステムズのSolarisで動作した。また、Java仮想マシンとウェブブラウザを連携させてウェブブラウザ上でJavaソフトウェアを動かすJavaアプレットはソースコードの入手、学習、実行の容易さに加えて、プログラマからエンドユーザーへの頒布のハードルの高さを下げた。 Java仮想マシンはプロプライエタリソフトウェアであったが、その上で動作するソフトウェアがプロプライエタリでなければならない制約はなかったため、Javaソフトウェアのソースコードは開発者同士でインターネットを通して共有された。また1990年代後半にはウェブブラウザ上で動作するプログラミング言語、ソフトウェア環境としてJavaScript、Macromedia Flash (ActionScript) が登場した。
しかし、ソースコードから実行形式のソフトウェアを出力できるプログラミング言語およびコンパイラは依然として限られており、GNUプロジェクトのGCCが対応するC/C++が主流のプログラミング言語だった。
2010年代前半から企業をスポンサーとした高級プログラミング言語が発表、開発された。開発されたプログラミング言語はインタプリタエンジンが処理するスクリプト言語、仮想マシンで動作するVM言語、機械語にコンパイルするコンパイル言語と多様である。
それぞれの言語に企業スポンサーがついているが、コンパイラ等はオープンソースライセンスで公開されており、コミュニティベースで仕様策定、実装、評価が行われ、プログラミング言語の利用者がプログラミング言語の開発者でもあるオープンソースソフトウェアである。Go、Rust、Swiftはソースコードから実行形式のソフトウェアを出力が可能であり、長年続いたC/C++とGCCの組み合わせに代わりうるコンパイル言語である。
アドビは2007年4月26日にActionScriptのコンパイラのソースコードを「Adobe Flex SDK」としてMozilla Public Licenseで公開した。その後、Adobe FlexはAdobeのFlash事業縮小に前後して2011年にApacheソフトウェア財団に寄贈され、Apache FlexとしてApache Licenseで公開された。Googleは2011年10月10日にJavaScriptやActionScript (Adobe Flash) に代わりウェブブラウザ上で高速動作するスクリプト言語「Dart」の開発を発表した。
オープンソースソフトウェアの歴史では、オープンソースソフトウェアの歴史を、その背景・文化・運動・方法論・技術・影響などを踏まえつつ多面的に解説する。
オープンソースソフトウェア (OSS) とは、 そのソフトウェアのユーザーによって、人間が判読できるソースコードを使用、調査、再利用、修正、拡張、再配布することができるソフトウエアである。ソフトウェアのソースコードを利用者が共有し、修正、再頒布する文化は、1950年代のコンピュータ上でソフトウェアが稼働するようになった頃から学術機関、研究機関の間で存在し、ソースコードとソフトウェアはパブリックドメインで共有されていた。1970年代以降、ソフトウェア開発は徐々に商業となり、ソフトウェアの頒布に制約を付与するプロプライエタリソフトウェア、ソースコードを非公開とするクローズドソースの文化ができあがった。1980年代以降、利用者がソフトウェアのソースコードを自由に利用できないことをストレスに感じた人たちは、フリーソフトウェアやオープンソースを定義して、ソースコードを利用者で共有することによるソフトウェアの発展を提唱した。2000年代前後のソースコードの共有文化が再度一般化した頃、オープンソースソフトウェアコミュニティ内での議論や、プロプライエタリソフトウェアを販売する企業から攻撃など、論争が活発となった。
1960年代より変化が訪れ、OSやプログラミング言語のコンパイラを始めとしたソフトウェアの開発コストはハードウェアに比べて劇的に増加した。ハードウェアにバンドルするソフトウェアのコストはハードウェアコストに含まれていたため、ソフトウェア業界の成長はハードウェアベンダーの製品と競合した。ハードウェアベンダーはソフトウェアの利益はないもののリースしたハードウェアにバンドルしたソフトウェアのサポートをするためソフトウェア製品のコストをハードウェア製品のコストに上乗せする必要があり、一方で自らのニーズに併せてソフトウェアを改善することができる顧客にとってはハードウェアベンダーのソフトウェア製品のコストをハードウェア製品のコストと一緒に束ねることは望んでいなかった。例えば、DECのPDP-11は標準のOSはDEC製のDEC BATCH-11/DOS-11(英語版)やRT-11であったが、マシンの利用者は自身の利用用途に併せてソビエト連邦製ANDOS(英語版)、AT&T製UNIXなど他社製OSを利用した。1969年1月17日に提出された米国政府とIBMの独占禁止法訴訟では、米国政府はバンドルされたソフトウェアが反競争的であると訴えた。