接上文:互联网所依赖的开源社区免费劳力还能撑多久?(上)

开源经济

尽管开源软件很快被许多硅谷大型科技公司所接受,但经济学家们仍在研究,这些项目怎么总能成功地解决市场问题呢?对此,自由软件人群给出的标准解释是:自由软件可以在自由和利他主义的道德要求下持续发展,但这似乎也不足以解释像Linux这样的项目为什么能如东风广场5期此快速发展。 人类历史上,从来没有任何行业仅依靠其贡献者的善意,就产出了这种对技术要求非常严格的项目。

为了搞清楚真相,21世纪初人们进行了一系列研究,这些经济学家试图在开发者身上找到理性生产者/消费者的概念。

2000年,哈佛大学经济学家Josh Lerner和麻省理工学院经济学家Jean Tirole分别发表了关于开源开发的经济学定义,他们声称能证明开源的主要动因是开发人员的经济利益,而不是给自由软件世界做贡献的愿望。

他们认为,直接利益来自他们所在的公司,而这些公司通过修复错误或添加功能来获利。长期利益方面,开源开发者通过向未来雇主或风投展示才能,以此推动职业生涯发展,同时也可获得开源同行的支持和认可。

Josh Lerner和Jean Tirole关于开源开发的经济学解释获得广泛认可。2000年,21世纪初,这一理论一度非常流行,但二十年来,FOSS(Free and opensource software,免费开源软件)生态在规模和生产方式方面都发生了很大变化。

这一变化主要因为一个叫Git的神器,Git是一个开源工具,它能让分布式协作开发成为可能,基于Git孙凡卓的Github(据说是全球最大的同性交友网站)网站大大加速的开源开发的节奏,降低了新开发者的入门门槛。在Github出现之前差不多十年前,Josh Lerner和Jean Tirole就预见到会出现一个允许大量贡献者协作的平台。

开源贡献者数量的激增,通常被认为是对其开发范式的验证。 在过去十年中,越来越多的FOSS开发者在抱怨维护开源代码库很麻烦。许多开发人员指出,用户的权利是这种抱怨的根源。

正如开发人员William Gross(威廉葛洛斯)所说,当依赖开源软件的公司越来越多,那开源开发人员将面对激增的功能请求和代码问题,许多公司都希望他们的改进能快点得到反馈。 换句话说,人怕出名猪怕壮,一旦一个项目火了,该项目的开发者就快忙疯了。

此时,许多人又想起了Lerner和Tirole两位经济学家的言论,许多FOSS开发者也开始怀疑,依赖于志愿者善意的软件开发模式是否能持续扩大规模。一些开发人员把这个当做一种文化问题,可以通过让新手熟悉规则,让维护人员来解决这些问题。有些人则认为,这是一个可以通过钱来解决的问题。不过,也有人觉得这都不叫事儿。

开源的悲剧

2015年,Nadia Eghbal舍弃了她作为风投家的工作,开始研究为什么开源项目很难将这些工作货币化。Eghbal说,当看到许多开源软件被广泛使用后,他qq音速道聚城对开源的经济学越来越感兴趣,但始终搞不清楚改如何为其开发提供资金支持。

在Eghbal看来,这其中有许多让人费解的事儿。流行的开源项目跟成功的创业公司有相似之处:都能迅速被采用,都有庞大的用户群,开发成本或者说门槛比较低。不过,如果要看中投资回报的话,很多时候这些创业项目都是风头毒药。对支持开源社区的金主来说,最好的红子叫声将将红最重要的是要找到能持续为开源提台风倒槽雨供资金的机制。

为了找到这个机制,Eghbal下了很大功夫去了解开源项目的维护者。在对数百名开源开发者进行了zktqkt字体下载一年的访谈之后,Eghbal发布了(Roads and Bridges: The Unseen Labor Behind Our Digital Infrastructure)《路和桥:数字基础设施背后的奉献者》,可能是有史以来开源软件经济学最具代表性的研究了。

