オープンソースソフトウェアの歴史

オープンソース[[ソフトウェア]]の歴史



オープンソース[[ソフトウェア]](OSS)は、ソースコードが公開され、利用者が自由に閲覧、修正、再配布できるソフトウェアです。この概念は、1950年代コンピュータ黎明期から存在し、学術機関や研究機関でソフトウェアが共有されていました。しかし、1970年代以降のソフトウェアの商業化に伴い、プロプライエタリソフトウェアが主流となり、ソースコードが非公開となるクローズドソースの文化が形成されました。この状況に対し、1980年代には自由ソフトウェア運動が起こり、ソースコードの共有と利用者の自由を提唱する動きが活発化しました。2000年代にはオープンソースという言葉が普及し、その開発手法は企業にも受け入れられるようになりました。本稿では、OSSの歴史を多角的に解説します。

コンピュータ以前の技術共有



技術情報の自由な共有の歴史は、コンピュータが登場する以前に遡ります。例えば、自動車業界では、初期にジョージ・セルデンの特許が独占を招きましたが、ヘンリー・フォードが特許無効を訴え、結果として業界全体で技術が共有されるようになりました。この事例は、技術が独占されずに共有されることの重要性を示しています。

マシンバンドルのソフトウェア



1950年代の初期のコンピュータでは、ハードウェアソフトウェアが一体として提供され、マシンベンダーが開発したソフトウェアソースコードも利用者に提供されていました。利用者はそれらのソースコードを修正し、自由に共有していました。しかし、1960年代から1970年代にかけて、ソフトウェア開発のコストが増大し、プロプライエタリソフトウェアが登場しました。

研究機関内でのコード共有



1950年代から1960年代にかけて、大学や研究機関では、ソフトウェアパブリックドメインとして扱われ、ソースコードが広く共有されていました。これは、学術分野における公開性と協力の原則に基づくものでした。この文化が、現在のオープンソース[[ソフトウェア]]分野で「ハッカー文化」と呼ばれるものの中心的な要素となりました。

オープンソース[[ソフトウェア]]の最初の事例



1953年、レミントンランドのUNIVAC部門で開発されたA-0 Systemは、ソースコードと共にリリースされ、利用者に修正や改善のフィードバックが求められました。その後、IBMメインフレームソースコードと共に共有され、ユーザーグループによるソフトウェアの共有体系が構築されました。

マシンバンドルからの分離と商業化



1960年代以降、ソフトウェア開発コストが増大し、ハードウェアソフトウェアの分離が進みました。ハードウェアベンダーは、バンドルされていたソフトウェアのサポートにコストをかける必要がありましたが、顧客は自らのニーズに合わせてソフトウェアを改善したいと考えていました。このような状況下で、ソフトウェアは制限付きライセンスで販売されるようになり、プロプライエタリソフトウェアの文化が形成されました。1970年代には、AT&TUNIXを無償で提供しましたが、再頒布や修正コードの頒布を制限していました。1979年には、AT&TUNIXの有償ライセンスを導入し、ソフトウェアの商用化が本格的に始まりました。

日常的に続いたハッキング



1980年代から1990年代にかけて、ソフトウェアが商業化され、クローズドソースが主流となる中で、ソースコードを無料で共有しようとする「ホビイスト」や「ハッカー」が現れました。彼らは雑誌やネットワークを通じてソースコードを共有し、学習や利用を促進しました。

書籍を通したコード共有



インターネットが普及する以前、コンピュータ雑誌やプログラミング本がソースコードを掲載し、共有されていました。例えば、Atariのシステムソフトウェアの主要コンポーネントが、注釈付きのソースコードで出版されました。

オンラインの共有コミュニティ



1980年代には、BBSネットワークがソースコード共有の場となりました。特に、WWIVのようなBBSソフトウェアは、ソースコードのモディングを通じて発展し、コミュニティの成長を促しました。

SHAREプログラムライブラリ



1955年に設立されたSHAREユーザーグループは、ソフトウェアを収集、頒布する活動を行っていました。SHAREプログラムライブラリは、分散開発のプロセスを育み、オープンソース[[ソフトウェア]]の主要な起源の一つとなりました。

DECUS tapes



