十年前,中本聪以比特币为开端,如今已拥有众多追随者,并发展成为一场去中心化的运动。 对某些人来说,区块链技术是一种宗教,它将像互联网一样对人类产生影响。 对另一些人来说,这只是炒作,这种技术只适合庞氏骗局。 虽然区块链仍在发展并试图找到自己的位置,但有一点是肯定的:它是一种颠覆性技术,将从根本上改变某些行业。 我敢打赌开源就是其中之一。
开源模式
开源是一种协作式软件开发和分发模式,它允许具有共同兴趣的人聚集在一起并生产出个人无法独自创造的东西。 它允许创造大于其各部分总和的价值。 开源由分布式协作工具(IRC、电子邮件、git、wiki、问题跟踪器等)启用,由开源许可模式进行分布式保护,并且通常由软件基金会(例如Apache 软件基金会 (ASF)、云原生计算基金会 (CNCF) 等)管理。
开源模式一个有趣的方面是其核心缺乏经济激励。 有些人认为开源工作应该与金钱脱钩,并且仍然是一种完全由内在激励因素(例如“共同目标”和“为了更大的利益”)驱动的自由和自愿活动。 另一些人认为,开源工作应该通过外在激励因素(例如经济激励)直接或间接地得到奖励。 虽然开源项目仅通过自愿贡献而蓬勃发展的想法很浪漫,但实际上,大多数开源贡献都是通过有偿开发完成的。 是的,我们有很多自愿贡献,但这些都是来自来来去去的贡献者的临时贡献,或者是在极其受欢迎的项目处于鼎盛时期的时候。 创建和维持对企业有用的开源项目需要长时间的开发、文档编写、测试和错误修复,即使该软件不再光鲜亮丽和令人兴奋。 这是一项枯燥的活动,最好通过经济激励来激励。
商业开源
像 ASF 这样的软件基金会依靠捐款和其他收入来源(例如赞助、会议费等)生存。 但这些资金主要用于运营基金会、为项目提供法律保护,并确保有足够的服务器来运行构建、问题跟踪器、邮件列表等。
同样,CNCF 也有会员费和其他收入来源,这些收入用于运营基金会并为项目提供资源。 如今,大多数软件不是在笔记本电脑上构建的; 它在云端的数百台机器上运行和测试,这需要资金。 创建营销活动、品牌设计、分发贴纸等都需要资金,一些基金会也可以在这方面提供帮助。 在其核心,基金会实施正确的流程与用户、开发者进行交互,并控制机制,并确保将可用的财政资源分配给开源项目,以实现共同利益。
如果开源项目的用户可以捐款,并且基金会可以公平地分配这些资金,那么还缺少什么?
缺少的是开源生产者和开源消费者之间直接、透明、可信、去中心化、自动化的双向价值转移链接。 目前,该链接是单向的或间接的
-
单向:开发者(将“开发者”视为参与软件生产、维护和分发的任何角色)可以使用他们的聪明才智并投入时间进行贡献,并与所有开源用户分享该价值。 但没有反向链接。
-
间接:如果存在影响特定用户/公司的错误,则选项为
-
拥有内部开发者来修复该错误并发出拉取请求。 这是理想的,但并非总是可以雇用熟悉每天使用的数百个开源项目的内部开发者。
-
聘请专门从事该特定开源项目的自由职业者并为服务付费。 理想情况下,该自由职业者也是开源项目的提交者,并且可以直接快速更改项目代码。 否则,该修复可能永远不会进入该项目。
-
联系提供围绕开源项目的服务的公司。 这些公司通常雇用开源提交者来影响和获得社区的信任,并提供产品、专业知识和专业服务。
-
第三个选项是维持许多开源项目的成功模式。 无论他们提供服务(培训、咨询、研讨会)、支持、打包、开放核心还是 SaaS,都有一些公司雇佣数百名员工全职从事开源工作。 有很长的公司列表多年来,这些公司设法建立了一个成功的开源商业模式,并且该列表正在稳步增长。
支持开源项目的公司在生态系统中发挥着重要作用:它们是开源项目和用户之间的催化剂。 那些增加真正价值的公司不仅仅是精美地打包软件; 它们可以识别用户需求和技术趋势,并创建一个完整的堆栈,甚至是一个开源项目生态系统来满足这些需求。 他们可以接手一个枯燥的项目并支持它多年。 如果堆栈中缺少一个部分,他们可以从头开始一个开源项目并围绕它构建一个社区。 他们可以收购一家闭源软件公司并开源这些项目(在这里我有点激动,但是,是的,我说的是我的雇主Red Hat)。
总而言之,通过商业开源模式,项目由极少数个人或公司正式或非正式地管理和控制,这些个人或公司将项目货币化并通过确保项目成功来回馈生态系统。 这对于开源开发者、管理公司和最终用户来说是一个双赢局面。 另一种选择是不活跃的项目和昂贵的闭源软件。
自给自足的去中心化开源
要使项目成为信誉良好的基金会的一部分,它必须符合某些标准。 例如,ASF 和 CNCF 分别需要孵化和毕业流程,除了所有技术和正式要求外,项目必须拥有足够数量的活跃提交者和用户。 这就是形成可持续开源项目的本质。 在 GitHub 上拥有源代码与拥有活跃的开源项目不同。 后者需要编写代码的提交者和使用代码的用户,这两个群体通过交换价值并形成一个每个人都受益的生态系统来持续加强彼此。 一些项目生态系统可能很小且寿命短暂,而另一些项目生态系统可能由多个项目和竞争服务提供商组成,具有非常复杂的交互,持续多年。 但只要有价值交换,每个人都能从中受益,项目就会得到开发、维护和维持。
如果您查看 ASF Attic,您会发现已经达到生命周期结束的项目。 当一个项目在技术上不再适合其用途时,通常就是其自然的终结。 同样,在 ASF 孵化器中,您会发现大量从未毕业但被淘汰的项目。 通常,这些项目无法建立足够大的社区,因为它们过于专业化或者有更好的替代方案可用。
但也有一些项目,它们具有很高的潜力和卓越的技术,但由于无法形成或维持一个功能正常的价值交换生态系统,因此无法维持自身。 开源模式和基金会没有为开发者获得工作报酬或用户听到他们的请求提供框架和机制。 双方都没有共同的价值承诺框架。 因此,一些项目只能在商业开源的背景下维持自身,在这种情况下,公司充当开发者和用户之间的中介和增值者。 这增加了另一个约束,并需要服务提供商公司来维持一些开源项目。 理想情况下,用户应该能够表达他们对某个项目的兴趣,开发者应该能够以透明和可衡量的方式表达他们对该项目的承诺,从而形成一个具有共同利益和价值交换意图的社区。
想象一下,有一种模型,其中包含能够实现开源用户和开发者之间直接交互的机制和工具。 这不仅包括通过拉取请求贡献代码、通过邮件列表提出问题、GitHub 星星和笔记本电脑上的贴纸,还包括允许用户以更丰富、更自主和更透明的方式影响项目命运的其他方式。
这种模式可能包括对以下行为的激励措施,例如
-
直接资助开源项目,而不是通过软件基金会
-
通过投票(由代币持有者)影响项目方向
-
由用户需求驱动的功能请求
-
准时合并拉取请求
-
漏洞赏金
-
更好的测试覆盖率激励
-
最新的文档奖励
-
长期支持保证
-
及时的安全修复
-
专家协助、支持和服务
-
用于项目宣传和推广的预算
-
用于定期常规活动的预算
-
快速的邮件和聊天协助
-
全面了解项目的总体发现等
如果您还没猜到,我正在谈论使用区块链和智能合约来实现用户和开发者之间的这种互动——智能合约将赋予代币持有者影响力项目的权力。

