在如今的“码农”圈子里,言必称“开源”似乎已经成了一种时尚。但凡能在开源平台贡献度排行榜上“露脸”的程序员,莫不是业界“大神”级的存在。


【资料图】

开源究竟指什么?它又是怎样诞生的?

开源与闭源

故事还要从1998年说起。

当时,一家致力于纳米技术和人工智能的非营利性智库Foresight Institute认为,在未来,计算机安全至关重要,软件安全是计算机可靠性与安全性的核心。不过,依靠惯用的做法确保安全会越来越难。因为,在程序员社区之外,人们对编程的兴趣正在狂热地增长,尤其是很多“野路子”出身的程序员,不仅技术极其过硬,而且思维天马行空,让人防不胜防。如果能让他们也加入自己的项目,化敌为友,那该有多好。

很快,机会来了。1998年2月3日,网景浏览器代码发布的次日,托德·安德森、克里斯汀·彼得森、乔恩·霍尔等7位行业巨头,聚集在美国加利福尼亚州帕洛阿托举行的战略会议上,一同探讨如何借世人对网景的关注,推动软件的开放式开发。

开源,由此产生。

开源的概念与“闭源”相对应,全称是开放源代码。以前的软件大多是“闭源”的,也就是关闭源代码。闭源软件的特点是只有系统开发商掌握着修改源代码的权力。如果用户感觉软件体验不好,要么将感受反馈给系统开发商,期望对方着手改进;要么只能弃用。而开源不一样,任何人都可以获得并修改软件的源代码,甚至重新开发,当然得在版权限制范围之内。

这也是业界纷纷感慨开源改变商业逻辑的原因所在。在开源的世界里,开发者与使用者的边界被彻底打破了,每个人都可以是开发者、改进者,当然,也可以是创新的参与者。

付费与免费

对于开源这样一种伟大的模式创新,自由软件基金会创立者理查德·马修·斯托曼给出过这样一个界定,“Free is not free”,直译过来就是“自由不是免费”。

这就很反直觉了,源代码明明是免费的呀?

想象一下,如果你希望真正理解一款开源产品,最好的办法就是使用它——免费使用。不过,一旦你真正成为深度使用者,就很有可能发现这个开源项目中的缺失,比如一些功能设置不合理,不能满足特定需求等。此时,会编程的用户可以利用自己的专业技能,贡献自己的代码,补足缺失。由此,一个项目的螺旋升级就完成了。

从商业逻辑来看,用户确实是进行支付了。只不过,其支付手段不是金钱,而是自己的才智。以创意回馈创意,用知识完善知识,用知识来“付费”。

那么,理想的开源状态是什么样?

首先,要有开放的源代码。在这一点上,国内大部分参与开源项目的程序员和科技公司都做到了。不过,这只是开源的第一步。

其次,要有详细的使用说明。任何一个好的开源项目,都应该有一个新手入门手册。毕竟,扫一眼代码秒懂一切的“大神”数量有限,更多程序员或者爱好者还得琢磨一阵。如果从获客角度来理解开源,把所有人都当成“小白”显然更好。

最后,要有活跃的社区。开源平台最大的功用其实是社群,一群具有同样兴趣和专业能力的人可以在同一个平台上讨论问题、交流心得,在头脑风暴中实现共同提升。

换句话说,“Free is not free”中的第一个“free”,指的是所有相关人员,包括开发者、测试者、贡献者、用户等,所有人皆可以自由使用、自由交流以及自由离开。

当一个项目足够成熟,有了变成产品的可能性,开源的社区属性就更加重要了。程序员都熟悉两个词,一个叫Alpha Version,即内测版,一个叫Beta Version,即公测版。普通用户收到的软件测试版提示,通常都是公测版,也就是通过发动更多用户共同使用发现问题,进而为下一步改进提供方向。至于内测版,在闭源的逻辑里,只是一小撮程序员小圈子里的游戏。进入开源时代,当年的内测版一举变成了广义上的公测版,这样的测试效率显然更高。很多时候,帮助测试的“用户”甚至连解决方案都直接提供了。

更进一步说,正因为开源平台本身就是社群,长时间积累下来,总会形成自己的生态体系,包括开发者、首席技术官、架构师乃至科技投资人等。这群人聚集在一起,几乎就等于一个现成的产业链。从这个意义上讲,在开源社区测试,相当于项目时刻处于高强度的路演中。

宏观与微观

开源项目发展至此,开始步入最有争议的阶段。

有人说,对于行业来说,现在是最好的时代;但对于程序员来说,是最差的时代。

从闭源反推可以清晰地看到这一矛盾的症结所在。

最典型的闭源就是专利保护制度。其核心在于“确权+授权”:一个产品是A开发的,A拥有知识产权,别人要用,需要A的授权,最常用的方式就是付费给A。A获得了金钱回报,就能享受更好的生活,并且有更大的动力继续创新。别人看到A生活优渥,也想像A一样,于是也努力创新。就这样,闭源创新借着金钱的东风像水波一样扩散出去,形成溢出效应。

不过,这套逻辑在开源时代很难成立。因为开源讲究的是共享,而不是买卖,自然很难产生直观的经济收益。如果一定要和金钱扯上关系的话,还得绕个大弯。比如,通过开源项目增长了见识、磨练了技术,逐步成长为行业顶尖人才,而后自主创业建立科技公司或是开发出成功的闭源产品变现。这条路有多曲折,成功率有多低,不难想象。

其背后的逻辑是,开源的效益主要体现在宏观层面的经济社会发展和中观层面的行业腾飞上,至于微观层面的个人,除非贡献度极高,否则是很难获得金钱回报的。这就像众人拾柴火焰高,火旺了,夜自然也就不那么凉了。

应该说,开源能够从一个小众的概念发展到今天,共享精神、奉献精神功不可没。但从长远发展来看,是否需要建立起一套更加有效的激励机制,恐怕也是值得思考的问题。毕竟,把蛋糕做大是好事,但再大的蛋糕如果吃不到嘴里,个人的创新积极性也难免会受挫。

在平台经济时代,商业逻辑的表现形式越发多样,个体是一个层面,整体是另一个层面;真金白银是一个层面,内化于心的成就感是另一个层面。如何在二者之间寻求平衡,让更热爱现实生活与更看重个人体验的人都能找到适合自己的价值实现方式,也许是开源需要解决的下一个问题。

推荐内容