1980年代初頭には、DECUSがDEC製品の利用者向けに、自由に利用できるソフトウェアを共有するシステムを提供していました。DECUS tapesは、ユーティリティツールやコンパイラなど、ソフトウェアの学習や修正に必要なソースコードを頒布していました。

自由ソフトウェアの提唱



プロプライエタリソフトウェアの文化に強いストレスを感じていたリチャード・ストールマンは、1980年代中頃から、ソフトウェアの自由な利用を提唱する「自由ソフトウェア」運動を始めました。彼は、ソフトウェアの実行、複製、頒布、学習、改善の自由を提唱しました。

コピーレフトの発明



ストールマンは、自由ソフトウェアを広く展開させるために、「コピーレフト」の概念を発案しました。コピーレフトは、著作物の自由な状態を維持するための法的な仕組みであり、利用者に多くの権利を与えつつ、成果物の制限を禁止するものでした。

GNUプロジェクトの開始



1982年、ストールマンは自由ソフトウェアのみで構成された完全なOSを実装する「GNUプロジェクト」を開始しました。GNUプロジェクトは、Emacsデバッガなどのソフトウェアを開発し、多くのUNIXユーティリティを実装しました。

フリーソフトウェア財団の設立



ストールマンは、自由ソフトウェアの更なる促進を図るため、1985年にフリーソフトウェア財団を設立しました。財団は、自由ソフトウェアを推進し、GNUプロジェクトを支援する活動を行っています。

Unix系OSの成長



1980年代以降、AT&TUNIXクローズドソースとなりましたが、それまでに大学等で広く使われていたため、そのインターフェースをベースとしたUnix系OSが派生しました。また、GUIアプリケーションやプログラミング言語も、自由に利用できるソフトウェアとして開発、公開されました。

UNIX派生OS



カリフォルニア大学バークレー校では、AT&TUNIXソースコードをベースとしたBerkeley Software Distribution (BSD) が開発されました。BSDは、様々な改良を経て、Net/1やNet/2といった形でリリースされ、その後の派生OSの基礎となりました。

独立系Unix系OS



1980年代には、UNIXソースコードを源流としない、独立したカーネル開発が始まりました。アンドリュー・タネンバウムは教育用OS「MINIX」を開発し、GNUプロジェクトは「GNU Hurd」の開発を始めました。

Linuxの誕生と派生



リーナス・トーバルズは1991年に「Linux」の開発を始めました。Linuxは、当初は商用利用を禁じたプロプライエタリなライセンスでしたが、後にGPLに変更され、多くのLinuxディストリビューションが派生しました。

GUIプラットフォームの開発



コンピュータのGUIは、1973年にXerox PARCで初めて実装されました。その後、Appleマイクロソフトがプロプライエタリソフトウェアとして採用しましたが、1980年代には、Unix系OSでもGUIプラットフォームが開発されました。

X Window System



1984年に、マサチューセッツ工科大学 (MIT) のボブ・シャイフラーは「X Window System」をリリースしました。X Window Systemは、世界で初めて完全に自由に利用できるソフトウェアのGUIプラットフォームとなり、その後、Unix系OSのGUIシステムのコアとして利用されました。

ウィンドウマネージャとデスクトップ環境



X Window System上で動作する軽量なウィンドウマネージャが開発されました。また、1990年代には、KDEやGNOMEといったデスクトップ環境が登場し、より使いやすいGUI環境が提供されるようになりました。

自由なプログラミング言語の誕生



1980年代後半から、自由に利用できる新しいプログラミング言語が誕生しました。PerlPythonRubyといったスクリプト言語や、Java仮想マシン用のJava言語が登場し、開発の幅を広げました。また、GNUプロジェクトのGCCは、C/C++コンパイラとして広く利用されました。

オープンソースの誕生と発展



1990年代末から2000年代にかけて、オープンソースという用語が誕生し、普及しました。オープンソースは、自由ソフトウェアソースコードを利用者で共有する開発手法を再ブランド化したものであり、企業にも受け入れられました。

『伽藍とバザール』の出版



エリック・レイモンドは1997年に著書『伽藍とバザール』を出版し、オープンソース[[ソフトウェア]]の開発モデルについて言及しました。同書は、オープンソース[[ソフトウェア]]がボトムアップで開発されることのメリットを強調し、ネットスケープコミュニケーションズがNetscape Suiteを自由ソフトウェアとしてリリースする要因の一つとなりました。

