歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> Free=自由?免費?GPL!

Free=自由?免費?GPL!

日期:2017/2/27 12:17:45   编辑:Linux文化


Free 這個字眼隨著計算機軟件的流行也跟著流行起來了,不過很不幸的,大多數台灣人都常常誤解了它的意義,對了,這裡並沒有政治意思在內 :) ,Free 倒底代表的是免費?還是自由?一般判斷字詞意思都是靠上下文,不論是英文或中文皆然,所以”火鍋”在家裡或是海霸王就是可以吃的,而在籃球場上就是可以煽的,而英文的 china 可以是中國也可以是瓷器。

但說到 Free ,它可以是”自由的”也可以是”免費的”,而這兩者的意思本來就有點仿真兩可,但用在計算機軟件上,就有點不妙了,在網際網絡還不是那麼盛行的時代,也就是五六年之前,大家還是 dial-up BBS 的常客,那時候流行的討論區不像現在是統一的 tw.bbs.* ,而是“90網”或是“xx網”等等的分開的討論族群,如果大家還有點印象的話應該不會忘記當時流行的收信軟件如藍波快信,銀版快信等等,當時要下傳軟件還得用 modem 慢慢抓,呃,現在也是啦,不過現在的速度比以前快多了,而抓軟件時,會注意到上面常會顯示某某軟件是 freeware ,而某某軟件是 shareware ,國內的翻譯就是 免費軟件及共享軟件。當時老想不清楚,兩個不是都不用錢嗎?為什麼還要分成兩類呢?(注)

Freeware
Freeware 是免費軟件的意思,而事實上也有人把 free software 解釋成免費軟件,不過這和 GNU GPL 的提倡是不同的,一般來說, free software 的 free 是指自由,而不是價格(根據 GPL),而網絡上流傳的 freeware 大部份都是讓大家自由使用,不收錢,也不限制任何功能,但是,作者沒有提供你程序代碼(source code)的義務,換句話說,可能張三今天心血來潮,寫了個彈珠台的游戲,於是他在 Windows 上面編譯好了,傳給他的朋友玩,而不收取任何費用,但是他不需要順手送上 source code。

也就是說, freeware 本身是個通稱,通稱不用收費也無功能限制的軟件叫做 freeware,而另一種不用收費卻有限制的則稱為 shareware。

Shareware
相較於 freeware , shareware 可以說是公司軟件產品的試玩版。

Shareware 有的只是在程序內部加上判別,因此你需要去注冊(不論是花錢或是寫信就好)取得注冊碼,輸入之後就擁有全部的功能;而有的則是部份的游戲關卡或是功能,你需要等該軟件正式上式之後購買。這個方式也是最多游戲公司所采行的方式,好或不好不必等到買了才知道。

舉個五年前大放異彩的德軍總部(Wolfenstein 3-D)為例,當初在各聯機網站可說是大熱門,而裡面只有一個任務,總共十層的關卡,(嗚...當初為了要下載,因為有 ul/dl 比例限制,還寫信給站長拜托)而後來就有軟件公司正式代理了,這是一個成功的范例,也是現在大部份軟件公司的一個行銷方式,當然,這對於消費者來說,也是好事,畢竟不能只憑包裝背後的畫面加上雜志強力介紹就買了(這裡沒有影射以前某大軟件代理公司的意思)。


GNU GPL 與 BSD License


GNU GPL 與 BSD License 是目前國內比較常討論的兩種 License ,主要也是由於 Linux 與 FreeBSD 的流行而起。當然其它還有如 NPL/MPL(Netscape Public License)等等版權宣告,只是都與 GPL 大同小異。


GNU GPL
GNU GPL 在短短幾年內吸引了國內計算機族群的目光,除非你是微軟的死命效忠者,不然你一定會聽過或看過 GPL 三個字, GPL 是 General Public License 的縮寫,而 GPL 的重點在於 OpenSource ,也就是開放原始程序代碼。

GPL 特有的 copyleft (與 copyright 相反 :p),要求只要所寫的有用到 GPL 的程序代碼,都必須也提供原始程序代碼以及 GPL 的宣告文件,而且也不可以以這份程序收取任何權利金,而復制拷貝等等的工本費則不算在內,而且嚴格之處在於,之後所寫的任何程序也必須如此;換句話說,只要你發展的軟件裡面有用到了任何 GPL 的程序代碼,則這份軟件就是 GPL 的軟件,而再經由這軟件所發展出來的任何軟件也必需是 GPL 的。而且,還得附上原始程序代碼與 GPL 的宣告。

所以,這也是部分軟件公司所不能面對的地方,對於某些有專利所有權的程序,他們沒有辦法使用 GPL 授權,像一些有出口限制的加密程序代碼,在北美地區和北美之外的地區是不同的,一旦需要采用 GPL ,那這些程序代碼必需捨棄,或是重寫。不過, OpenSource 社群的力量是很大的,如 OpenSSL ,OpenSSH 等 OpenSource 軟件,都是可以 FREE 使用的。


BSD License
BSD License 原先是用在加州大學柏克萊分校發表的各個 4.4BSD/4.4BSD-Lite 版本上面,後來也就逐漸沿用下來。
相較於 GPL 的嚴格,BSD License 就寬松許多了,一樣是需要附上 license 的宣告文件,卻不需要提供原始程序代碼,可以只以執行文件或二進制文件(binary form)提供給別人,感覺有點像前面提到的 freeware 一樣,只是多了個 license,不過比較有趣的是,它還要求將所有程序發展者的版權資料放上去,所以拿到以 BSD License 發行的軟件可能會遇到一個小狀況 -license 占的空間比程序還大- :p 所以,有改變過的 BSD License ,如 FreeBSD 所用的 FreeBSD License ,跟 BSD License 一樣,只是少了那些廣告條約。


License 的選擇
如果你今天用的某部份程序已經是 GPL 或是 BSD License 的了,那就不用考慮了,不過如果是從無到有,那該選擇何種或是另起爐灶好呢?
站在開放原始碼的社群角度想, GPL 是最佳選擇,最至少公布出來還可以大家幫忙 debug ,而如果不喜歡把原始碼公布(比如用到了某些加密算法),那倒是可以考慮一下 BSD License 。或者也可以參考一下新聞 :GPL vs BSDL 。

結語


這一年來 MS Windows 與 Linux 之爭已進入了白熱化的階段,前陣子 Bill Gates 與 Robert Young 來台倡言(參考新聞 :比爾蓋茲 與 羅伯楊),這篇專欄希望提供新手一點基本的常識,更能了解 free 及 GPL 的涵意,進而可以貢獻開放原碼社群多一份心意。 :)


摘自:http://linuxfab.cx


Copyright © Linux教程網 All Rights Reserved