找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4470|回复: 1

原创:开放源码的好处

[复制链接]
发表于 2012-12-28 12:04:06 | 显示全部楼层 |阅读模式
开放源码究竟好在何处?

在多年以前,Linux和开源软件运动逐渐兴起的时候,有些国内的经济学者发出过质疑的声音。他认为开源系统会造成大量侵权的事情,最终“有人摘果,无人栽树”,开源软件必将死亡。但时间给出了答案,事实并非如此。开源软件催生了大量成熟可靠的软件,这些软件系统被广泛使用,并且发展迅猛。当然,国内的现实大家都明白,确实有很多人只“摘果”,不“浇灌”。

首先应该厘清的一个概念就是:开源软件 != 无版权的软件。事实上,有些开源软件的版权规定是非常严格的,甚至带有“病毒性质”,如GPL。使用了一点代码就要公开所有产品代码。正是因为国外对产权观念的重视和严格保护,才使得这些基于更高级意义上的知识产权规定得以实施。代码都公开了,随便研究,但你不能拿过去就声称是“自己的”。只要尊重、保护知识产权,开源软件之花就会继续开放下去。

开放源码带来很多优点。从大的方面来说,它使得更大规模的软件测试得以实现。此外,它大大加速了软件技术知识的普及和进步,学习变得更为容易了。
用Linux创始人林纳斯·托瓦兹的名字来命名的林纳斯定律说:“只要有足够多的眼睛,所有的缺陷都无从遁形”。软件行业现在还只能靠反复的测试来查验产品缺陷,无法做到用计算机自动逻辑推演,甚至这种推演是否能完全取代人工,还是个大疑问。另外,开放源码使得很多过去的“技术机密”被发布出来,让无数人得以一窥究竟,进而加快了技术进步和知识的普及。对于软件技术来说,源代码等于一切。只要你把代码钻研透彻,一切技术尽在掌握。这在过去的时代,是根本不可想象的事情。

开源软件,使得按需定制变得更为容易。技术人员可以根据需要对软件进行定制修改,更符合自己面临的需求。

有人质疑过开源软件的安全问题,认为开源软件使得系统更不安全了,因为不怀好意的黑客,可以更容易的发现系统的漏洞,进行攻击。其实这是个矛和盾的关系,如果攻击变得容易了,那么修复也会更快。如果对比Windows系统,即便发现了漏洞,你也只能等待微软发布补丁,自己无能为力。 此外,代码公开,不等于你可以绕过软件执行的逻辑。这是两回事。就好比很多加密算法是公开的,但不等于你能轻易的解开加密的内容。

综上所述,开源软件还会继续蓬勃发展,继续给人类带来更多更可靠的软件服务。






 楼主| 发表于 2014-10-9 17:07:02 | 显示全部楼层
再补充几句:开源软件有不少“堆叠”的用法。一套成熟的开源软件,可以在其基础上开发出各种功能强劲的应用。而很多功能需要对这套软件内部了解很多,紧密结合起来才能做到。这种模式在闭源的商用软件里面,是不可想象的,除非它授权给你,让你查看软件内部的信息,否则你是很难做到的,甚至无计可施。但是这种就限制了很多个体的创意和可能。通过简单的API接口,给你描述些文档,实际上很难做到深入。从软件工程上来说,不同系统间都喜欢相互“黑盒”模式,谁也不知道内部状态最好。从软件代码的角度看问题,自然没错。相互的修改可以隔离,互不影响。但我认为不要曲解,低估黑盒内部知识的重要性。通过查看代码,可以在保持接口简单的同时,把实现有针对性的做的更好。


有个好例子:http://www.vagrantup.com/ 这套软件主要基于VirtualBox,在其基础上做了很多的开发扩展,支持各种自动化应用。

您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-4-28 11:58 , Processed in 0.012129 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表