GNU
开发者 | 社區 |
---|---|
编程语言 | 各種(特別是C語言以及汇编语言) |
作業系統家族 | 类Unix系统 |
運作狀態 | 當前 |
源码模式 | 自由软件 |
市場取向 | 個人計算機、移動設備、嵌入式設備、伺服器、大型機、超級計算機 |
支援平台 | IA-32(僅限Hurd內核)和Alpha, ARC, ARM, AVR32, Blackfin, C6x, ETRAX CRIS, FR-V, H8/300, Hexagon, 安腾, M32R, m68k, META, MicroBlaze, MIPS, MN103, OpenRISC, PA-RISC, PowerPC, s390, S+core, SuperH, SPARC, TILE64, Unicore32, x86, Xtensa(僅限Linux-libre內核) |
内核类别 | 微內核 (GNU Hurd)或整塊性核心 (Linux的分支,GNU Linux-libre) |
使用者空間 | GNU |
许可证 | GNU GPL、GNU LGPL、GNU AGPL、GNU FDL、GNU FSDG[1][2] |
官方網站 | https://www.gnu.org/ |
GNU是一個自由的作業系統,其內容軟體完全以GPL方式釋出。這個作業系統是GNU計劃的主要目標,名稱來自GNU's Not Unix!的遞迴縮寫,因為GNU的設計類似Unix,但它不包含具著作權的Unix代碼。GNU的創始人,理察·馬修·斯托曼,將GNU視為「達成社會目的技術方法」。
作為作業系統,GNU的發展仍未完成,其中最大的問題是具有完備功能的內核尚未被開發成功。GNU的內核,稱為Hurd,是自由軟體基金會發展的重點,但是其發展尚未成熟。在實際使用上,多半使用Linux內核、FreeBSD等替代方案,作為系統核心,其中主要的操作系统是Linux的發行版。Linux作業系統包涵了Linux內核與其他自由軟體計畫中的GNU組件和軟體,可以被稱為GNU/Linux(見GNU/Linux命名爭議)。
歷史
[编辑]GNU操作系统起源於GNU計劃,由理查·斯托曼在麻省理工學院人工智能實驗室發起,希望發展出一套完整的開放原始碼作業系統來取代Unix,計劃中的作業系統,名為GNU。1983年9月27日,理查·斯托曼在 net.unix-wizards 和 net.usoft新聞群組中公布這項計劃。 [3][4]。理查德·斯托曼通過使用變化單詞的各種手法來選擇名稱,包括曲目The Gnu。[5](00:45:30)
斯托曼的目標是成立一個完全自由的操作系统,他希望電腦用戶是能夠“自由使用”的。因為在20世紀60年代和70年代 - 大多數人都能自由學習軟件的源代碼,自由地與他人分享的軟件,可自由修改軟件的行為,自由發布的軟件的修改後的版本。這種理念,在1985年3月出版的GNU宣言嶄露無遺。[4]
1984年1月5日,正式開始開發軟體,為了防止這些軟體將來可能被主張所有權,影響到自由軟體的發展,斯托曼辭去了在實驗室的工作。[6]。理查·斯托曼使用不兼容分時系統 (ITS)[6](一種早期的作業系統,使用彙編語言撰寫,因其所運行的稱爲 PDP-10的電腦系統架構停止發展而變得過時)的經驗,導致了需要一种可移植系統的决定。[5](00:40:52)[7]因此,會議決定,將開發新的系統,並使用 C 和Lisp作為系統編程語言。[8] 且GNU將與UNIX兼容。[9] 當時,UNIX已經是一個流行的專有操作系统。而Unix的設計是模塊化的,所以它可以被逐步分塊的實現。[7]
1984年,開始發展編輯器Emacs等軟體。1985年,發表GNU宣言。1989年,發表GNU通用公共授權條款。GNU計劃中的其他部份,如編輯器、編譯器、shell等都已經完成,獨缺作業系統核心。1990年,自由軟體基金會開始正式發展Hurd,作為GNU計畫中的作業系統。根據湯瑪斯·布什內爾的回憶,最早自由軟體基金會使用Trix來開發作業系統,但在1986年放棄這個計畫。在此後,他們原希望以輕量化後的4.4BSD為基礎進行開發。1987年,理查德·斯托曼決定以GNU Mach微内核进行开发,認為可以借此加速作業系統的開發,但因為一直不確定卡内基梅隆大学何時要將核心原始碼釋出,造成計劃延宕三年。他在之後承認這是個錯誤。
許多必要的軟體需要從零寫起,但已存在的第三方組件,如 TeX、X Window System[4]和Mach微內核等等組成了 GNU Hurd 的核心.[10] 除了上述的第三方組件外,大多數的GNU軟體是由許多志願者,在他們的空閒時間,或由公司、[11] 教育機構和非營利性組織贊助下撰寫。1985年10月,理查·斯托曼建立自由軟體基金會 (FSF)。在1980到1990年代,他們雇用軟體發展工程師去轉寫GNU必須的軟體。[12][13]
1991年,Linux出現。1993年,FreeBSD釋出。所有GNU計劃中,運行於使用者空間的軟體,都可以在Linux或FreeBSD上使用。許多開發者轉向於Linux或FreeBSD。其中,Linux成為常見的GNU計劃軟體運行平台。理查德·斯托曼主張,Linux作業系統使用了許多GNU計劃軟體,應正名為GNU/Linux,但沒有得到Linux社群的一致認同,形成GNU/Linux命名爭議。
由於GNU頗具知名度,有興趣的商家開始促進發展或出售GNU軟件和技術支持。其中最突出的和成功的,是Cygnus Solutions,[11]現在紅帽公司的一部分。
組成
[编辑]該系統的基本組成包括GNU編譯器套裝(GCC)、GNU的C函式庫(glibc)、以及GNU核心工具組(coreutils)[14],另外也是GNU除錯器(GDB)、GNU二進制實用程序(binutils)[15]的GNU Cash shell中[10] 和GNOME桌面環境。[16] GNU開發人員已經向GNU應用程序和工具的Linux 移植 ,現在也廣泛應用在其它操作系统中使用,如BSD變體的Solaris,和OS X作出了貢獻。[17]
許多GNU程序已經被移植到其他操作系统,包括專有軟體,如Microsoft Windows[18]和OS X.[19] GNU計劃已經被證明是比他們的專有Unix更為可靠。[20] 截至2022年1月,GNU主辦的官方網站共有457個GNU軟件包(包括已停止維護的73個 )。[21]
GNU 變種
[编辑]GNU項目的官方核心是GNU Hurd;然而,截至2012年,Linux核心正式以Linux-libre為名成為GNU計畫中的一部份,並刪除了所有專有組件的變種。[22]
像FreeBSD內核其他核心依然和GNU軟件合作,形成一個工作的作業系統。[23] FSF認為Linux核心,與GNU工具和實用程序使用時,應承認自己為GNU變種,並促進改成 GNU/Linux 的這類系統名稱(導致GNU/Linux命名爭議) 。[24][25][26] GNU工程已認可的Linux發行版,如gNewSense , TRISQUEL和Parabola GNU/Linux-libre。[27] 不使用Hurd作為核心的GNU的其他變種包括的Debian GNU / kFreeBSD和Debian GNU / NetBSD的,將得以對BSD的核心實現GNU的早期計劃。
商標
[编辑]-
GNU 30周年紀念商標
-
上色版本
-
粗體版本
GNU的商標是一个牛羚頭。
原先版本是Etienne Suvasa所設計,而今比較流行的粗體版本則是Aurelio Heckert所設計。
[28]
GNU商標出現在GNU的電子文件中,也是自由軟體基金會的元素。
30周年商標是原商標的修正版本,是由自由軟體基金會創作,其目的為慶祝30周年。
参考文献
[编辑]- ^ GNU Licenses. [2019-04-25]. (原始内容存档于2019-04-24).
- ^ GNU FSDG. [2019-04-25]. (原始内容存档于2015-12-08).
- ^ Stallman, Richard. new UNIX implementation. Newsgroup: net.unix-wizards 请检查
|newsgroup=
值 (帮助). September 27, 1983 [August 18, 2008]. Usenet: 771@mit-eddie.UUCP. (原始内容存档于2013-05-13). - ^ 4.0 4.1 4.2 Lambert, Laura. Poole, Hilary , 编. The Internet: A Historical Encyclopedia. Biographies, Volume 1. Santa Barbara, California: ABC-CLIO. 2005: 215–216 [2016-03-05]. ISBN 1-85109-664-7. (原始内容存档于2016-04-16).
- ^ 5.0 5.1 Stallman, Richard. The Free Software Movement and the Future of Freedom. Zagreb, Croatia: FSF Europe. March 9, 2006 [February 20, 2007]. (原始内容存档于2016-03-03). 简明摘要.
- ^ 6.0 6.1 Holmevik, Jan Rune; Bogost, Ian; Ulmer, Gregory. Inter/vention: Free Play in the Age of Electracy. MIT Press. March 2012: 69–71 [2016-03-05]. ISBN 978-0-262-01705-3. (原始内容存档于2016-04-22).
- ^ 7.0 7.1 DiBona, Chris; Stone, Mark; Cooper, Danese. Open Sources 2.0: The Continuing Evolution. October 2005: 38–40 [2016-03-05]. ISBN 9780596008024. (原始内容存档于2016-04-05).
- ^ Timeline of GNU/Linux and Unix. [2016-03-05]. (原始内容存档于2016-03-03).
Both C and Lisp will be available as system programming languages.
- ^ Seebach, Peter. Beginning Portable Shell Scripting: From Novice to Professional (Expert's Voice in Open Source). November 2008: 177–178 [2016-03-05]. ISBN 9781430210436. (原始内容存档于2016-04-13).
- ^ 10.0 10.1 Kerrisk, Michael. The Linux Programming Interface: A Linux and UNIX System Programming Handbook. October 2010: 5–6 [2016-03-05]. ISBN 9781593272203. (原始内容存档于2016-04-03).
- ^ 11.0 11.1 Open Sources: Voices from the Open Source Revolution. O'Reilly & Associates, Inc. January 1999 [2016-03-05]. ISBN 1-56592-582-3. (原始内容存档于2014-08-27).
- ^ Buxmann, Peter; Diefenbach, Heiner; Hess, Thomas. The Software Industry. 2012-09-30: 187–196 [2016-03-05]. ISBN 9783642315091. (原始内容存档于2016-04-14).
- ^ Practical UNIX and Internet Security, 3rd Edition. O'Reilly & Associates, Inc. February 2003: 18. ISBN 9781449310127.
- ^ St. Amant, Kirk; Still, Brian. Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives. ISBN 1-59140999-3.
- ^ GCC & GNU Toolchains - AMD. Developer.amd.com. [2015-09-02]. (原始内容存档于2015-03-16).
- ^ Sowe, Sulayman K; Stamelos, Ioannis G; Samoladas, Ioannis M. Emerging Free and Open Source Software Practices. May 2007: 262–264 [2016-03-05]. ISBN 9781599042107. (原始内容存档于2016-04-07).
- ^ Linux: History and Introduction. Buzzle.com. 1991-08-25 [2012-09-22]. (原始内容存档于2017-12-11).
- ^ McCune, Mike. Integrating Linux and Windows. December 2000: 30 [2016-03-05]. ISBN 9780130306708. (原始内容存档于2016-04-01).
- ^ Sobell, Mark G; Seebach, Peter. A Practical Guide To Unix For Mac Os X Users. 2005: 4 [2016-03-05]. ISBN 9780131863330. (原始内容存档于2016-04-12).
- ^ Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services (页面存档备份,存于互联网档案馆) - October 1995 - Computer Sciences Department,University of Wisconsin
- ^ Software - GNU Project - Free Software Foundation. Free Software Foundation, Inc. 2016-01-13 [2022-01-21]. (原始内容存档于2015-12-25).
- ^ GNU Linux-libre. 2012-12-17 [2013-02-09]. (原始内容存档于2013-02-28).
- ^ Kavanagh, Paul. Open Source Software: Implementation and Management. 2004-07-26: 129 [2016-03-05]. ISBN 978-1-55558320-0. (原始内容存档于2016-04-03).
- ^ Welsh, Matt. Linux is a GNU system and the DWARF support. Newsgroup: comp.os.linux.misc. 8 September 1994 [3 February 2008]. (原始内容存档于2012-11-10).
RMS's idea (which I have heard first-hand) is that Linux systems should be considered GNU systems with Linux as the kernel.
- ^ Proffitt, Brian. Debian GNU/Linux seeks alignment with Free Software Foundation. ITworld. 2012-07-12 [2012-09-22]. (原始内容存档于2012-09-17).
- ^ 1.1. Linux or GNU/Linux, that is the question. SAG. TLDP. [2012-09-22]. (原始内容存档于2012-08-16).
- ^ List of Free GNU/Linux Distributions, GNU Project, Free Software Foundation (FSF), [2016-03-05], (原始内容存档于2016-02-02).
- ^ A GNU Head. Free Software Foundation (FSF). 2011-07-13 [2011-07-27]. (原始内容存档于2011-07-28).