Linux發展已經有十年了,發展的十分迅速,你瞭解Linux核心嗎?Linux核心的名字也是“Linux”。Linux作業系統也是自由軟體和開放原始碼發展中最著名的例子。我們主要講講Linux核心版本。
Linux從1.0版本後就具有兩種 不同的版本號碼,叫做版本樹。 一個版本樹是由一個是實驗版本,一個是產品版本。 每一個版本是由三位元字組成的,第二位元字說明版本類型。如果第二位是偶數,則說明這種版本是產品化版本,如果是奇數,則是實驗版本,比如說版本 1.2.0是產品化的版本,而1.3.0則是實驗版本。這兩種版本是有關聯的,是一前一後完成的。每一個版本樹開始時間都是相同的,然後呢,這兩個版本不 斷的擴充增長,穩定代碼會添加到產品化版本中,而測試階段的代碼則添加到實驗版本中。當linus確定實驗版本具有足夠的新功能並且效能穩定的時候,他就 稱為程式碼凍結(code freeze)。這時候穩定的實驗版本成為新的x.y.0,開發又按新的版本進行。
比如說:1.0.0和 1.1.0是相同的,1.0.1是對1.0版代碼的第一次錯誤修複,而1.1.1是往1.1版中第一次添加新功能。最後到1.0.9中的錯誤在1.0中得 到修複,1.1.9最終為1.1。最後隨著新功能的不斷增加到達足夠有足夠的新功能時,程式碼凍結,版本一同升級為 1.2.0和1.3.0,然後繼續1.2.0修複錯誤,1.3.0添加功能。
我們可以看到Linux的發展曆程要比其他的作業系統短暫的多, 它的原因是多方面的,但談到Linux的發展曆程我們不得不先來談一下自由軟體基金會和它的GNU計劃。 我們知道當前流行的軟體按其提供方式可以大致劃分為三種模式:商業軟體、共用軟體、自由軟體。 商業軟體是由開發人員出售拷貝並提供技術服務,使用者只有使用權,但不能進行非授權的拷貝、擴散、修改或添加新功能; 共用軟體則是開發人員提供軟體試用程式拷貝,使用者在使用一段時間後,必須向開發人員交納使用費用,開發人員則提供相應的升級和技術服務;自由軟體則是由開發人員提供軟體全部的原始碼,任何使用者都有權使用、拷貝、擴散、修改該軟體。同時使用者也有義務將自己修改過的程式原始碼公開。
其實在電腦工業發展的初期,是沒有這三種模式的,當時軟體只是硬體的附屬品。公司只賣硬體,隨系統贈送軟體。在這一時期,軟體的設計思想,新的演算法和 軟體的原始碼在專家和公司技術人員之間自由交流,促進了軟體的迅速發展。但是,公司很快認識到軟體的價值,對軟體實施了著作權控制,並限制原始碼的發布。許 多原本屬於公眾創造的知識財富現在成為公司的私人財產。軟體的開發方式也發生了變化,變成以公司為主體的封閉的開發模式。Unix就是這樣的例子。 雖然AT&T開創了Unix的曆史,但是Unix的發展與完善卻與許多大學的專家、技術人員的努力分不開。事實上,Unix是在協作基礎上開發的。當 AT&T在70年代末期對Unix的使用和發布強制實施著作權控制後,使早期對Unix發展做出貢獻的人們感到失望。
Richard Stallman,與BillGates曾經同是哈佛大學的學生,他就這個時候就在軟體開發團體中發起支援開發自由軟體的運動。自1984年起,麻省理工 學院MIT)開始支援他,這就導致了自由軟體基金會Free Software Foundation,FSF)的建立。
在同年 Richard Stallman組織開發了一個完全基於自由軟體的軟體體系計劃——GNU(GNU's Not Unix)計劃,這個計劃的目的就是要開發一個完全自由的,與Unix類似的但功能更強大的作業系統,以便為所有的電腦使用者提供一個功能齊全效能良好 的基本系統。GNU的名稱很有意思,它採用了一個無限遞迴的法則來命名的,它的全稱是“GNU's Not Unix”,意思是說GNU不是Unix。取它的每個單詞的首寫字母就組成了“GNU”。 當開始實施GNU項目時,當時沒有多少高品質的自由軟體可供項目使用。所以,為GNU項目做出貢獻的人們Member of FSF)先從系統的應用軟體和工具入手,開發了大量的自由軟體。但是對核心GNU HURD的開發速度卻很遲緩,直到現在還沒有正式發布,仍處於測試階段。
Richard Stallman針對這個GNU計劃還組織擬訂了一份通用公用許可認證GPL(General Public License),用它來規範這些“自由軟體”的發行、複製和修改等一系列行為。GPL許可證可能大家也聽說過,但是也有不少人對他還不是很清楚或者還有 誤解。很多人認為GPL許可證下的軟體是公用領域的軟體,沒有任何的著作權,屬於公眾的。其實GPL是有著作權的,它的著作權屬於開發人員,並且受到標準國際著作權 法的保護。GPL條款的目的是保證軟體自由地發行和修改。禁止在發行和使用上進行交易獲利,並且不允許任何人限制其他人在發布和修改方面的權利。但是 GPL條款讓許多人迷惑的地方是它允許團體或個人從買賣GPL著作權的軟體中獲利,換句話說,就是允許他們在發行時收取一定的費用,甚至贏利。
這乍起來一看好象自相矛盾,為什麼允許賣軟體贏利而另一方面允許任何人自由免費的擷取呢?其實這不難理解。免費並不意味著它不花錢。儘管通常情況下是這 樣的。代碼的獲得是免費的,我們可以想一下,如果某個公司準備把大量的免費軟體裝到CD-Rom上發行,那這個公司肯定要收取一定的費用來支付生產和發行 CD-Rom的成本。如果這個公司從中獲利,這也是GPL條款所允許的。允許公司發行和銷售免費軟體是一件相當好的事情,我們可以想一下,並非所有的人都 能夠有機會通過Internet來免費擷取GPL軟體,GPL條款允許公司或團體銷售GPL軟體從而擴大了這些軟體的發行範圍,極大的拓展了這些軟體的全 球使用者基礎。自由軟體基金會的GNU計劃為後來的Linux作業系統迅速發展奠定了堅實的基礎。
在1994年,Linus發布 Linux的第一個“產品”版Linux1.0的時候,它是按照完全自由發布的著作權進行發布的。這種著作權它要求所有的原始碼都必須公開,而且任何人均不得 從Linux交易中獲利。這種純粹的自由軟體的方式對於Linux的發布和發展實際上是一種阻礙,因為它限制了Linux以磁碟或CD-Rom等媒體的形 式進行發布的可能,同時也限制了一些商業公司參與Linux的進一步開發並提供支援人員的良好願望。於是半年以後,Linus決定把Linux轉向GPL 著作權。這一步對Linux發展十分重要。它贏得了許多專業人員的支援,這些人將GNU項目的許多成果移植到Linux系統上來。包括很多系統工具包,程式 開發環境,應用程式等等,甚至標準檔案工具(如ls,mv,cp和rm等)都是GNU工具 + 生產力包的一部分。所以我們一開始說什麼是Linux的時候有一種 比較科學的說法是Linux只是一個作業系統的核心,其實也是這樣的,Linux本身只有一些磁碟存取碼和很少的幾個軟體。它從GNU中得到了許多的益 處。
以上就是Linux核心版本以及GNU計劃。
- 命令簡介:檔案和目錄管理的基本Linux命令
- 操作筆記:Linux案頭GNOME的操作技巧
- 全面講解Linux檔案安裝卸載
- 2010Linux作業系統即將綻放
- 實操日誌:Linux安裝JDK