gnu

gnu

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

解釋

StallmanStallman

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作業系統的核心LinuxGNU作業系統的核心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 TorvaldsLinux核心的締造者Linus Torvalds

這裡指的自由,並不是價格免費,這和價格無關而是使用軟體對所有的用戶來說是自由的。GPL

通過如下途徑實現這一目標:

1.它要求軟體以原始碼的形式發布,並規定任何用戶能夠以原始碼的形式將軟體複製或發布給別的用戶。

2.如果用戶的軟體使用了受 GPL 保護的任何軟體的一部分,那么該軟體就繼承了 GPL 軟體,並因此而成為 GPL 軟體,也就是說必須隨應用程式一起發布原始碼。

3.GPL 並不排斥對自由軟體進行商業性質的包裝和發行,也不限制在自由軟體的基礎上打包發行其他非自由軟體。

由於GPL很難被商業軟體所套用,它要求調用它的庫的代碼也得GPL,全部開放,並且一同發布,不能直接連線。所以後來GNU推出了LGPL許可證

在GPL與LGPL許可證保護下發布原始碼的結果很相似,對舊代碼所做的任何修改對於想知道這些代碼的人必須是公開的,唯一真正的不同之處在於私人著作權代碼是否可以與開放原始碼相互連線,LGPL允許實體連線私人代碼到開放原始碼,並可以在任何形式下發布這些合成的二進制代碼。只要這些代碼是動態連線的就沒有限制。(使用動態連結時,即使是程式在運行中調用函式館中的函式時,應用程式本身和函式館也是不同的實體)

自由軟體

“自由軟體” 是權利問題,不是價格問題。要理解這個概念,自由應該是“言論自由”中的“自由”,而不是“免費啤酒”中的“免費”。

自由軟體關乎使用者運行、複製、發布、研究、修改和改進該軟體的自由。 更精確地說,自由軟體賦予軟體使用者四種自由:

不論目的為何,有運行該軟體的自由(自由之零)。

有研究該軟體如何運行,以及按需改寫該軟體的自由(自由之一)。取得該軟體原始碼為達成此目的之前提。

有重新發布拷貝的自由,這樣你可以藉此來敦親睦鄰(自由之二)。

有改進該軟體,以及向公眾發布改進的自由,這樣整個社群都可受惠(自由之三)。取得該軟體源碼為達成此目的之前提。

相關搜尋

熱門詞條

聯絡我們