频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

1.1.4 关于GNU计划

作者: 鸟哥 出处:人民邮电出版社  2007-09-26 15:04    砖    好    评论   进入论坛
阅读提示:《鸟哥的Linux私房菜》全面而详细地介绍了Linux操作系统,第一章我们主要对Linux本身进行了详细的阐述,本文讲的是关于GNU计划。

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】

回书目   上一节   下一节
专题
Linux——从菜鸟到高手
Linux/Solaris服务器的安全配置
Linux 集群技术专题
Linux中文环境
Linux防火墙
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
浏览器的战国时代
浏览器的战国时代
ARP攻击防范与解决方案
ARP攻击防范与解决方案
NAC安全访问控制
NAC安全访问控制
· NAC安全访问控制
· 网络布线测试仪器
· Windows Server 2008专..
· Windows远程桌面应用
· 网络故障排除宝典
· 运营商封堵ADSL共享 中..
· 解析35岁技术人的价值..
· 世纪枭雄比尔盖茨的王..
· 主流品牌防火墙配置
· ASP.NET开发教程
· 超级计算机TOP500专题
· Vista SP1对决XP SP3
· SQL Server 2008/2005..
· 程序员如何成长?
· C#技术开发指南
· 虚拟化技术还有点“虚”
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SOA 面向服务架构
SOA 面向服务架构
· SOA 面向服务架构
· SQL Server 2008/2005..
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· Windows远程桌面应用
· C#技术开发指南
· Apache技术专题
· Windows集群服务应用
· C#技术开发指南
· 国际文档格式标准开战
· 路由器设置与口令恢复
· Linux 集群技术专题
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SQL Server入门到精通
SQL Server入门到精通
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· C#技术开发指南
· 三层交换技术专题
· Apache技术专题
· C#技术开发指南
· Windows远程桌面应用
· 企业数据恢复指南
· Windows集群服务应用
· 路由器设置与口令恢复
· Linux 集群技术专题
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 反垃圾邮件技术应用