歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux業界

源自對智慧成果共享,自由的追求

 

開放源碼運動是計算機科學領域的一種文化現象,源自黑客對智慧成果共享、自由的追求。開源運動發展到現在,這種能夠積極促進人類文明發展的文化不僅滲透到了信息、教育、健康等領域,而且融入了哲學范疇。

純粹的程序員

開放源碼運動的史前史包括了整個UNIX,自由軟件和黑客文化的歷史。

“開放源碼”一詞來源於1997年春天在加州的Palo Alto召開的一個所謂“純粹程序員”參與的戰略研討會。

參加會議的有Todd Anderson,來自Foresight研究所Chris Peterson,來自Linux國際協會的John Hall 和Larry Augustin,硅谷Linux用戶協會的Sam Ockman,以及Eric Raymond。

他們關心的是尋找一種方式,向以前躲避自由軟件的人們推廣這種思想,自由軟件和自由軟件基金會的反商業信條讓很多人對自由軟件敬而遠之。在Eric Raymond的堅持下,他們一致通過了用新的術語:Open Source(開源軟件)來描述他們所推進的軟件。

1998年2月23日Netscape公司宣布它將公開Navigator浏覽器的源代碼成為開源軟件發展歷史的轉折點,經過一番激烈爭辯,“開放源碼”取代“自由軟件”成為黑客們對開放原代碼軟件的代名詞。

自由軟件與開源軟件

Linus Torvalds創建Linux以來,開源思想在軟件界可謂盛極一時。那麼,什麼是開源呢?簡單來說,“開源軟件”就是源代碼開放的軟件。

由於開源思想源於計算機軟件界,所以發展至今,計算機類開源產品的種類、數量都是很多的,使用也比較廣泛。

如在操作系統領域,Linux在服務器市場就占據了相當大的份額,並持續擴張。IBM公司銷售的刀片式服務器中大約有75%就運行著Linux操作系統;Web方面,全球有50%以上的Web服務器在使用開源的Apache系統;數據庫,有針對互聯網應用的輕量級數據庫MySQL,也有針對大型應用的PostgreSQL。

其他還有各種非常流行的軟件,如GNU的編輯軟件Emacs、Linux的圖形處理界面Xfree86、排版軟件TeX等等,都獲得了廣泛的應用。

開源被很多黑客認為是計算機科學的一種文化復興,是計算機科學真正成為科學並能夠與其他科學一起同步發展的手段。開源發展到今天,不僅僅有數以萬計的黑客在積極地參與,像IBM、惠普、CA、Sun等一些軟硬件廠商也在加大在開源方面的投入,並積極向開源社區貢獻優秀開源軟件。因為開源催化了軟件業快速向服務業蛻變的速度,並為IBM這樣的硬件和集成服務提供商提供了新的商機。

許可證授權

獲得開放軟件源碼是免費的,但對所獲取源碼的使用卻需要遵循該開源軟件所作的許可聲明。

開源軟件常用的許可證方式包括BSD、Apache License、GPL等,其中GNU的GPL被眾多的開源軟件組織所采用。

開源軟件許可模式主要分為兩類:一類是Copyleft,一類是non-copyleft。

Copyleft許可,比如GNU GPL類型,堅持認為在開源軟件基礎上所作修改後的軟件,仍舊是自由軟件。它是相對於著作權(CopyRight)的一種戲谑式說法,由理查·史托曼(Richard M. Stallman)提出,同樣有保障原始作者的意義,只是保障的內容不同。Copyleft允許他人在程序上作任何的修改,但要求任何要散布程序的人,必須把原始程序代碼也拿出來給人用。依據Copyleft的原則,所有自由軟件都允許使用者自由copy、修改以及發行,但必須把對原始碼的修改留下來(left),公開給每個使用者,使得其它人也能得到修改後的原始碼,以保證自由軟件的傳播與繼續發展。修改自由軟件的人在提供修改軟件給別人使用時,當然可以收費,但卻不能把原始碼藏私,以保障原來為大家所共創出來的智能財產為大眾所用,而非一家一人的圖利工具。 

Non-copyleft許可則不堅持在開源軟件基礎上所作修改後的軟件,仍舊是自由軟件。盡管Copyleft這個模式保護自由使用,但是non-copyleft許可軟件仍然對自由軟件世界有益。

目前有許多類型的non-copyleft自由軟件許可模式,包括X10許可、XFree86許可和FreeBSD許可,還有BSD(Berkeley System Distribution)許可。

這些non-copyleft許可中的大多數形式,除了遣詞造句的不同,內容是等價的。然而BSD許可卻有一個特殊問題:討厭的BSD廣告條款,該條款限制了對自由軟件的廣告宣傳。該條款要求每一涉及軟件的廣告必須包含下列一段話:“此產品包含有由加利福尼亞大學,伯克利和它的投稿人編制的軟件。”而這導致了大量的程序需要大量的不同的無用廣告句子,因為每一個軟件貢獻者都加上有關自己的廣告。

多種開源協議許可

