Linux歷史

歷史上,Linux作業系統內核以其不斷的發展為特點。它的原始碼已經從1991年初次釋出的幾個C語言檔案擴充到2007年的290MB原始檔;釋出特許也從禁止商業化釋出,變為在通用公眾特許條款GPL下釋出。[1]

起源

Unix作業系統在20世紀60年代構思完成並實現,並在1970年首次釋出。它因容易取得與可移植性高而廣泛被學術機構和工商企業採用、複製和修改。它的設計對其他系統的作者影響很大。

在1983年,理查德·斯托曼建立了一個自由軟件,類Unix,與POSIX相容的作業系統為目標的GNU計劃。作為這個計劃其中的一部分,他又寫了GNU通用公眾特許條款(GPL)。20世紀90年代初,已經有足夠的軟件去建立一個完整的作業系統。但因為在1987年時,理查德·斯托曼決定以Mach微內核進行開發,認為可以藉此加速作業系統的開發,但因為一直不確定卡內基梅隆大學何時要將核心原始碼釋出,造成專案三年進展緩慢。GNU的內核,GNU MachGNU Hurd沒能夠充分吸引開發者,這導致了GNU的未能完成。

在20世紀80年代還有另外一個關於自由作業系統的專案,柏克萊軟件套件。這是由UC BerkeleyAT&T的第六版Unix開發而來的。因為它包含了AT&T所擁有的的Unix代碼,所以AT&T在20世紀90年代初對加利福尼亞大學提起了法律訴訟。這嚴重限制了BSD的發展與應用。[2][3]

MINIX安德魯·斯圖爾特·塔能鮑姆在1987年釋出一個用於教學的微內核架構的類Unix系統。雖然系統的原始碼容易得到,但是對原始碼的修改與再釋出卻受到了限制。另外,MINIX的16位元的設計與當時日漸便宜及受歡迎的、個人電腦的Intel 80386架構相容得不好。

這些因素使得Torvalds開始了他的專案。他曾說過,如果那時候有可用的GNU或者386BSD內核的話,他很可能就不會去寫他自己的內核了。[4][5]

Linux的誕生

 
2002年的Linus Torvalds

1991年,在赫爾辛基Linus Torvalds開始那個後面成為了Linux內核的專案。最初它只是一個Torvalds用來訪問大學裏的大型的Unix伺服器的虛擬終端。他專門寫了一個用於他當時正在用的硬件的,與作業系統無關的程式,因為他要用他那用80386處理器的新PC機的功能。開發是在Minix上,用至今仍為首選的編譯器——GCC——來完成的。[來源請求]

Torvalds在他的書《只為歡樂[6]中說過,他最後才意識到自己寫了一個作業系統內核。1991年8月25日,他在釋出到新聞組「comp.os.minix.」的Usenet上釋出了這個系統:

名稱的由來

Linus Torvalds本要把他的發時叫做Freax——「fread」,「free」和「x」(暗指Unix)的合成詞。在開發系統的前半年裏,他把檔案以檔名「Freax」儲存。Torvalds考慮過Linux這個名字,但是因為覺得它過於自我本位而放棄了使用它[6]

為便於開發,在1991年9月,他把那些檔案上載到了赫爾辛基工業大學(HUT)的FTP伺服器(ftp.funet.fi)。Torvalds在HUT負責管理那個伺服器的同事Ari Lemmke,覺得「Freax」這個名字不是很好,就在不諮詢Torvalds的情況下,把專案的名字改成了「Linux」[6]。但是之後,Torvalds也同意「Linux」這個名字了:「經過多次討論,他承認Linux這個名字更好。在0.01版本Linux的原始碼的makefile里仍然使用『Freax'這個名字,在之後『Linux'這個名字才被使用。所以,Linux這個名字並不是預先想好的,只是它被廣泛接受了而已」[來源請求]

GNU GPL下的Linux

Torvalds先是在它自己的特許下釋出Linux內核的,即限制它用於商業活動。和這個內核一起使用的軟件是釋出在GPL這個自由軟件特許下,屬於GNU計劃一部分的軟件。第一次釋出的Linux內核,版本0.01,包含了GNU的Bash的二進制版本[8]

在版本0.01的備註中,Torvalds列出了執行Linux所需的GNU軟件[8]

很不幸,單單一個內核是什麼都做不了的。要讓一個系統能夠工作,還需要一個shell,編譯器,函式庫等等。這些各是獨立的部分,它們有着或松或緊的著作權限制。與linux一起使用的大多是GNU的軟件,而這些軟件是非盈利著作權限制的。在Linux的釋出版本裏沒有包含這些工作——你可以向我(或者GNU)索取更多的資訊。[8]

