開放原始碼軟體歷史

在 1950 和 1960 年代，使用者通常會在購買硬體時一同獲得電腦作業系統和編譯器而無需額外支付費用。當時，原始碼會被和軟體一起提供，以便使用者進行 debug 和給軟體添加新功能。

電腦最先在大學等機構內普及，而大學對軟體進行的修改也會按照學術原則被公開地分享，此時，相關組織如雨後春筍般湧現。 然而，當大規模的作業系統逐漸成熟時，允許修改作業系統的組織數目便開始減少了。然而，實用程式和其他為作業系統添加功能的應用依舊被共享，新的組織也開始形成以推廣軟體共享。

## 1980 年代前的自由軟體

在 1950 至 1960 年代，幾乎所有軟體都是由從事學術的研究人員寫作開發的，並通常公有領域軟體釋出。由於軟體需要經常性的進行修改，如：為了適配新的作業系統或硬體、修正錯誤及增加新功能，軟體的原始碼一般都會與軟體一起提供。

1953 在雷明頓蘭德公司的 UNIVAC 上開發的 A-2 系統在向使用者釋出時附上了原始碼。使用者被邀請將他們的改進發給 UNIVAC。因此 A-2 被認為是第一個自由及開放原始碼軟體。

此時，幾乎所有 IBM 主機的軟體也會附上原始碼。其使用者也成立相關組織從事軟體共享活動，如：IBM 701 使用者的 SHARE，以及迪吉多 (DEC) 使用者的 DECUS。 原本由通用汽車公司開發的 SHARE 作業系統的 IBM709 和 7090 版本也由 SHARE 進行分發。

一些大學電腦實驗室有要求所有安裝在電腦上的程式都一定要和原始碼一起分發的規定。

1975 年在 Dr. Dobb's Journal 雜誌上發表的 Tiny Basic 及其後續更新亦是一自由軟體及在無組織的情況下進行協同開發的例子。

1960 年代，為發展電信網路協定，具有 ARPANET 存取權限的研究人員發起了名為徵求意見稿的一系列備忘錄，該備忘錄非常類似於開源標準並促進了網際網路在 1969 年的出現。

一些在 1970 年代開發的自由軟體，至今被在持續開發及實用，例如 TeX（由高德納開發）和 SPICE。

### 自由軟體式微

1960 年代末，出現了一些變化，作業系統和編譯器出現的同時，軟體生產費用相對於硬體大幅增加。 正在發展的軟體產業開始和硬體製造商的捆綁軟體進行競爭；因為後者的開發費用被包含於硬體費用中，所以租借的機器在沒有支付軟體費用的時候依舊需要軟體的支援，而一些能夠更好的滿足自己需要的使用者不希望因為硬體商開發捆綁軟體導致硬體費用上升。在 1969 年 1 月 17 日的美利堅合眾國對 IBM 的反壟斷訴訟中，美國政府指控捆綁軟體是反競爭的。 與此同時，雖然有一些軟體依舊免費提供，但越來越多的軟體只在限制性的授權條款下銷售。

在 1970 年代早期，AT&T 免費地向政府和學術研究人員分發早期版本的 UNIX，但並沒有提供重新分發或分發修改後的版本的授權，因此並非現代意義上的自由軟體。1980 年代，UNIX 的使用變得更加廣泛，而 AT&T 在此時停止了 UNIX 的免費分發，並且開始為系統修補程式收費。因為切換到一個新的構架相當困難，大多數研究人員只得選擇支付商業授權條款。

在 1970 與 80 年代之交，電腦銷售者及軟體公司開始例行公事地為軟體授權條款收費，並將軟體作為「編程產品」上市，同時對新軟體的開發通過著作權、商標以及使用者協定施加法律限制。1976 年，比爾・蓋茲發表致愛好者的公開信，在信中，他表達了對愛好者們肆意複製微軟產品 Altair BASIC 而未支付授權條款費用的行為的沮喪。1979 年，鑑於銷售 UNIX 或有利可圖，AT&T 開始強力推行其授權條款。在一日期為 1983 年 2 月 8 日的公告信中，IBM 宣布改變了其政策，不再會在提供軟體的同時提供原始碼。