区块链在开源生态系统中的应用
现有的开源生态系统渠道提供了用户通过对服务提供商的财务承诺或通过基金会提供的其他有限手段来影响项目的方式。 但是,将基于区块链的技术添加到开源生态系统可以为用户和开发人员之间的交互开辟新的渠道。 我并不是说这将取代商业开源模式; 与开源合作的大多数公司都在做很多智能合约无法取代的事情。 但是智能合约可以激发一种引导新开源项目的新方式,从而使维护成本高的商品项目获得新生。 它们可以激励开发人员应用枯燥的拉取请求、编写文档、使测试通过等,从而在用户和开源开发人员之间提供直接的价值交换渠道。 区块链可以添加新的渠道,以帮助开源项目长期发展并实现自给自足,即使公司支持不可行。 它可以为自给自足的开源项目创建一个新的补充模型——双赢。
开源代币化
已经有很多旨在将开源代币化的举措。 有些只关注开源模式,有些则更通用但也适用于开源开发
-
Gitcoin - 发展开源,是该领域最有希望的项目之一。
-
Oscoin - 开源加密货币
-
Open collective - 一个支持开源项目的平台。
-
FundYourselfNow - 项目的 Kickstarter 和 ICO。
-
Kauri - 支持开源项目文档。
-
Liberapay - 一个经常性捐赠平台。
-
FundRequest - 一个用于开源协作的去中心化市场。
-
CanYa - 最近收购了Bountysource,现在是世界上最大的开源 P2P 赏金平台。
-
OpenGift - 一种新的开源货币化模型。
-
Hacken - 一个为黑客准备的白帽代币。
-
Coinlancer - 一个去中心化的工作市场。
-
CodeFund - 一个开源广告平台。
-
IssueHunt - 一个面向开源维护者和贡献者的资助平台。
-
District0x 1Hive - 一个众筹和管理平台。
-
District0x Fixit - github 错误赏金。
这个列表变化多样且增长迅速。 其中一些项目将会消失,另一些项目将会转型,但少数项目将会成为未来的 SourceForge、ASF、GitHub。 这不一定意味着他们会取代这些平台,但他们将使用代币模型对其进行补充,并创建一个更丰富的开源生态系统。 每个项目都可以选择其分发模型(许可证)、治理模型(基金会)和激励模型(代币)。 在所有情况下,这都将为开源世界注入新鲜血液。
未来是开放和去中心化的
-
软件正在吞噬世界。
-
每家公司都是一家软件公司。
-
开源是创新的发生地。
鉴于此,很明显,开源过于重要以至于不能失败,而且太重要而不能被少数人控制或听之任之。 开源是一种对所有人都有价值的共享资源系统,更重要的是,必须对其进行管理。 地球上的每家公司都希望在开源世界中拥有一席之地并发表意见只是时间问题。 不幸的是,我们还没有这样做的工具和习惯。 这样的工具将使任何人都可以表达他们对软件项目的欣赏或无知。 这将在生产者和消费者之间、开发人员和用户之间建立直接且更快的反馈循环。 它将促进创新——由用户需求驱动并通过代币指标表达的创新。
评论已关闭。