1992年,他建議在GPL下釋出內核。他先在版本0.12中宣佈了這個決定[9]。1992年12月中,他在GNU GPL下釋出了0.99版。[10]。Linux和GNU的開發者一起把GNU的部件和Linux整合起來,使它成為一個可執行的自由作業系統。[11]Torvalds說,「把Linux釋出在GPL下是我所做過的最好的事。」[12]

關於GNU/Linux命名方式的爭議

「Linux」這個名稱一開始只被Torvalds用於Linux內核。但是這個內核卻常和其他軟件一起使用,尤其是GNU計劃的軟件。這很快就成為最受歡迎的GNU軟件。1994年六月,在GNU的期刊中,Linux被稱作「自由Unix克隆版」,Debian計劃也開始把它的產品叫做「Debian GNU/Linux」。1996年5月,Richard Stallman釋出了編輯器Emacs的19.31版本,其中系統的名稱從Linux變成了Lignux。這種拼法為的是明確指出GNU和Linux的結合。但是這不久就被「GNU/Linux」所代替了[13]

對這個名稱,不同人有不同的反應。GNU和Debian專案使用那個名字,但是,多數開發者仍然簡單地用「Linux」來指代它們的結合。

官方吉祥物

 
Tux

1996年,Torvalds為Linux選定了企鵝作為它的吉祥物Larry Ewing提供了吉祥物的初稿。現在正在使用的著名的吉祥物就是基於這份初稿的。James Hughes根據「Torvalds's Unix」為它取了名字Tux[6]

新的發展

內核

除了Torvalds,還有許多知名的如阿蘭考克斯Alan Cox和馬塞洛托薩蒂Marcelo TosattiLinux內核維護者。

Cox維護2.2版的內核直到2003年底,同樣, Tosatti維護2.4版的內核直到2006年年中,程式設計師Andrew Morton 帶動了於2003年12月18日釋出的首個穩定版本-2.6版內核的開發和維護。而舊版本也還在持續地改進中。

Linux在多方面成功應用,其主要原因在於它是自由軟件和它的軟件的穩定性、安全性和可延伸性,以及因此而帶有的可維護性。雖然確實存在着漏洞,例如vmsplice() exploit,但是這些漏洞會很快被修復[來源請求]

社區

關於Linux的大部分工作都是由社區完成的:世界各地使用Linux的程式設計師都把建議的改進發給維護員。很多公司還不但參與內核的開發,還參與了一些隨Linux一起釋出的輔助軟件的編寫。

Linux的版本當中,既有像Debian那樣由自發組織釋出的,又有像openSUSEFedora那樣直接和一些公司相關的。為了交換意見,各個專案的成員常在各種會議交流會上會面。其中最大的交流會是在德國(目前是柏林)舉行的LinuxTag。每年有大約10,000人聚集在一起討論Linux以及與Linux相關的專案。

開源發展實驗室和Linux基金會

開原始碼發展實驗室(Open Source Development Lab)創立於2000年。它是一個獨立的非營利性組織。它的目標是最佳化Linux以應用於數據中心和運營商的領域。它是Linus Torvalds和Andrew Morton工作的贊助來源。2006年年中,Morton去了Google(Google也是使用Linux內核的);Torvalds全職為OSDL開發Linux內核。非商業性運營機制的資金主要來源於Red HatNovell三菱英特爾IBM戴爾惠普等幾家大公司。

2007年1月22日,OSDL和自由標準組織合併為Linux基金會,把它們的工作焦點集中在改進GNU/Linux以與Windows競爭[14]

相關公司

雖然是開源專案,但是還是有一些公司從中取得了利益。這些公司大多也是開源發展實驗室的成員。它們在Linux的改進與開發中投入了許多資源以使其能夠適應不同領域的應用。其中包括驅動程式捐贈的硬件,對開發Linux軟件的人員現金的捐贈,以及對Linux程式設計師的僱用。例如IBM和HP,它們首先在它們的伺服器上使用了Linux;又如Red Hat,它維護着它自己的版本。同樣,Trolltech通過對Qt的開發和把它GPL特許化,以及啟用一些X和KDE開發人員來支援Linux。前者更使得開發KDE成為了可能。

關於Linux的爭論

Linux自出現以來就已經引起了反覆的爭議。

「Linux已經過時」

