|
|
|
|
移动端

1.1.3 关于GNU项目

《鸟哥的Linux私房菜 基础学习篇(第三版)》第1章Linux是什么,本章介绍为何Linux可以免除专利软件之争,并且了解到Linux为何可以同时在个人计算机与大型主机上面大放光彩。本节为大家介绍关于GNU项目。

作者:鸟哥来源:人民邮电出版社|2010-07-15 15:46

技术沙龙 | 4月21日多位区块链专家进行区块链技术应用场景解读!


1.1.3 关于GNU项目

GNU项目对于整个自由软件来说是占有非常重要的角色。下面我们就来谈谈吧!

自由软件的活动

1984年创立GNU项目与FSF基金会的史托曼先生认为,编写程序最大的快乐就是让自己开发的好软件可供大家来使用。既然程序是想要分享给大家使用的,不过,每个人所使用的计算机软硬件并不相同,那么该程序的源码(Source code)就应该要同时发布,这样才能方便大家修改而适用于每个人的计算机中。这个将源码连同软件程序释出的举动,就称为自由软件(Free Software)运动!

此外,史托曼同时认为,如果你将你程序的Source code分享出来时,若该程序是很优秀的,那么将会有很多人使用,而每个人对于该程序都可以查阅source code,无形之中,就会有很多人帮你排错了!你的这个程序将会越来越壮大,越来越优秀。

自由软件的版权GNU GPL

为了避免自己的开发出来的Open source自由软件被拿去做成商业软件,于是Stallman同时将GNU与FSF开发出来的软件都挂上GPL的版权声明,这个FSF的内核观念是:版权制度是促进社会进步的手段,版权本身不是自然权力。对于FSF有兴趣或者对于GNU想要更深入地了解的,请参考朝阳科技大学洪朝贵教授的网站http://people.ofset.org/~ckhung/a/ c_83.php,或直接去GNU官网(http://www.gnu.org),里面有更为深入的解说。

为什么要称为GNU呢?其实GNU是GNU's Not UNIX的缩写,意思是说,GNU并不是UNIX。那么GNU又是什么呢?就是GNU's Not UNIX。如果你写过程序就会知道,这个GNU = GNU's Not UNIX可是无穷循环。

另外,什么是Open Source呢?所谓的Source是程序开发者编写出的源程序代码,Open Source就是,软件在发布时,同时将作者的源代码一起公布的意思。

自由(Free)的真谛

那么这个GPL(GNU General Public License)是什么呢?为什么要将自由软件挂上GPL的"版权声明"呢?这个版权声明对于作者有何好处?首先,史托曼对GPL一直是强调Free的,这个Free的意思是这样的。

"Free software" is a matter of liberty, not price. To understand the concept, you should think of "free speech", not "free beer". "Free software" refers to the users' freedom to run, copy, distribute, study, change, and improve the software。

大意是说,Free Software(自由软件)是一种自由的权力,并非是"价格"。举例来说,你可以拥有自由呼吸的权力,你拥有自由发表言论的权力,但是,这并不代表你可以到处喝"免费的啤酒!(free beer)",也就是说,自由软件的重点并不是指"免费"的,而是指具有"自由度"(freedom)的软件,史托曼进一步说明了自由度的意义是:用户可以自由执行、复制、再发行、学习、修改与强化自由软件。

这无疑是个好消息!因为如此一来,你所拿到的软件可能原先只能在UNIX上面跑,但是经过源码的修改之后,你将可以拿它在Linux或者是Windows上运行!总之,一个软件挂上了GPL版权声明之后,它自然就成了自由软件!这个软件就具有如下特性。

取得软件与源码:你可以根据自己的需求来执行这个自由软件。

复制:你可以自由复制该软件。

修改:你可以将取得的源码进行程序修改工作,使之适合自己的工作。

再发行:你可以将你修改过的程序再度自由发行,而不会与原先的编写者冲突。

回馈:你应该将你修改过的程序代码回馈于社会!

但请特别留意,你所修改的任何一个自由软件都不应该也不能有下面这样的要求:

修改授权:你不能将一个GPL授权的自由软件在你修改后而将它取消GPL授权。

单纯销售:你不能单纯销售自由软件。

也就是说,既然GPL是站在互助互利的角度上去开发的,你自然不应该将大家的成果占为己有,因此你不可以将一个GPL软件的授权取消,即使你已经对该软件进行大幅度的修改。那么自由软件也不能销售吗?当然不是!还记得上一个小节里面,我们提到史托曼通过销售Emacs取得一些经费。自由软件是可以销售的,不过,不可仅销售该软件,应同时搭配售后服务与相关手册一起提供,这些可就需要工本费了呢!

自由软件与商业行为

很多人还是有疑问,目前不是有很多Linux开发商吗?为何他们可以销售Linux这个GPL授权的软件?原因很简单,因为他们大多都是销售"售后服务",所以,他们所使用的自由软件都可以在他们的网站上面下载(当然,每个厂商他们自己开发的工具软件就不是GPL的授权软件了)。但是,你可以购买他们的Linux光盘,如果你购买了光盘,他们会提供相关的手册说明文件,同时也会提供你数年不等的咨询、售后服务、软件升级与其他协力工作等的附加价值!

所以说,目前自由软件工作者,他们所赖以维生的几乎都是在"服务"这个领域。毕竟自由软件并不是每个人都会编写,有人需要你的自由软件时,他就会请求你的协助,此时,你就可以通过服务来收费了。这样来说,自由软件确实还是具有商业空间的!

很多人对于GPL授权一直很疑惑,对于GPL的商业行为更是无法接受!关于这一点,鸟哥在这里还是要再次声明,GPL是可以从事商业行为的!。而很多的作者也是藉借由这些商业行为来得以取得生活所需,更进一步去发展开发更优秀的自由软件!。千万不要听到『"商业』"就排斥!。这对于发展开发优良软件的朋友来说,是不礼貌的!。

上面提到的大多是与用户有关的项目,那么GPL对于自由软件的作者有何优点呢?大致的优点有这些:

软件安全性较佳;

软件执行性能较佳;

软件排错时间较短;

贡献的源码永远都存在。

这是因为既然是Open Source的自由软件,那么你的程序代码将会有很多人帮你查阅,如此一来,程序的漏洞与程序的优化将会进展得很快。所以,在安全性与性能上,自由软件一点都不输给商业软件。此外,因为GPL授权当中,修改者并不能修改授权,因此,你如果曾经贡献过程序代码,你将名留青史。

对于程序开发者来说,GPL实在是一个非常好的授权,因为大家可以互相学习对方的程序编写技巧,而且自己写的程序也有人可以帮忙排错。那你会问的,对于我们这些广大的终端用户,GPL有没有什么好处呢?当然有!虽然终端用户或许不会自己编译程序代码或者是帮人家排错,但是终端用户使用的软件绝大部分就是GPL的软件,全世界有一堆的工程师在帮你维护你的系统,这难道不是一件非常棒的事吗?

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网络服务器配置与应用(第3版)

本书是由长期从事网络管理工作和网络工程人员培训工作的一线网管人员和教学人员精心编写,从现实的技术发展角度和实际应用的角度,通过大量...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