Eghbal的报告将开源软件视为一种非排他性的公有产品(原文是“public good”或者翻译成共有产品?),这是社会科学中的一种描述,简而言之就是任何人都可以使用的资源,无论他们是否交了税,非排他性的公有产品是健康社区的基石,但也受到所谓的“搭便车问题”和“公地悲剧”的影响。

这个问题也比较明显,就是有些公有产品一方面被过渡消费,一方面又产能不足,但是又没办法阻止那些没有做过贡献的人使用它。开源就是典型的公有产品,比如像谷歌这样的巨头能沉下心来研发一个叫Tensorflow的好东西,然后把它开源,谷歌没法让别人说你别用我的,如果突然有很多公司开始用Tensorflow,但是维护团队又没有对应增多,生产力跟不上消费者增多了,问题就来了。

社区公共用地也是一样,当人们无管制地使用公共用地,但没有机制来鼓励某个个体承担维护公共用地的成本,每个人都只顾着自己的利益而不付出的时候娘道洪县长,最后都会消耗殆尽的。对应到FOSS中,公有产品是十亿行开源代码,代码本身不是消耗品,但开发和维护代码的程序员时间和经历是消耗品。

公共用地的悲剧是经济学中被研究的比较透彻的问题,它的解决方案是把将公地变成私人或受监管的商品,但Eghbal很快意识到,这办法在开源软件方面并不适用,因为将软件变成私有产品会破坏开源开发的整个过程。

另一方面,规范开源软件的生产过程(例如,建立类似于国家科学基金会的组织,将公共资助分配给开源软件项目)破坏了开源软件开发的主要优势。监管所带来的稳定性是以牺牲效率为代价的,在快节奏的软件开发领域,这根本行不通。

以前,一些开源维护者试图ksj轮滑鞋规范谁能用开源软件,例如禁止与移民和海关执法部门合作的公司使用这些软件,很快就遭到了来自开源社区的强烈负面反应,最终这项决定被撤销,这充分证明开源软件应该向所有人免费用。

开源社区设置访问规则被视为解决开发人员倦怠的一种可能性方案。William Gross在博客中写道,在这种“开源但封闭社区”的模式下,如果想要进入开发者社区,需要付费。

这种模式下,用户仍可以随意使用这些代码,但是如果想要提改动和需求的话,你得掏钱,因为我们也是付出了时间和精力的,William Gross认为这种激励下社区的活跃度会提升。

对于另外有些不愿意管理社区的维护者而言,最合理的解决方案是要求开源软件的用户聘请开发人员来开发,这种方法最重要的要找到谁从开源项目中受益最多,然后让他们能尽可能多地回馈生态系统。虽然准确的数据能跟踪开源贡献者,但有一样东西能尽可能的描述些情况,它就是GitHub。

GitHub是2008年上线的代码托管网站,被网友戏称为全球最大的同性交友网站,与开源社区关联巨大,来自全球各地约2500万贡献者在GitHub上存放着超过1亿个代码库,这2500万人参与开源的动机多种多样,根据开源Web开发框架Ruby on Rails的创建者David Hansson的说法,过去的二十年中,开源贡献者们的个人资料发生了很多变化。

“绝大多数开源软件,尤其是与网络相关的软件,都是一些公司为好兵炮娃了解决一些重要的技术问题,给开发人员提供一些资金赞助。”汉森表示。 “这跟理查德斯托曼所说的自由软件有很大不同,但它也是一种能产出优秀开源软件的方式。”

当然,也有很大一部分开源代码是由开发者在业余时间写出来的,这也非常具有代表性,汉森也认为,这些人对开源的热情是开源生态周梓倩微博系统的基石。

但仔细看看GitHub 2017年的主要贡献数据会发现,汉森的说法更具有代表性,我们看到最活跃的开源项目贡献者都来自谷歌,微软,亚马逊,IBM,Facebook,腾讯,百度,红帽和英特尔等等大公司,他们每年都从基于开源软件的产品中获利数百亿美元。许多开发者都说这些大公司从开源上获利太多但是回馈太少,但是从这些大公司的回应中我们看到,实际上,这些公司对开源软件有实质性贡献。

