gnu

gnu

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
  • 發起時間:1983年9月27日
  • 發起人:Richard Stallman
  • 代表項目:Emacs、GCC、nano
解釋,歷史,許可證,組成,GNU 變種,

解釋

GNU是“GNU is Not Unix”的遞歸縮寫。Stallman宣布GNU應當發音為Guh-NOO以避免與new這個單詞混淆(註:Gnu在英文中原意為非洲牛羚,發音與new相同)。UNIX是一種廣泛使用的商業作業系統的名稱。由於GNU將要實現UNIX系統的接口標準,因此GNU計畫可以分別開發不同的作業系統部件。GNU計畫採用了部分當時已經可自由使用的軟體,例如TeX排版系統和X Window視窗系統等。不過GNU計畫也開發了大批其他的自由軟體。
StallmanStallman

歷史

1985年Richard Stallman又創立了自由軟體基金會(Free Software Foundation)來為GNU計畫提供技術、法律以及財政支持。儘管GNU計畫大部分時候是由個人自願無償貢獻,但FSF有時還是會聘請程式設計師幫助編寫。當GNU計畫開始逐漸獲得成功時,一些商業公司開始介入開發和技術支持。當中最著名的就是之後被Red Hat兼併的 Cygnus Solutions。
到了1990年,GNU計畫已經開發出的軟體包括了一個功能強大的文字編輯器EmacsGCC(GNU Compiler Collection,GNU編譯器集合),是一套由 GNU 開發的程式語言編譯器。以及大部分UNIX系統的程式庫和工具。唯一依然沒有完成的重要組件就是作業系統的核心(稱為HURD)。
GNU作業系統的核心LinuxGNU作業系統的核心Linux
1991年Linus Torvalds編寫出了與UNIX兼容的Linux作業系統核心並在GPL條款下發布。Linux之後在網上廣泛流傳,許多程式設計師參與了開發與修改。1992年Linux與其他GNU軟體結合,完全自由的作業系統正式誕生。該作業系統往往被稱為“GNU/Linux”或簡稱Linux。(儘管如此GNU計畫自己的核心Hurd依然在開發中,已經發布Beta版本。)
許多UNIX系統上也安裝了GNU軟體,因為GNU軟體的質量比之前UNIX的軟體還要好。GNU工具還被廣泛地移植到Windows和Mac OS上。
GNU 包含3個協定條款,
GPL:GNU通用公共許可證(GNU General Public License)
LGPL:GNU較寬鬆公共許可證 (GNU Lesser General Public License), ) ,舊稱 GNU Library General Public License (GNU 庫通用公共許可證);
GFDL : GNU自由文檔許可證(GNU Free Documentation License )的縮寫形式。
這裡指的自由,並不是價格免費,這和價格無關而是使用軟體對所有的用戶來說是自由的。GPL通過如下途徑實現這一目標:
Linux核心的締造者Linus TorvaldsLinux核心的締造者Linus Torvalds
1.它要求軟體以原始碼的形式發布,並規定任何用戶能夠以原始碼的形式將軟體複製或發布給別的用戶。
2.如果用戶的軟體使用了受 GPL 保護的任何軟體的一部分,那么該軟體就繼承了 GPL 軟體,並因此而成為 GPL 軟體,也就是說必須隨應用程式一起發布原始碼。
3.GPL 並不排斥對自由軟體進行商業性質的包裝和發行,也不限制在自由軟體的基礎上打包發行其他非自由軟體。
由於GPL很難被商業軟體所套用,它要求調用它的庫的代碼也得GPL,全部開放,並且一同發布,不能直接連線。所以後來GNU推出了LGPL許可證
在GPL與LGPL許可證保護下發布原始碼的結果很相似,對舊代碼所做的任何修改對於想知道這些代碼的人必須是公開的,唯一真正的不同之處在於私人著作權代碼是否可以與開放原始碼相互連線,LGPL允許實體連線私人代碼到開放原始碼,並可以在任何形式下發布這些合成的二進制代碼。只要這些代碼是動態連線的就沒有限制。(使用動態連結時,即使是程式在運行中調用函式館中的函式時,應用程式本身和函式館也是不同的實體)

許可證

GNU 認為任何軟體都應當以 自由軟體 發布。要讓一個軟體成為自由軟體,您需要把它以自由軟體許可證發布。我們通常使用 GNU 通用公共許可證 (GNU GPL) 發布軟體,但有時我們也使用 其它自由軟體許可證 發布軟體。在 GNU 軟體包中,GNU 只使用與GNU GPL兼容的許可證。
自由軟體的文檔應當是 自由文檔 ,以便人們可以隨著軟體的改進去更新它或是重新發布它。若要把文檔以自由文檔的形式發布,您需要使用自由文檔許可證。我們通常使用 GNU 自由文檔許可證 (GNU FDL) ,但少數情況下我們也使用 其它的自由文檔許可證 。
如果您開展了一個新的項目,但不太確定應該選用何種許可證,那么 “如何為您的作用選擇一個許可證” 一文可以以一種簡單且容易遵循的方式給您以幫助。我們正在進一步修訂我們的文檔許可證,同時歡迎聽到您對提案的建議。請訪問 許可證更新網站 閱讀最新的草案並參與到修訂過程中。

組成

主條目:GNU軟體包列表
該系統的基本組成包括GNU編譯器套裝(GCC)、GNU的C庫(glibc)、以及GNU核心工具組(coreutils),另外也是GNU除錯器(GDB)、GNU二進制實用程式(binutils)的GNU Cashshell中和GNOME桌面環境。GNU開發人員已經向GNU應用程式和工具的Linux移植,現在也廣泛套用在其它作業系統中使用,如BSD變體的Solaris,和OS X作出了貢獻。
許多GNU程式已經被移植到其他作業系統,包括專有軟體,如Microsoft Windows和OS X.GNU計畫已經被證明是比他們的專有Unix更為可靠。截至2015年11月,全國共有466 GNU軟體包(包括退役,但不包括383 )主辦的官方GNU開發的網站。

GNU 變種

主條目:GNU variants
GNU項目的官方核心是GNU Hurd;然而,截至2012年,Linux核心正式以Linux-libre為名成為GNU項目中的一部分,並刪除了所有專有組件的變種。
像FreeBSD核心其他核心依然和GNU軟體合作,形成一個工作的作業系統。FSF認為Linux核心,與GNU工具和實用程式使用時,應承認自己為GNU變種,並促進改成GNU/Linux的這類系統名稱(導致GNU/Linux命名爭議) 。GNU工程已認可的Linux發行版,如gNewSenseTRISQUEL和Parabola GNU/Linux-libre。不使用Hurd作為核心的GNU的其他變種包括的Debian GNU / kFreeBSD和Debian GNU / NetBSD的,將得以對BSD的核心實現GNU的早期計畫。

相關詞條

熱門詞條

聯絡我們