您当前的位置: 首页 > 

凌云时刻

暂无认证

  • 9浏览

    0关注

    1437博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

关于开源软件的十个问题(下篇)

凌云时刻 发布时间:2018-04-06 13:32:18 ,浏览量:9

快,关注“Linux宝库”,一起涨姿势!

本文继作者上一篇《关于开源软件的十个问题(上篇)》,继续围绕开源软件阐述余下相关的问题,以期帮助全面认识开源软件的价值。

开源软件是采用开源许可证规制软件开发和使用的新模式,保证了开发者和用户可以获取、修改和贡献软件源代码,并利用这些代码满足业务需求。

开源软件的特点是在软件开发和使用的过程中,采用社区化和开放共享的方式,弥补了传统私有软件的公司化和封闭性的缺陷,更加适应大规模、网络化、创新型软件技术的发展需求。

基于开源软件建立起新的信息技术生态系统,与以私有软件为主体的原有生态系统进行竞争,在竞争中显示出低成本、高安全、易维护、促创新的优势,体现出生机勃勃的活力。

6

开源软件与

代码质量

反对开源软件的声音往往企图将开源代码与低质量联系起来

其实正如私有软件有质量差异之分一样,开源软件也有质量高低的差异。良好组织的开源社区能够集合众多技术专家的智慧,以严谨的代码审查过程保证代码的高质量;同时代码的开放和众多的开发者的参与也可以保证代码错误得到及时的发现和修正。

根据Coverity的发现,私有软件厂商大概是1000行代码有20-30个错误(KLOC),这个概率从1960年开始一直没有改变。2006年,通过调查包括LAMP在内的36个开源项目发现,代码量和错误率之间没有直接相关性,开源软件的社区模式开发使得软件错误量与代码量无关[7],说明在大型软件开发项目中,开源模式具有更高效的错误排除能力。而且,开源软件的错误修复无需依赖私有软件惯常的版本发布周期,可以保证更加敏捷高效。

因此,对于开源软件与代码质量的质疑,用户最好的选择是从高质量的社区获得高质量的代码,而不是怀疑开源模式本身对于代码质量的影响。

7

开源软件与

知识产权

开源软件的合作开发模式需要处理好不同开发者的知识产权问题

开源软件领域知识产权纠纷的频频发生,使得“开源软件会导致知识产权侵权”的说法也成为用户的顾虑之一。软件作为知识型的产品,知识产权的处置必然是一个无法绕过的话题,这对于开源软件和私有软件没有任何区别。

也就是说,私有软件也同样有类似的知识产权问题,而开源软件在知识产权上的特殊性在于更加公开和明显。如果将一些流行的私有软件代码公开,追溯知识产权的归属,也一定难逃诉讼。

所以,开源软件的知识产权问题并不是其特有的,如果要解决这个问题需要作出更多的努力,一方面应当积极开展知识产权问题的讨论,应对知识产权泛滥的趋势对于开源软件的负面影响,特别是要反对“软件专利化”的言论;另一方面,对于用户而言,应当优先选择那些可以提供知识产权保护的开源社区中的代码。

从实践角度而言,目前声明“针对应用开源软件可能提出知识产权侵权诉讼”的声音更多的是某些企业基于私利的虚张声势,实际上很难得以实施,原因很简单,因为这样做可能会引火上身,遭到知识产权侵权的反诉。

8

开源软件与

开放标准

理解开源软件,也需要理解开源软件和开放标准的关系

互操作是市场竞争必要的技术特性,而开放标准又是实现互操作的重要保证。正是由于对互操作的关注,开放标准的价值已经得到广泛认知,并得到了很多国家政府在政策上的明确支持。

比较开源软件与开放标准可见,开放标准关注的是与互操作相关的接口和协议的开放,对源代码没有要求;开源软件则是源代码的开放,不仅开放接口,还要开放所有接口的实现。

开放标准在标准化组织中按照一定的程序由标准化人员和技术工程师完成,强调公平的程序和免费的使用;开源软件则是在社区中由技术工程师协商完成,在开源许可证的规制下工作。开放标准是一种自上而下的组织化部署,建立标准化组织完成标准的制定,鼓励厂商实施标准,以实现互操作的需求;开源软件则是自底而上的技术驱动,期望通过源代码的公开和共享,实现互操作。

垄断性私有软件厂商为了回避竞争,抵制开放标准的普及和应用。为了阻止这种力量,开源软件通过源代码开放的方式(从代码的层次上),与开放标准(在接口的层次上),共同推动技术开放、技术互操作,争取技术竞争的机会。因此,开放源代码和开放标准是紧密相关、相互补充的两个概念,共同成为开放技术必不可少的两个组成部分。

9

开源软件与

生态竞争

对于私有软件厂商通过技术锁定和标准控制赚取高额利润的行为,不仅用户深有体会,而且也引起了国家相关政策制定部门的重视

以前,国家的做法一般是通过国家科研经费的支持,鼓励企业模仿垄断技术厂商的技术途径和标准,以期生产自主的替代软件产品;或者是鼓励企业开展原始创新,闭门造车,期望改变游戏规则,推动本土企业走向价值链的高端。但是,结果却不尽人意。

