区块链将会如何影响开源

2019-10-06 20:02 本站 区商

http://os.51cto.com/art/201903/https:/s5.51cto.com/oss/201903/23/6fda3294c161b5c83c77d69f8bfc8f66.png-wh_651x-s_2671130872.png

在中本聪十年前创立比特币伊始,就引来来众多的追随者,并慢慢演变为去中心化的一场运动。甚至于,对于某一些人来说,区块链技术就像互联网那样深刻影响着人类社会的技术,当然,也有很大一部分人认为,区块链不过是另外一场庞氏骗局罢了,就在这众说纷纭之中,区块链也在进化并不断的尝试寻找自己的位置。无论怎样,有一件事是确定的,那就是区块链是一项颠覆性的技术,将从根本上改变一些行业。我深信开源就是其中之一。

开源的模式

开源是一种软件协作开发方法,也是软件分发的模式,开源允许拥有共同兴趣的人们一起协作,进而生产出他们中间任何个体都无法独立完成的事情,它让整体所创建的价值远远大于部分的总和。开源通过分布式的协作工具(IRC、email、git、wiki、issue 跟踪等)、以及开源许可证模式下的分发和保护,当然还有诸如 Apache 软件基金会和云原生基金会这样的非盈利基金会的治理。

说来已久,最让人们好奇的莫过于开源的模式本质上是缺乏金钱上的激励的。在开源界,像人类社会的其它方面一样,分很多的派系,如其中一些人就认为谈开源就不要谈钱,开源本应该就是由内在的激励的自由和资源的行为(诸如“共同理想”、“为了伟大的事情”);也有另外一些人认为开源需要获得外部的尤其是金钱上的激励。虽然开源项目仅仅通过世上的志愿者来完成是富有理想的浪漫主义色彩的,就目前的现状来看,事实上主要的开源完成的贡献均是在有支付的情形下搞定的。当然,毋庸置疑的是我们拥有大量的无偿贡献者,但是这些贡献都是临时性的,或者是某些受追捧的项目备受世人关注。建立和维系开源项目是需要企业倾注大量心血和精力来进行开发、文档化、测试、修复缺陷,而且是持续性的一如既往的,绝不是一时心血来潮。

开源的商业化

众所周知,Apache 软件基金会是通过捐助而生存的,当然还有其它的一些收入:赞助、会议费用等等。但是要知道这些资金主要是用于运营基金会本身,如为项目提供法律保护,以及确保有足够的服务器来运行构建程序、缺陷追踪、邮件列表等等。

同样的,云原生基金会 CNCF 会收取会员费,以及更多的会议费用,这些费用同样是用来运营基金会以及为项目提供资源。如今的年头,绝大多数的软件已经不能在自己的笔记本电脑里构建了,它们都的运行和测试都是在云平台中上百台服务器当中。这些都属于基金会的日常开销。其它如开展营销活动,品牌设计、分发一些小的宣传物品,也是基金会份内的事情。基金会的核心任务是实施正确的流程,与用户,开发人员和控制机制进行交互,并确保将可用财务资源分配给开源项目以实现共同利益。

看起来是一切都运行良好,不是吗?开源项目可以募捐到钱,基金会也可以公正的进行分发,那么哪里有问题了呢?

这里没有说明的是:用于在开源生产者和开源消费者之间进行价值转移,直接,透明,可信,分散,自动的双向链接。就目前而言,所有的链接都是单向或间接的:

单向:一名开发者(广义上的开发者,可以是软件生产中的任何角色:码农、维护者、分发者),利用自己的聪明才智,绞尽脑汁,并花费无数时间来开发开源项目,且提交贡献为所有的开源用户分享这一价值。但是基本上都是一厢情愿的。

间接:如果软件出现了 bug,影响到了特定的用户/公司的话,有下列几种情形出现:

让内部开发人员修复 bug,然后提交一个拉取请求(PR),这是比较理想的状态,这些公司并不总是能够聘请到特定的开源项目的开发人员,因为一般公司都会使用成百上千个开源项目。

聘请专门从事该特定开源项目的自由职业者并支付服务费用。理想情况下,自由职业者也是开源项目的提交者,可以直接快速更改项目代码。否则,修复程序可能永远不会进入上游项目。

接近围绕开源项目提供服务的公司。这些公司通常雇用开源提交者来影响和获得社区的可信度,并提供产品、专业知识和专业服务。

第三种选择是维持许多开源项目的成功模式。无论这些公司提供服务(培训、咨询、workshop)、技术支持、打包、开放核心,还是 SaaS 服务,不可否认的是他们都需要雇佣上百个全职的员工来为开源做出努力,我们可以看到这样的公司有一大把,他们成功的建立了有效的开源商业模式,而且正在有更多的公司加入这个阵营。

收藏 举报

延伸 · 阅读