1992年,著名的電腦科學家,Minix微核心的作者,安德魯·斯圖爾特·塔能鮑姆在新聞組comp.os.minix上寫了一篇題為《Linux已經過時》的文章[15]。這篇文章標誌着對Linux內核的著名的大討論的開始。其中對Linux的批評主要是:

  • 該內核是整塊性核心的,因此它是過時的;
  • 因使用Intel 386處理器而帶來的不可移植性。「寫一個與某特定硬件,特別是像Intel這種奇怪的硬件相關的作業系統,在根本上就是錯誤的。」[16]
  • 沒有個人嚴格控制原始碼[17]
  • Linux使用了一系列無用的特色(他認為多線程的檔案系統只會使用系統效能低下)[18]

事實證明,塔能鮑姆認為Linux會在幾年之內就會過時並被GNU Hurd取替(他認為GNU Hurd更為現代化)的看法是錯誤的。Linux已經被移植到所有主流的平台,而且它開放的開發模式引領了一種傑出的開發步伐。相反,GNU Hurd還沒有擁有可作為產品伺服器的穩定性水平。[19]

反對開原始檔的出版物

來自微軟的競爭

雖然Torvalds說過微軟感到的來自Linux的威脅與他無關[20],但是微軟和Linux陣營在1997年到2001年間還是有着很多敵對的情況。這種情況在1998年Eric S. Raymond發表《萬聖節檔案》的時候變得明顯起來。這裏由一位微軟工程師寫的關於尋求解決自由軟件對微軟的威脅的策略的文章。[21]

SCO

2003年3月,SCO Group指責IBM把UNIX的代碼移植到Linux侵犯了他們的著作權。SCO聲稱它們擁有代碼的著作權並對IBM提起了訴訟。Red Hat又提起了反訴訟,因此SCO又提起了其他相關的訴訟。在這些訴訟進行的同時,SCO開始把Linux的特許權賣給那些不願意冒受SCO投訴的險的用戶。因為Novell也聲稱擁有UNIX的著作權,所以它又對SCO提起了訴訟。接着SCO便宣告破產了。[22]

名稱的商標

Linux是Linus Torvalds的註冊商標。

商標權

在1994和1995年,有多個來自不同國家的人想把Linux註冊為商標,從而一些Linux公司可以從中收取特許使用金。很多Linux的開發人員和用戶都不同意此舉。Torvalds在Linux國際的幫助下得到了Linux這個商標,然後他把這個商標轉讓給了Linux國際。對這個商標的保護後來就由一個專門的基金會——非營利性的Linux標識協會——來管理。2000年,Linus Torvalds指定了分配特許權的基本規則。這意味着任何要想以Linux的名義釋出產品和服務的人,都要擁有特許條款。而特許條款要通過購買獲得。

大事年表

  • 1983:Richard Stallman發起以建立一個自由的作業系統為目標的GNU計劃。
  • 1989:Richard Stallman撰寫第一版的GNU GPL
  • 1991:Linux內核在8月25日由21歲的芬蘭學生Linus Benedict Torvalds公開發布。
  • 1992:在GNU GPL下Linux內核被重新授權使用,產生第一個「Linux發行版本」。
  • 1993:超過100個開發者致力於Linux內核開發。在他們的努力下,內核逐漸適應GNU的環境,這個為Linux創造巨大的應用空間的廣闊環境。Slackware首次釋出。後來在同一年,Debian專案設立,現已成為最大的社區釋出專案。
  • 1994: 3月, Torvalds認為內核的所有組件已經完全成熟,他放出了Linux的1.0版本。XFree86專案組提供了一個圖形化用戶介面(GUI).同年Red Hat公司和SUSE發行他們各自的Linux 1.0分發版本。
  • 1995: Linux被移植到DEC Alpha和Sun公司的SPARC平台上,而在接下來的幾年裏它又被廣泛地移植到更多的平台上。
  • 1996: Linux內核2.0版本釋出。此時內核已經支援多處理器,因而成為各大公司的絕佳選擇。
  • 1998:很多大公司,諸如IBM、Compaq ,Oracle表示支援Linux系統。另外,一部分程式設計師開始圖形化用戶介面KDE的開發。
  • 1999:一些程式設計師開始致力於開發圖形化環境GNOME,它可以替代依靠Qt工具包才能工作的KDE。在這一年裏IBM宣佈一項支援Linux的浩大的工程。
  • 2004: XFree86小組分裂,同現有的X Windows標準組織 共同成立X.Org基金會,促使了X Window ServerLinux版本極其快速而迅猛的發展。

參見