## 1980 和 1990 年代

### 非正式的軟體共享依舊繼續

然而，依舊有人想要和其他程式設計師及 / 或使用者無償地分享軟體，他們被稱為「業餘愛好者」或「駭客」。
在網際網路被廣泛使用之前，依舊有一切其他辦法完成原始碼的共享。比如，在電腦雜誌上刊登（出名的雜誌包括 《Creative Computing》、《SoftSide》、《Compute!》、《Byte》等），或者在電腦編程書籍中列出，（如《BASIC 電腦遊戲》。雖然仍受著作權保護，帶有注釋版本的 Atari 8 位元家族的幾個重要軟體的原始碼也被在大量書籍中出版，包括 _Atari BASIC Source Book_（完整的 Atari BASIC 原始碼）和 _Inside Atari DOS_（完整的 Atari DOS 原始碼）。

#### SHARE 程式庫和 DECUS 磁帶

成立於 1955 年的 SHARE 使用者群組織，開始收集和分發自由軟體。首個由 SHARE 釋出的文件可以追溯到 1995 年 10 月 17 日。「SHARE 程式庫代理」("SHARE Program Library Agency") 釋出有關軟體的資訊，並且主要是在磁帶上釋出。

1980 年代初，_DECUS tapes_ 成為了一種為世界性的自由軟體交換系統。

### 自由軟體運動之始

1983 年，理察・斯托曼 發起了 革奴計劃以編寫一可以不受限制使用原始碼的作業系統。
發起這項運動的部分原因是一印表機的功能無法被正常修復，而這是因為使用者被阻止使用其原始碼。
斯托曼在 1985 年出版了 GNU 宣言，在文中，他描述了格奴計劃的願景和自由軟體的重要性。
另一可能的發起革奴計劃以及推出 GNU 宣言的原因是斯托曼和 Symbolics, Inc. 的矛盾。 
在啟動這項運動後，斯托曼使用了已經存在的術語「free software」（自由軟體）。在 1986 年，為了推廣《自由軟體定義》，他建立了自由軟體基金會。

1989 年，該基金會釋出了第一版的 GNU 通用公眾授權條款，並在 1991 年釋出了進行了少量更新的第二版。
1989 年，一些 GNU 的開發者建立了 Cygnus Solutions 公司。
GNU 的系統核心（GNU Hurd）的開發被一直推遲，但是其他的組件卻在 1991 年完成。這當中就包括 GNU 編譯器套裝、GNU Debugger 和 GNU Emacs。

### Linux (1991–)

林納斯・托瓦茲在 1991 年釋出了 Linux 核心，並且允許其他人自由地修改原始碼。當時的協定並非自由軟體協定，但在 1992 年 2 月，托瓦茲使用了 GPL 協定重新釋出了 Linux 的 0.12 版本。因為形似 unix，這個核心吸引了當時很多編程志願者的注意。在這之前，因為 GNU 當中專案沒有合適的系統核心，所以當時並不存在完全自由的作業系統。Linux 和其他幾乎已經完成的 GNU 作業系統的部件的結合製造出了第一個真正是自由軟體的作業系統。

1993 伊恩・默多克發起的 Debian GNU/Linux 專案明確地促進了 GNU 和自由軟體協會的自由軟體原則。Debian 開發者的原則在《Debian 社群契約》正因如此，Debian 專案和自由軟體協會有著密切的聯絡，並在 1994-1995 年受到了自由軟體協會的支援。1997 年，前 Debian 專案領導人布魯斯・佩倫斯協助建立了意在協助其他組織建立及分發自由開源軟體及開源硬體的非營利組織 Software in the Public Interest。