IBM开放技术副总裁Todd Moore指出,自90年代中期以来,IBM一直在为开源项目做贡献,当大名鼎鼎的Linux和Apache还在发展初期就得到了IBM的支持,Tood Moore给出的数据说,先后有超过1200名IBMe湖北楚剧悲腔选唱r为1000个开源项目做出过贡献。Moore还说,“很多”IBMer全职贡献Linu姐姐妹妹x,Kubernetes,Java和Node.js等开源项目,并且IBM每年都会奖励社区里的顶级IBM开发者。

Moore还说,IBM推行了年度认证计划,帮助IBM员工了解与开源相关的价值和风险,教员工如何成为开源社区或者某个项目的有效成员,据说seencon美瞳,有超过72000名IBMer已获得该认证。

Google开源主管Chris DiBona也有一段类似的描述。

自谷歌成立之初,自由和开源软件就一直是谷歌技术的一部分,DiBona表示谷歌多年来在开源许可下发布了数百万行代码。DiBona没说具体谷歌有多少人在全职贡献开源代码,只是表示谷歌在Github上贡献了2000多个开源项目,谷歌还为业界贡献了开源语言Go和k8s,还有大名鼎鼎的Tensorflow。

谷歌鼓励员工在与工作相关的开源项目上做李竟贡献,或者出于个人兴趣去做贡献,DiBona说,Github公布的数据显示,谷歌员工在Github上的行为数(activity)占到总体的行为数的1%以上,你很难找到一个没贡献过代码的谷歌员工。

谷歌和IBM通过强制或者鼓励的方式让员工在开源社区做贡献,许多公司还向Linux基金会和Apache基金会捐钱。

不过,也有开发者提出,这些大公司做不做不是个问题,问题是这些公司做的贡献够不够,还有,这些公司贡献的是什么项目?

Django是非常著名的Web开放框架,它的联合开发者Jacob Kaplan-Moss表示,这些市值几十亿美元的大公司应该做更多贡献,之前微我俩冀行软不是说要收购Github吗?他觉得应该把这钱的一半给到开源软件的创建者和维护者们。

Jacob Kaplan-Moss在推特中说,开源软件这些问题的根源是钱,解决问题的方式弗萨卡就是钱,这些科技公司从开源软件中赚数十亿美金,但是没有什么回报,他们本可以很轻易的解决亲亲海童装的评价这些问题,如果这些大公司解离症的偏执狂爱真的浮世织香录关心开源软件,而不是作作秀,他们应该在开源维护者和开源基金会上投入更多资金。

虽然汉森不反对为开源项目提供更多资金的提议,但在关于“开源和钱的风险”的问题时,采取了更为谨慎的立场。

如果你管理着有几百个贡献者的项目,有一天你为这个项目引入金钱奖励机制的话,那会很危险!汉森认为,这些人做这些事儿并没有经济上的考量,只是单纯出于兴趣或者创造热情才写的代码,你突然告诉他们说,你们投入了时间是吧,给你算成钱转给你,这样的话,很多人在心理上会很受伤。

这种伤害有多大呢?

汉森说起了在对Ruby on Rails做贡献代码时的故事。当汉森最开始启动Rails时,汉森就说迟早会被功能请求压得喘不过气儿的,后来确实涌现出铺天盖地的需求,一瞬间他感觉自己像个软件开发商一样。这时候,避开市场化操作的话就显得特别明智,因为他能不理会这些请求,如果真的拿了这些提需求的人的钱,那就得必须满足人家的要求,但是因为他是对社区做自由贡献,所以他不用感激任何人,拿人手短,哪儿哪儿都一蔓蔓青萝,彭加木,456电影样。

我的软件你可以免费用,如果你想让它变得更好,那可以啊兄弟,一起来吧,汉森说,但是如果你对我大喊大叫的说这说哪儿的话,对不起了,您内,走好不送!

需要注意的是,没人说给开源社区资金是坏事儿,包括汉森也说这是好事儿鸭!开源社区真正的问题不是要不要资金的问题,而是怎么分配这些资金的问题!(未完待续)

回顾上文:

互联网所依赖的开源社区免费劳力还能撑多久?(上)