共找到2條詞條名為gnu的結果 展開

gnu

gnu

GNU計劃,又稱革奴計劃,是由RichardStallman在1983年9月27日公開發起的。它的目標是創建一套完全自由的操作系統。RichardStallman最早是在net.unix-wizards新聞組上公布該消息,並附帶一份《GNU宣言》等解釋為何發起該計劃的文章,其中一個理由就是要“重現當年軟體界合作互助的團結精神”。為保證GNU軟體可以自由地“使用、複製、修改和發布”,所有GNU軟體都在一份在禁止其他人添加任何限制的情況下授權所有權利給任何人的協議條款,GNU通用公共許可證(GNUGeneralPublicLicense,GPL)。即“反版權”(或稱Copyleft)概念。

解釋


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

歷史


1985年Richard Stallman又創立了自由軟體基金會(Free Software Foundation)來為GNU計劃提供技術、法律以及財政支持。儘管GNU計劃大部分時候是由個人自願無償貢獻,但FSF有時還是會聘請程序員幫助編寫。當GNU計劃開始逐漸獲得成功時,一些商業公司開始介入開發和技術支持。當中最著名的就是之後被Red Hat兼并的Cygnus Solutions。
GNU操作系統的內核Linux
GNU操作系統的內核Linux
到了1990年,GNU計劃已經開發出的軟體包括了一個功能強大的文字編輯器Emacs
GCC(GNU Compiler Collection,GNU編譯器集合),是一套由 GNU 開發的編程語言編譯器。以及大部分UNIX系統
的程序庫和工具。唯一依然沒有完成的重要組件就是操作系統的內核(稱為HURD)。
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 )的縮寫形式。
Linux內核的締造者Linus Torvalds
Linux內核的締造者Linus Torvalds
這裡指的自由,並不是價格免費,這和價格無關而是使用軟體對所有的用戶來說是自由的。GPL
通過如下途徑實現這一目標:
1.它要求軟體以源代碼的形式發布,並規定任何用戶能夠以源代碼的形式將軟體複製或發布給別的用戶。
2.如果用戶的軟體使用了受 GPL 保護的任何軟體的一部分,那麼該軟體就繼承了 GPL 軟體,並因此而成為 GPL 軟體,也就是說必須隨應用程序一起發布源代碼。
3.GPL 並不排斥對自由軟體進行商業性質的包裝和發行,也不限制在自由軟體的基礎上打包發行其他非自由軟體。
由於GPL很難被商業軟體所應用,它要求調用它的庫的代碼也得GPL,全部開放,並且一同發布,不能直接連接。所以後來GNU推出了LGPL許可證
在GPL與LGPL許可證保護下發布源代碼的結果很相似,對舊代碼所做的任何修改對於想知道這些代碼的人必須是公開的,唯一真正的不同之處在於私人版權代碼是否可以與開放源代碼相互連接,LGPL允許實體連接私人代碼到開放源代碼,並可以在任何形式下發布這些合成的二進位代碼。只要這些代碼是動態連接的就沒有限制。(使用動態鏈接時,即使是程序在運行中調用函數庫中的函數時,應用程序本身和函數庫也是不同的實體)

自由軟體


“自由軟體”是權利問題,不是價格問題。要理解這個概念,自由應該是“言論自由”中的“自由”,而不是“免費啤酒”中的“免費”。
自由軟體關乎使用者運行、複製、發布、研究、修改和改進該軟體的自由。更精確地說,自由軟體賦予軟體使用者四種自由:
不論目的為何,有運行該軟體的自由(自由之零)。
有研究該軟體如何運行,以及按需改寫該軟體的自由(自由之一)。取得該軟體源代碼為達成此目的之前提。
有重新發布拷貝的自由,這樣你可以藉此來敦親睦鄰(自由之二)。
有改進該軟體,以及向公眾發布改進的自由,這樣整個社群都可受惠(自由之三)。取得該軟體源碼為達成此目的之前提。