1996 年起，Linux 核心開始包含有著作權保護的部件，所以它不再是完全的自由軟體了。
因此，在 2008 年，拉丁美洲自由軟體協會移除了 Linux 當中的受著作權保護的成分，釋出了 Linux-libre。

現在，許多商業機構提供個性化的基於 Linux 的產品，並提供商業協助。1990 和 2000 年代中，越來越多的政府機構和商業組織開始採用 Linux。在英語國家中，Ubuntu 及其衍生版本成為了非常流行的 Linux 發行版。

因為歷史問題，Linux 的命名存在著爭議，Linux 社群主張直接稱呼這個作業系統為「Linux」，但革奴計劃的發起人斯托曼卻更主張使用「GNU/Linux」的名稱。

### 「.com」的時代（1990 年代後期）

1990 年代中期，隨著很多基於網站的公司的建立，自由軟體逐漸成為了網路伺服器的流行選擇。Apache HTTP Server 在當時成為了最流行的伺服器端軟體，直至 2017 年，其依舊是活躍的網站中最流行的選擇。LAMP 是伺服器的一種流行的組態，即以 Linux 為作業系統，Apache 提供 http 服務，MySQL 維護資料庫，PHP 作為提供動態網頁的手稿語言。現今，Nginx 開始在部分領域取代了 Apache。

### 「開源」一詞的出現

1997 年，埃里克・雷蒙出版了大教堂與市集，他在這本書中分析了駭客社群和自由軟體的原則。這個作品促使了網景公司在 1998 年將該公司的網路套件以自由軟體的形式釋出。
網景公司的行動促使了雷蒙等人開始探索如何將自由軟體原則帶入商業軟體產業中；雷蒙等人認為 FSF 社群的相對激進的觀點並不能很好地吸引諸如網景的大公司，所以他們希望能夠更換一種宣傳方法，從而可以進一步強調分享原始碼的商業價值。

在一次於帕羅奧圖舉行的會議中，為了回應網景公司的開放原始碼的行為，「開源」 ("open source") 一詞被一些自由軟體運動的參與者接受。這次會議的參加者包括提出「開源」這一名詞的克莉絲汀・彼得森、喬恩・霍爾、麥可・蒂曼和埃里克・雷蒙。

The term was given a big boost at an event organized in April 1998 by technology publisher Tim O'Reilly. Originally titled the "Freeware Summit" and later named the "Open Source Summit", the event brought together the leaders of many of the most important free and open source projects, including Linus Torvalds, Larry Wall, Brian Behlendorf, Eric Allman, Guido van Rossum, Michael Tiemann, Paul Vixie, Jamie Zawinski of Netscape, and Eric Raymond. At that meeting, the confusion caused by the name free software was brought up. Tiemann argued for "sourceware" as a new term, while Raymond argued for "open source". The assembled developers took a vote, and the winner was announced at a press conference that evening. Five days later, Raymond made the first public call to the free software community to adopt the new term. The Open Source Initiative was formed shortly thereafter. According to the OSI Richard Stallman initially flirted with the idea of adopting the open source term. But as the enormous success of the open source term buried Stallman's free software term and his message on social values and computer users' freedom, later Stallman and his FSF strongly objected the OSI's approach and terminology. Due to the rejection of Stallman of the term open source software, the FOSS ecosystem is being divided in its terminology, see also Alternative terms for free software. For example, a 2002 FOSS developer survey revealed that 32.6% associate themselves with OSS, 48% with free software, and 19.4% in between or undecided. Stallman still maintained, however, that users of each term were allies in the fight against proprietary software.

On 13 October 2000, Sun Microsystems released （頁面存檔備份，存於網際網路檔案館） the StarOffice office suite as free software under the GNU Lesser General Public License. The free software version was renamed OpenOffice.org, and coexisted with StarOffice.

On the end of 1990s, the term "Open source" gained much traction in public media and acceptance in software industry in context of the dotcom bubble and the open-source software driven Web 2.0.

## 註釋

## 參考文獻