參考

  1. ^ Linux总部关于内核的页面. [2007-12-04]. (原始內容存檔於2001-01-07). 
  2. ^ Berkeley UNIX和开源软件的诞生. [2008-12-12]. (原始內容存檔於2015-01-04). 
  3. ^ Marshall Kirk McKusick. 从AT&T的BerkeleyUnix到可自由再发布的20年. [2008-12-12]. (原始內容存檔於2009-10-01). 
  4. ^ Linus vs. Tanenbaum debate. [2008-12-12]. (原始內容存檔於2008-12-02). 
  5. ^ The Choice of a GNU Generation - An Interview With Linus Torvalds. [2008-12-12]. (原始內容存檔於2009-02-25). 
  6. ^ 6.0 6.1 6.2 6.3 Torvalds, Linus and David Diamond, Just for Fun: The Story of an Accidental Revolutionary, 2001, ISBN 0-06-662072-4
  7. ^ Torvalds,Linus: What would you like to see most in minix?頁面存檔備份,存於互聯網檔案館 Usenet group comp.os.minix, August 25, 1991.
  8. ^ 8.0 8.1 8.2 Torvalds, Linus: Notes for linux release 0.01頁面存檔備份,存於互聯網檔案館 kernel.org, 1991.
  9. ^ Torvalds, Linus. RELEASE NOTES FOR LINUX v0.12. Linux Kernel Archives. 1992-01-05 [2007-07-23]. (原始內容存檔於2011-08-21). The Linux copyright will change: I've had a couple of requests to make it compatible with the GNU copyleft, removing the "you may not distribute it for money" condition. I agree. I propose that the copyright be changed so that it confirms to GNU - pending approval of the persons who have helped write code. I assume this is going to be no problem for anybody: If you have grievances ("I wrote that code assuming the copyright would stay the same") mail me. Otherwise The GNU copyleft takes effect as of the first of February. If you do not know the gist of the GNU copyright - read it. 
  10. ^ z-archive of Linux version 0.99 Wikiwix的存檔,存檔日期2011-07-01, kernel.org, December 1992
  11. ^ [1]頁面存檔備份,存於互聯網檔案館
  12. ^ Hiroo Yamagata: The ragmatist of Free Software, Linus Torvalds Interview頁面存檔備份,存於互聯網檔案館), 05.08.1997
  13. ^ Linux and GNU - GNU Project - Free Software Foundation (FSF). [2008-12-12]. (原始內容存檔於2011-06-29). 
  14. ^ New Linux Foundation Launches – Merger of Open Source Development Labs and Free Standards Group (新聞稿). The Linux Foundation. January 22, 2007 [2007-01-21]. (原始內容存檔於2009-05-15). Computing is entering a world dominated by two platforms: Linux and Windows. 
  15. ^ A. S. Tanenbaum. LINUX is obsolete. Newsgroupcomp.os.minix. January 29, 1992 [2008-07-16]. [email protected]. (原始內容存檔於2013-05-26). 
  16. ^ A. S. Tanenbaum. Re: LINUX is obsolete. Newsgroupcomp.os.minix. January 30, 1992 [2008-07-16]. [email protected]. (原始內容存檔於2013-05-30). 
  17. ^ Tanenbaum, Andy. Re: Unhappy campers. February 1992 [2008-10-19]. (原始內容存檔於2009-06-05). 
  18. ^ Andrew Tanenbaum, Linus Torvalds and others: Linux is obsolete頁面存檔備份,存於互聯網檔案館 Usenet post, 29.01.1992
  19. ^ The GNU Hurd Project頁面存檔備份,存於互聯網檔案館
  20. ^ Hiroo Yamagata. The Pragmatist of Free Software: Linus Torvalds Interview. [2007-11-28]. (原始內容存檔於2007-08-26). I don't try to be a threat to MicroSoft, mainly because I don't really see MS as competition. Especially not Windows - the goals of Linux and Windows are simply so different. 
  21. ^ Free Software Foundation. Is Microsoft the Great Satan?. Philosophy of the GNU Project. 2007-06-19 [2007-08-14]. (原始內容存檔於2020-11-15). We see that Microsoft is doing something that is bad for software users: making software proprietary and thus denying users their rightful freedom. But Microsoft is not alone in this; almost all software companies do the same thing to the users. If other companies manage to dominate fewer users than Microsoft, that is not for lack of trying. 
  22. ^ SCO Group files for bankruptcy protection. CNet News.com. 2007-09-14 [2008-01-14]. (原始內容存檔於2008-10-08). 

外部連結