查看原文
其他

开源代码胜过专有代码的七大原因

2016-02-22 云头条

开源的特性和常见惯例提供了一对无与伦比的组合。

 

我总是惊讶于有些用户希望微软Office或Photoshop会移植到Linux平台。也许,有些人就想要能够在自己喜爱的操作系统上使用标准行业软件。不过就我而言,像LibreOfficeWriter或Krita这些开源应用程序不仅仅是专有软件的替代者――我会选择它们作为最高质量的软件,用来满足我的要求。


不是只有我一个人这么认为。如今四分之三以上的公司企业在内部的某个地方使用开源软件。不像十年前,现在许多开源应用程序不仅很成熟,还一再证明它们的差错率低于专有软件。


我认为至少有七大原因可以表明开源代码更胜一筹:


7. 无需做重复性工作


正如GNU通用公共(GPL)许可证的序言所述:“对大多数软件及其他实用性作品而言,许可证旨在剥夺你共享和修改作品的自由。”相比之下,像GPL这些开源许可证规定了哪些软件代码可以借鉴和开发的条款。


由于开源许可证,程序员不需要重复已经完成的工作,因而节省了时间。他们的软件可以更迅速地完成,或者可以添加更多的功能,执行更多的测试。对许多公司来说,这种情况意味着缩短了产品上市时间、开发的产品更成熟。


6. 开发时不计成本因素


开发专有软件通常需要密切关注成本。太多的新功能、太多的定制,甚至太多的错误修正,都让专有软件版本超出预算。


与此同时,为了吸引客户购买,必须添加新的功能,这对成熟产品来说可能颇有难度。比如说,最近观察人士认为,苹果一直在做表面上的改变,远远没有改善可用性,实际上降低了可用性。


相比之下,开源项目可以随意定制,包括针对小语种进行开发,即便潜在用户数量太少,不可能形成一个有利可图的市场。


5. 无需一味推出新功能


向市场推销软件需要新功能。鉴于各大类别的软件早已成熟,这个要求可能意味着纯粹为了改变而改变,或者偏重于细小的改进。


然而,开源软件却没有这样的要求。即便没有要求任何新的功能,开源项目也会连续发布一两个版本,专注于精简代码、减少错误或其他维护工作,这些工作可以提高软件质量,但是基本上是最终用户看不到的。


4. 不强调最后期限


2008年,Ubuntu创始人马克·沙特尔沃思(Mark Shuttleworth)试图让其他项目协同发布软件,那样大家都可以同时发布软件。尤其从发行版的角度来看,这个想法似乎很合理、很高效。


然而,这个想法受到了谴责,结果无人理睬。“顺其自然”(It’s ready when it’s ready)成为了一句口号,因为很多项目担心,赶在最后期限之前完成会导致软件质量下降。时至今日,就连像Fedora这样的大型项目也常常改变发布日期,它们要经历多个版本,而不是发布问题多多的版本。很少有商业公司有条件这么搞,不过这种做法基本上无损开源项目的美名。


3. 关注功能


多年来,开源不得不专注于功能,因为许多开源项目在努力赶上与之竞争的专有软件。而如今,免费软件日益赶上了专有软件,而且常常让专有软件大吃一惊,但是重心依然没变。虽然过去专注于功能常常意味着界面设计被忽视,但是这种重视意味着重心通常放在真正的改进上。时至今日,“花架子”(外观漂亮但没有实际用途的改变)在许多开源开发人员当中仍然没人理睬。


2. 贴近用户群


正如老话所说,开源开发始于某个程序员决定满足自己的愿望。即便不是如此,大多数项目主张人人平等的精神也意味着,最终用户更可以直接联系开发人员,而注册用户一般鲜有机会直接联系专有软件的开发人员。无论怎样,开源开发人员与用户更紧密地互动,哪怕他们其实更愿与用户保持较为疏远的关系。


1.结果事关个人声誉


如果开源软件主要由志愿者编写,动机是出于获得赞誉。编写一行行代码后,程序员得到的回报是提高了声誉。现在,许多开源程序员获得某种经济报偿,但是动机仍然基本上一样:程序员希望编写出最好的代码,因为这事关个人声誉。作为一种激励,维护个人声誉常常比拿到报偿更管用。


最好的结局


当然,这些原因在任何一个特定的项目中可能行不通。尤其是,有几个原因依赖于掤足够的开发人员,而许多项目长期缺乏帮助。


不过,总的趋势还是很明显。考虑到开源具有的优势,专有软件只好不断地降低价格,或者支持无利可图的受众或功能,希望以此保持竞争力。比如在过去十年,微软Office已经大大扩展了对语言的支持,而在LibreOffice和OpenOffice.org开始将版本迁移到小语种之前,微软在这方面没有显示出多大的兴趣。


即使是现在,LibreOffice支持112种语言,而微软Office支持106种语言――差异很小,但是如果前者不断增加,而后者很难仿效,差异就会马上变大。如今许多开源应用程序赶上了专有软件,而且领先优势在逐年拉大。


云头条编译|未经授权谢绝转载


相关阅读:

Linux基金会宣布开源物联网操作系统:Zephyr|云头条

大数据界迎来新的开源项目:Apache Arrow|云头条

十佳开源移动开发工具

助人就是助己:IBM宣布大规模资助开源大数据项目Spark

你可能不知道的Linux下开源云平台

2015 年度开源项目新秀榜

2015 开源项目未来走向的调查结果

VMware 发布开源项目 Lightwave 和 Photon

Netflix推出为亚马逊云和谷歌云准备的开源项目

开源的赚钱之道

2015年开源领域十大动向:闭源公司纷纷敞开大门

为什么非开源更受欢迎

16款开源大数据数据库:总有一个适合你


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存