自1998年2月美國OSI成立之後,經其正式認可的開源許可類型已達30種;同時,在GNU工程/自由軟件基金會的“自由軟件許可”頁面上包含了15種與GPL兼容的自由軟件許可、2種文檔許可,以及總共42個軟件許可和4種非軟件許可。

一些著名開源許可類型如下:

BSD許可—它要求版權和著者身份申明;

GPL—通用公共許可(“CopyLeft”)禁止派生或發行產品的限制;

LGPL—庫/次級GPL,它不同於GPL許可證,在這個許可證下,庫(函數庫)可以自由地聯接到專有軟件;

Artistic許可—使作者保持對進一步開發的控制;

Netscape公共許可(NPL)—基於GPL精神的新的許可證,但是保持了對源碼更多的控制和所有權;

公共域(Public Domain)—通常用於決定性的算法以鼓勵廣泛使用,多為由美國政府使用。

BSD是“Berkeley Software Distribution”的縮寫,意思是“伯克利軟件發行版”。顯然,BSD這個名稱並不是我們現在所理解的操作系統,而且其原意也並非簡單的操作系統,而是一整套軟件發行版的統稱。從軟件發行版到操作系統的演變是有歷史過程的,這一點對FreeBSD很重要。

BSD於1983年8月正式發布,在18個月內就簽發了1000多份站點許可證,是非常具有知名度的版本。

到了1986年6月,4.3BSD發布,而到了1988年,CSRG發布了4.3BSD-Tahoe,這是第一個把BSD內核分解為依賴於機器和獨立於機器的兩部分的版本,這是非常有價值的,它使BSD得以移植到眾多不同的體系結構中。

由於BSD使用了AT&T Unix的部分源代碼,當AT&T源代碼許可證費用不斷增加的時候,一些希望能夠使用BSD代碼為PC生產基於TCP/IP聯網產品的廠商,要求伯克利將AT&T代碼從BSD發行版中分離出來,並給他們簽發單獨的許可證條款,而不需要AT&T的源代碼許可證。

因此,到了1989年6月,一個完全沒有AT&T UNIX代碼的BSD版本誕生了,稱之為“Networking Release 1”。這是第一套由伯克利發布的自由可再發行(freely-redistributable)的代碼。它允許被授權的用戶以源代碼或者二進制的形式發布修改過的或為修改過的代碼,並且可以不向伯克利申報版稅,惟一要求是在源代碼文件中原封不動的保留伯克利的版權聲明,並且在含有以上代碼的其他產品文檔中聲明其產品包括來自於加州大學和其他貢獻者的代碼。這就是著名的BSD許可證的起源。

GPL許可證是自由軟件的應用最廣泛的軟件許可證,人們可以修改程式的一個或幾個副本或程式的任何部分,以此形成基於這些程式的衍生作品。必須在修改過的檔案中附有明顯的說明,如您修改了這一檔案及任何修改的日期;您也必須讓您發布或出版的作品,包括本程式的全部或一部分,或內含本程式的全部或部分所衍生的作品,允許第三方在此許可證條款下使用,並且不得因為此項授權行為而收費。

最普遍的方式是在軟件開放源代碼後,滿足GPL許可,然後通過發行、咨詢、增加用戶定制功能來收費。 另一種是將開放源代碼和有版權的軟件捆綁發行,這樣賺取版權費用。 一種是通過開放全部或部分源代碼,收集補丁程序,並滿足用戶知情權的要求,作為商業軟件的補充。通過發行多許可證的方式,從其他許可證賺錢。

LGPL是GPL的派生,LGPL最初是Library GPL的縮寫,後來改稱作Lesser GPL,即為更寬松的GPL。與GPL的最大不同是,可以私有使用LGPL授權的自由軟件,開發出來的新軟件可以是私有的而不需要是自由軟件。所以任何公司在使用自由軟件之前應該保證在LGPL或其它GPL變種的授權下。

NPL是1998年Netscape公司把Netscape開源之後,由Netscape公司以公眾可以對他進行測試版本測試的形勢提出的,它試圖在商業企業推廣自由軟件開發和保護自由軟件開發之間達成一種妥協,受NPL約束的代碼在授權給第三方時的條款與NPL的不同使NPL無法讓開源社區接受。

對於將來提供開源軟件的人來說,一般情況下從上述一些許可協議中選擇一種即可,而沒有必要花費精力再去編寫新的許可協議。

開源教育

自由的交換想法? 協作創造一套健壯、對大家有益的系統?不僅僅Linux是開源哲學的受益產物,在學校教學領域也在探索開源模式的應用,以期能夠為教學帶來一個更高效、更先進、更豐富的教學體系—這就是開源教育。開源教育模式下,教師們以互聯網為媒介共享課間、協作開發課間、交流教學心得。

人類對世界的人是主要通過兩種途徑:學習他人經歷或親身體驗。教育的本質之一就是通過讓人們通過學習多少輩先人積累下來的經驗,更快更好的建立對世界的正確認識和樹立良好的世界觀。從這點看,科學的發展、教育的發展和開源的發展所采用的方法論是一致的,而開源正是這種方法論的代名詞。

作者:安陽工學院 楊繼勇 來源:賽迪網-軟件世界




Copyright © Linux教程網 All Rights Reserved