基本介紹
自由軟體對全世界的商業發展有巨大的貢獻。從裝飾性的綢帶的製造者到從事研究的科學家,自由軟體使成千上萬的人的日常工作更加便利,為了滿足用戶的各種套用需要,它以一種不可思議的速度發展。
自由軟體的主要許可證有GPL許可證和BSD許可證兩種。
關於自由軟體:很多朋友會把幾個關於軟體的定義搞混:
共享軟體(Shareware)、免費軟體(Freeware)、開源軟體(Open Source software)和自由軟體(Free software)。
四者中,最前者最狹隘,您只有使用軟體部分功能的權利而無修改和再發布的自由;而最後者最開放和自由,您可以擁有她的原始碼、自行做修改和再發布。
詳細關於這方面的知識,請您在Internet上查閱Richard M. Stallman和自由軟體基金會(Free Software Foundation,FSF)的相關文章。還有一點要告訴青少年朋友,近期Microsoft在中國等國家推廣的所謂“開放原始碼計畫”,並不表示它的軟體是開源軟體,因為它還沒達到那個境界,充其量只能算是“View Source”(只看勿動)。
所以,freeware,free software是最好的區別。
授權自由
根據斯托曼和自由軟體基金會(FSF)的定義,自由軟體賦予使用者四種自由:自由之零:不論目的為何,有使用該軟體的自由。
自由之一:有研究該軟體如何運作的自由,並且得以改寫該軟體來符合使用者自身的需求。取得該軟體之源碼為達成此目的之前提。
自由之二:有重新散布該軟體的自由,所以每個人都可以藉由散布自由軟體來敦親睦鄰。
自由之三:有改善再利用該軟體的自由,並且可以發表改寫版供公眾使用,如此一來,整個社群都可以受惠。如前項,取得該軟體之源碼為達成此目的之前提。
如果一軟體的使用者具有上述四種權利,則該軟體得以被稱之為“自由軟體”。也就是說,使用者必須能夠自由地、以不收費或是收取合理的散布費用的方式、在任何時間再散布該軟體的原版或是改寫版在任何地方給任何人使用。如果使用者不必問任何人或是支付任何的許可費用從事這些行為,就表示她/他擁有自由軟體所賦予的自由權利。
許可認證
GPL許可證
GNU通用公共許可證使用者必須接受軟體的‘軟體授權’,才能使用該軟體,而在自由軟體中,最常見的授權方式就是GPL-GNUGeneralPublicLicense了。
因為使用者是免費取得了自由軟體的原始碼,那么如果使用者修改了它的原始碼,基於公平互惠的原則,使用者也必須公開其修改的成果。而這就是GPL的精神-自由、分享、互惠。
BSD許可證
BSDlicense(BSD許可證)是"BerkeleySoftwareDistributionlicense的首字母縮寫,是自由軟體(開源軟體的一個子集)中使用使用最廣泛的許可證之一。BSD軟體就是遵照這個許可證來發布,該許可證也因此而得名。
BSD套件最初所有者是加州大學的董事會,這是由於BSD源自柏克萊加州大學。BSD開始後,BSD許可證得以修正,使得以後許多BSD變種,都採用類似風格的許可證。
跟其他許可證相比,從GNU通用公共許可證到限制重重的著作權所有,BSD許可證比較寬鬆,甚至跟公有領域更為接近。事實上,BSD許可證被認為是copycenter(中間著作權),界乎標準的著作權所有與GPL的著作權屬左之間。
自由軟體運動
自由軟體運動是信息社會下以開放創新、共同創新為特點的創新2.0模式在軟體開發與套用領域的典型體現,是由那些支持自由軟體的人士所發起的運動。RichardStallman是該運動的主要發起人以及精神領袖。
自由軟體運動人士認為自由軟體的精神應當貫徹到所有軟體:他們認為禁止計算機用戶行使這種自由是不道德的行為。RichardStallman認為販賣不附帶原始碼的二進制軟體是十分不道德的,因為這樣阻止了軟體用戶學習以及幫助其他人的權利。然而目前還沒有如何實現自由軟體運動最終目標的共識。有些人認為應當使用法律手段強制軟體供應商提供原始碼;有些則認為應當通過抵制商業軟體來達到目的。還有一些人則認為時間將證明,自由軟體最終在質量上要比商業軟體略勝一籌,並會在自由市場上取得勝利。
開源軟體運動的支持者更注重軟體的使用性而不是它的道德問題。開源軟體支持者與自由軟體支持者的最大不同在於前者不像後者一樣盲目地反對及譴責商業軟體。開源軟體支持者中有許多程式設計師在使用開源軟體的同時編寫商業軟體謀求生路。RichardStallman和自由軟體運動
部分自由軟體運動人士也認為其他受專利權保護的產品也應當自由化。還有一些人士則認為有部分資源不應當被自由更改,例如GNU通用公共協定證書,小說等。
著作權及格式
自由軟體可以免費取得,並且它的原始碼可以自由修改並散布但它並不是沒有著作權。著作權是當某項作品完成時就自然產生了,不需申請或註冊。以本文為例,本文在寫作的同時,作者即擁用著作權,任何人皆無法剝奪。而當使用者花錢購買某套軟體時,所購買的只是“使用權”,使用者必須接受該軟體的“軟體授權”,才能使用這個軟體;而軟體的原作者則仍然保有其“著作權”。
封閉軟體通常會使用專屬的封閉格式,但這會極大地限制了使用者的自由度。而自由軟體則完全不同,由於自由軟體的原始碼是公開的,所以它所使用的任何格式都是透明的。自由軟體永遠不會利用專屬的封閉格式來限制使用者分發或修改的自由。
開放原始碼軟體與自由軟體
嚴格地說來,開放原始碼(opensource)軟體(開源軟體)與自由軟體是兩個不同的概念,只要符合開源軟體定義的軟體就能被稱為開放原始碼軟體。自由軟體是一個比開源軟體更嚴格的概念,因此所有自由軟體都是開放原始碼的,但不是所有的開源軟體都能被稱為“自由”。但在現實上,絕大多數開源軟體也都符合自由軟體的定義。比如,遵守GPL和BSD許可的軟體都是開放的並且是自由的。
若要具體區分,可作這數項比較︰
開放原始碼的規定較寬鬆,而自由軟體的規定較嚴苛。很多的開放原始碼所認可的授權根本不算是自由軟體,所以自由軟體不得不和開放原始碼劃清界線了。
如果說“自由軟體”會引起誤解,(因為英文“Free”一詞有“自由”、“免費”的雙重含意),那么“開放原始碼”的名字會引起的誤解則更多。開放原始碼很容易讓人以為只要把原始碼“公開”出來就算是開放原始碼了,但是如果使用者無法自由運用這些原始碼,那么即使公開原始碼也沒有意義。有的軟體公司只是為了想找使用者幫它除蟲、幫它追縱編碼,這樣子會破壞了自由軟體的原意。
自由軟體的原意就是要給予使用者運用軟體的自由,這個‘自由’就是自由軟體的精神所在。但是為了商業化開放原始碼卻故意忽略了這個最重要的精神,反而無法讓使用者體認到‘自由’的真意,那么開放原始碼這一個替代自由軟體的辭句反而把自由的原意除去了。
而自由軟體的精神領袖理察·馬修·斯托曼也很反對人們把開放原始碼和自由軟體混為一談。
意義及發展
自由軟體是信息技術發展引發信息革命所推動的以開放創新、共同創新為特點的創新2.0模式在IT行業的具體體現,是符合知識社會的發展潮流的,其最根本的意義在於它有利於人類共同意義上的交流、合作和發展。然而,自由軟體運動的發展僅僅依靠少數自由軟體工作人員、僅僅依靠人們的一些業餘行為、僅僅依靠激發人們對自由的熱愛和追求行得通嗎?肯定不行!自由軟體運動,在人們普遍為生計而辛勞、為生存而掙扎時,是不可能有什麼大的發展的。理查德·斯托曼先生在談話中對自由軟體運動的現狀流露出了一絲悲哀,同時又表達了他心中的希望和對中國的希望。我們可以期望自由軟體運動有一個歷史轉折點,那就是當人們不再普遍需要為生計而辛勞、為生存而掙扎的時候(物質基礎)。自由軟體運動的發展需要一大批的參加者,將來這一大批的參加者必然有這樣的特點:基本生活有保障、有堅定的追求理想的精神,他們的生活不一定是最好的,但是他們希望生活得不如他們的人們的生活有所改善並志願為此作出貢獻(精神基礎)。自由軟體運動一旦越過轉折點,那么它的發展將會摧枯拉朽,軟體技術的發展將會產生革命性的飛躍並進一步推動面向知識社會的創新2.0(下一代創新)模式發展。