您所在的位置:读书频道 > 操作系统 > Linux > 1.1.4 关于GNU计划

1.1.4 关于GNU计划

2007-09-26 15:04 鸟哥 人民邮电出版社 字号:T | T
一键收藏,随时查看,分享好友!

《鸟哥的Linux私房菜》全面而详细地介绍了Linux操作系统,第一章我们主要对Linux本身进行了详细的阐述,本文讲的是关于GNU计划。

AD:

1.1.4  关于GNU计划

1984年创立GNU计划与FSF基金会的史托曼先生认为,编写程序最大的快乐就是让自己开发的好软件可供大家使用。既然程序是供大家分享的,而且每个人所使用的计算机软硬件并不相同,那么,该程序的源码就应该同时发布,这样才能方便大家修改,适用于每个人的计算机中。这种发布源码的举动就称为开放源码。此外,史托曼还认为,如果能分享程序的源码,该程序是很优秀的,那么将会有很多人使用它,而且每个人都可以查阅程序源码,排除程序中的错误,这个程序将会越来越健壮,越来越优秀。

为了避免开发的开放源码的自由软件被用做版权软件,史托曼同时将GNU与FSF开发出来的软件都挂上GPL的版权声明,这个FSF的核心观念是“版权制度是促进社会进步的手段,版权本身不是自然权力”。对FSF有兴趣或者想要深入了解GNU的读者,请参考树德大学洪朝贵教授的网站(http://www.pws.stu.edu.tw/ckhung/a/c_83.php),或直接到GNU的http://www.gnu.org中进行更深入的了解。

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

什么是开放源码呢?所谓的源码(source),就是程序开发人员编写出来的原始程序代码,开放源码就是在发布软件时同时将作者的源码一起公布。

那么,GPL(GNU General Public License, GPL)是什么?为什么要将自由软件挂上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授权。因此,您不可以取消GPL软件的授权,即使已经对该软件进行了大幅度的修改。那么,自由软件也不能销售吗?当然不是。上一节中我们提到史托曼曾通过销售Emacs获取一些经费。自由软件是可以销售的,不过,不可以仅销售该软件,应同时与售后服务与相关手册一起提供,这些可就需要工本费了。

很多人也许还有疑问,目前不是有很多Linux开发商吗?为什么他们可以销售Linux这个GPL授权的软件? 原因很简单,因为他们大多都是在销售“售后服务”,所以,他们所使用的自由软件,都可以在网站下载(当然,每个厂商自己开发的工具软件就不是GPL的授权软件了)。但是,您可以购买他们的Linux光盘,如果购买了光盘,他们会提供相关的手册说明文件,同时也会提供您数年的咨询、售后服务、软件升级与其他相关服务,所以,目前自由软件工作人员赖以维生的几乎都是“服务”领域。毕竟自由软件并不是每个人都会编写,有人需要您的自由软件时,他就会请求您的协助,此时,您就可以通过服务来收取费用。这样来说,自由软件确实还是具有商业空间的。

很多人对于GPL授权一直很疑惑,对于GPL的商业行为更是无法接受。关于这一点,要再次申明,GPL是可以从事商业行为的。很多作者也是通过这些商业行为来获取生活所需,更进一步去开发更优秀的自由软件。千万不要听到“商业”二字就排斥。这对于开发优秀软件的朋友来说,是不礼貌的。
上面提到的大多数都是与用户有关的项目,那么,GPL对自由软件的作者有什么好处呢?大致有如下几种好处:

• 软件安全性较好;
• 软件执行性能较好;
• 软件除错时间较短;
• 贡献的源码永远都存在。
由于是开放源码的自由软件,那么程序代码将会有很多人查阅,这样,修补程序漏洞与优化程序将会进展很快,所以,在安全性与性能上,自由软件一点都不亚于商业软件。此外,因为GPL授权中,修改者并不能修改授权,所以,如果您曾经贡献过程序代码,您将名留青史。

以笔者的观点来看,GPL给程序开发人员带来的好处相当多,但对于那些不熟悉程序的人们来说,GPL的优点不太容易看出来。首先,虽然它是随手可得的自由软件,您也必须要会使用基本的编译器(这也是您为什么要买这本书/查看笔者网站的原因)。这对于一般人来说并不容易。当然,如果每个人都跟史托曼一样,那么商业公司就不用存在了。对于不懂程序的人来说,商业公司可以快速提供帮助;而对于读者来说,认识了/学习了Linux与自由软件的相关技巧后,会有益于我们将来的发展。

【责任编辑:雪花 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

关于GNU计划  Linux  shell  系统管理  鸟哥  鸟哥的Linux私房菜的更多文章
OSX系统管理和部署

《OS X系统管理和部署》讲述Mac计算机OS X系统的特性和实际应用[详细]

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

Cisco CCNA 640-802题库
Cisco 640-802 Cisco Certified Network Associate (CCNA) Testinside CCNA 640-802 V14 最新题库与Testinside CCNA 640-802 Q

最新热帖

更多>>

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院