微软公司CEO鲍尔默(Steve Ballmer)在接受媒体访问时说:目前微软的三大“劲敌”,分别为开源运动(Open Source Movement)、谷歌的广告商业模式和苹果的数字版权管理(DRM)。
当国外各大公司在正视开源运动的时候,国内的一些人士似乎还并不是很认同,似乎一旦开源就无法盈利,很重要的一点就是没有清楚的认识到开源的真正意义和实质,使得很多的计算机软件用户对开源软件的认识也很模糊。
秘密与安全
人们经常将秘密(Secrecy)和安全(Security)给混淆了,毕竟大部分的软件用户不是开发人员,而且作为普通的软件消费者,没有动机仔细的思考这些问题,因为用户不用考虑安全的因素就可以使用到自己想要的软件,这无疑也让这个问题变得模糊起来,只有听别人的宣传。我们应当好好的静下心来思考一下这个问题,树立正确的观念。
“安全”的含义,从最宽泛的角度而言,就是指软件使用中存在的问题。这些问题包含的内容很多,凡是与使用软件带来的问题有关的都包含在其中,它关注的是软件本身,而不是其他的内容。
“秘密”虽然是安全的很大的一部分,但是不是全部,与“安全”有很多的不同。它关注的是信息本身,是超越了所有的软件之外,无论是开源软件还是闭源软件。
从使用的角度而言,毋庸置疑,软件开发出来是为了便利人们生活、提高效率的,那么对使用者而言的“安全”,其实指的是“信息的安全感”,也就是所说的“隐私权”。
至于信息安全的部分,“间谍软件”这个问题是绕不过去的,早些时候澳大利亚由于使用了商业的软件产品,后来发现其提供的操作系统有“后门”,把电脑上的一些信息自动发送出去,而普通的杀毒软件、防火墙和监控软件却很难发现,就像一个小间谍藏在自己的电脑里。
澳大利亚政府对其进行质问,希望对此作出解释,而答案非常清楚,对方称其受到政府相关部门的压力,不得不这样做。
从常识出发,我们的安全根本就没有得到保证,而且我们是花了大价钱买的这套软件,应当得到相应的服务,难道我们投资买来的是这种盗窃自己私密信息但看上去特别好用的系统吗?相信稍有安全警惕心的人都会对这个问题敏感,而且清醒地认识到这个问题严重性。但是,由于受制于使用习惯和对软件的了解不足,不能找到相应的替代品,于是就产生了两难境地。
化被动为主动的错误跟踪
开源软件带给我们的却是另外一个场景,只要用户感兴趣就可以知道自己使用软件的一切,现在有专门的公司提供这种安全保证服务,如果有资金支持,可以委托这样的公司提供相应的服务。
“开源”更容易跟踪错误记录和有效的修正,开源项目对于安全问题的修复很迅速,有的在当天就可以做出回应,时间长的在几天到几周就可以得到答复。相比较而言,同样的问题,商业公司会花数月时间来对其漏洞进行一次大的升级,而且有很多未知的潜在漏洞还没有发现。
而对于开源软件而言,每天都有人在看源代码,随时都可以发现问题,随时报告,有能力的就自己把安全问题修复了,然后发布出来给大家分享。
同时我们可以看出,并不是所有的闭源软件公司对问题的响应度都很缓慢,因为要生存,要赢得用户,就必须对问题作出最快的响应速度。但是还是有缺陷的,大部分情况下是用户反馈给软件供应商存在的问题,虽然软件供应商也会对软件进行各种安全的测试,但是无论从计算机科学的角度而言,软件的正确性并没有得到证明,软件中存在的问题和漏洞,只是没有发现罢了。从测试的角度讲,做出一个完备的测试方案几乎是不可能的。
从参与者这个角度而言,闭源软件的安全负责者和代码拥有者是软件供应商,所有的问题的解决是软件供应商的问题,用户不能参与源代码级别的修改。
而开源软件的参与者是所有感兴趣的使用者和研究者,而且关注安全问题的人都是很有热情的使用者和技术爱好者,而且人数众多,相信群众的眼睛是最雪亮的。
质疑开源安全
目前,大家对开源的看法很不一致,有人觉得开源软件由于其开源的特点,所以更容易受到攻击,这种观点来自不同的人群,有的是普通用户、有的是商业软件的开发商、有的是来自某些决策人员,但这种观点很大的原因是由于不太了解开源,出于仓促的直觉判断得出的结论,而有的就是有意混淆视听,有着自己的商业利益。下面我们可以对一些比较典型的疑问做一番分析和回应。
观点之一:开发团队中的一员可以在代码内部植入问题代码或者后门,在代码内部就制造了安全隐患。就算是对开源项目进行了详细的检测,但是由于开源本身的特点,使得任何人都可以根据已有的代码作出自己的发行版本,所以在这些变种版本中就更有可能产生安全问题。
上面这种批评,看上去似乎言之凿凿,假设开源软件确实存在上面的问题,那么闭源软件也会面临同样的问题。对于代码的安全,开源软件可以查看源代码,而且有很多的选择,而对于闭源软件,一旦用户选择,就必须默认其正确性和安全性,而且对担心的问题不能够彻底的解决。就算闭源软件中有意的设置逻辑炸弹或间谍软件,用户也只能被蒙蔽。
观点之二:外在人员关注开源代码对揭露这些漏洞根本不起作用,因为这些漏洞可以从公共所得的代码中移除,当核心团队参与到一个具体项目或者发行版中的时候,就会打破原有的模式,将问题代码植入其中,因为他们绝不会污染发行的公共版本的。
这种批评可以说是自相矛盾的。在开源社区,如果有人故意的“制造事端”,那么他很容易就名声扫地,对那些提供服务的开源软件公司更是这样。而且一旦有漏洞发布,就会有大量的社区人员作出响应,给出解决方案,而且还有点竞赛的味道,看谁最先将问题解决,以此来赢得自己在开源社区的地位。
开源软件中的安全问题可以在公众中迅速的传播开来,被大家所知道,然后采取措施对应。由于开源软件由社区驱动,所以是基于开放的标准和协议,所以在类似的开源软件之间迁移相对而言是非常廉价的,比如从Sendmail迁移到Postfix。
纵览上述观点可以发现,问题的根本所在是误解了开源项目的运作过程,也没有弄明白开源软件和专利软件之间的区别。
共2页: 1 [2] 下一页 |