「オープンソース」の始まり



1998年、自由ソフトウェア運動の戦略会議で、「オープンソース」という用語が提案されました。これは、自由ソフトウェア運動の思想をビジネスの世界に受け入れやすくするためのものでした。オープンソースは、ソースコードの公開によるビジネス面での将来性を企業に強調し、多くの企業がオープンソース[[ソフトウェア]]開発に参加するようになりました。

Apache Jakartaプロジェクトの邁進



Apache[[ソフトウェア財団]]は、Java言語に着目し、1999年にApache LicenseJavaソースコードとライブラリをリリースする「Jakarta Project」を始動しました。Jakarta Projectは、Javaのユーティリティライブラリや、ビルドツール、パッケージ管理ツールを開発しました。

LAMPとウェブサービスの繁栄



2000年代には、Linux、Apache、MySQLPerl/Python/PHPを組み合わせた「LAMP」が、ウェブサービスプラットフォームとして広く使われるようになりました。また、Javaの「Jakarta Tomcat」やRubyの「Ruby on Rails」なども利用され、制約のないウェブサービスの構築が容易になりました。

開発支援環境の普及



オープンソース[[ソフトウェア]]の開発では、開発支援環境が重要な役割を果たしました。統合開発環境(IDE)やバージョン管理システムは、ソフトウェア開発を効率化しました。Eclipse、CVS、Subversion、gitなどが、開発者にとって不可欠なツールとなりました。

対立と論争



2000年前後、オープンソース[[ソフトウェア]]の文化が普及する中で、自由ソフトウェア運動家と企業との間で対立や議論が活発になりました。

GNU/[[Linux名称論争|GNU_Linux名称論争]]



リチャード・ストールマンは、Linuxを「GNU/Linux」と呼ぶことを主張しましたが、これは賛否両論を呼びました。この論争は、Linuxの名称をめぐる議論であり、自由ソフトウェア運動と商業的なソフトウェア開発の対立を象徴するものでした。

自由ソフトウェアとオープンソース



オープンソースの概念は、自由を強調しない点が自由ソフトウェア運動の支持者から批判されることがあります。リチャード・ストールマンは、オープンソースは自由ソフトウェアの重要な自由を守るに足りないと批判し、「FLOSS」という用語を推奨しました。

オープンソース[[ソフトウェア]]の商標



オープンソースという用語は、一般的な用語であり、特定団体が商標権を持つことはできません。オープンソース・イニシアティブは、オープンソースの定義に従ったソフトウェアライセンスをオープンソースライセンスとして公認し、オープンソースのブランド化を図りました。

企業からの攻撃



マイクロソフトは、オープンソース[[ソフトウェア]]を自社製品の競合と見なし、対抗戦略を検討しました。SCOグループは、Linuxソースコードに関する権利を主張し、IBMLinuxディストリビューションベンダーを訴えました。

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



2000年代後半から、企業がオープンソース[[ソフトウェア]]としてOSやプログラミング言語コンパイラを提供するようになりました。

オープンソースOS



Ubuntuは、ユーザビリティの高いLinuxディストリビューションとして開発され、Linuxの普及に貢献しました。Googleは、Androidを開発し、スマートフォン市場に大きな影響を与えました。Nokiaは、Symbian OSをオープンソースで公開しました。

企業スポンサーの高級言語



2010年代前半には、企業をスポンサーとしたGo、Rust、Swiftといった高級プログラミング言語が発表されました。これらの言語は、オープンソースライセンスで公開され、コミュニティベースで開発されています。

まとめ



オープンソース[[ソフトウェア]]の歴史は、技術の共有、自由な利用、そして商業化という、様々な要素が絡み合って形作られてきました。その発展は、ソフトウェア開発のあり方だけでなく、社会や文化にも大きな影響を与えています。今後も、オープンソース[[ソフトウェア]]は、技術革新と社会の進歩に貢献していくでしょう。

脚注



この文章は、オープンソース[[ソフトウェア]]の歴史を包括的に記述することを目的としています。ただし、全てを網羅しているわけではありません。

関連項目



オープンソース[[ソフトウェア]]
自由ソフトウェア運動
GNUプロジェクト
Linux

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。