当前位置:Linux教程 - Linux文化 - Free=自由?免费?GPL!

Free=自由?免费?GPL!



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