分析原因可见,软件产业是一个网络效应极强的产业部门,技术和市场之争,实际上是生态系统之争。这就意味着,一旦垄断企业建立起生态系统,奠定“路径依赖”的途径,这个系统就很难打破,应对的方法要么是加入其生态系统,屈就于价值链低端;要么是重新建立生态系统,开展积极的竞争。

因此,如果不再满足于价值链低端的地位,就只能重新建立新的生态系统。在信息技术领域建立新的生态系统的过程是艰难的,甚至依靠国家的实力都无法完成;闭门造车不足取,因为信息技术已经证明是无国界的,是全球性的竞争。

但是,开源软件为我们提供了一个绝好的机遇,那就是与国际社区的参与者开放合作,建立起新的生态系统,与现有的生态系统开展竞争,并在新的生态系统中争取处于价值链的高端。

开源社区之所以能够担负起建立新的生态系统的任务,是基于两个要素,即众多的参与者和开放性的理念。开源社区有众多的参与者,例如,Sourceforge.net是一个开源开发资源,主持了超过180000个项目,2008年12月份有190万注册用户。

根据2002年FLOSS的统计,2006年有超过490,000个Sourceforge.net开发者每周超过10个小时或更多的时间加入项目开发,这意味着每周500万人小时的工作量。Sourceforge.net只是众多开源社区之一,如果能够整合这些力量,将为建立新的生态系统提供足够的技术资源。

另一个就是开放的思想。Web的创始人、著名的开放技术的倡导者Tim Berners-Lee 在解释开源浏览器计划时曾说:“如果技术是私有的,在我的控制之下,它就可能不会得到广泛的应用。推动Web成为开放系统,是Web得以广泛应用所必需的方式。因为不能希望一项技术得到广泛的接受,同时还想继续控制它。”[8]开源社区正是秉承着开放的思想,为建立新的生态系统提供无限动力。

10

开源软件与

创新

开源软件对信息技术产业发展所带来最重要的价值是自由和创新的机会

研究表明,85%的原始创新来源于用户驱动[9],也就是说,私有软件开发模式只能保证1/6的原始性创新机会。

开源软件解决了采用私有软件在创新方面的不足。如果采用私有软件,创新只能在私有公司提供的平台之上进行,不仅受到软件产品版本规划的制约,而且这种创新很可能由于产品版本的变化而无法工作;而采用开源软件,不仅可以直接参加到最底层技术的开发过程中,从核心层参与创新,而且可以基于知识积累和共享,在稳定的技术平台之上进一步创新。

另外,开源软件也能够改变用户对于软件本身的态度,基于社区开发软件的优势,使自己更有精力如何利用这些代码提供创新的服务。某个角度而言,这是一种价值的回归。

作为一个发展中国家,我们正确地选择了“创新”作为国家长期发展的战略,开源软件在创新方面的积极作用就需要得到足够的重视和利用。国家积极鼓励开源软件,有利于迅速积累核心技术能力,吸收现有技术成果,将更多资源投入到进一步的创新过程中,在更高的层次上参与竞争。

开源软件领域知识产权纠纷的频频发生,使得“开源软件会导致知识产权侵权”的说法也成为用户的顾虑之一。软件作为知识型的产品,知识产权的处置必然是一个无法绕过的话题,这对于开源软件和私有软件没有任何区别。

综上所述,开源软件带来了对传统软件产业的反思,有利于实现软件产业价值的回归。用户的信息技术投资不应当是购买软件代码的授权费,而应当是购买满足业务需求的技术服务。只有在开源软件模式下,用户才有权力选择高质量的代码,摆脱技术锁定,提高信息安全,满足业务需求;国家信息技术政策的制定者,也应当抓住开源软件的机会,鼓励企业通过社区掌握核心技术能力,保证软件的自主和安全,实施软件创新战略,实现信息产业的跨越式发展。

参考资料

[7] Kerner, S., Coverity Study Ranks LAMP Code Quality, March 6, 2006,

http://www.internetnews.com/stats/article.php/3589361

[8] Tim Berners-Lee Home Page, http://www.w3.org/People/Berners-Lee/FAQ.html#What2

[9] Von Hippel, E., Democratizing Innovation, 2005, http://web.mit.edu/evhippel/www/democ1.htm

关于作者:

丁蔚,博士,中国开源软件推进联盟副秘书长,长期从事开放源代码和开放标准推进工作,专注于开源和开放标准战略研究和实践,探索通过参与开放技术生态,创建有竞争力商业模式的策略。

关于“Linux宝库”微信公众号:

欢迎关注"Linux宝库"微信公众号,这里每天发布最新的开源人物和开源事件。谨以此号记录Linux和开源业界的点点滴滴,为开源爱好者和从业者点亮人生。

- 责任编辑:丸子 -- END -

Linux宝库

长按扫码,关注我们

为开源爱好者和从业者点亮人生!

关注
打赏
1663816507
查看更多评论
立即登录/注册

微信扫码登录

0.0996s