开源运动的下一站:区块链
前言:对于开源软件运动来说,区块链是它们的下一站。为什么这么说,作者TalKol说出了他的理由。本文由“蓝狐笔记”公众号社群的“Anthony”翻译。
关于对开源改变了我们世界的争论很少。作为一名软件开发人员,我不记得在过去几年中有哪一天我能不依赖开源软件了。我也不例外,如今,大多数软件工程师在其职业生涯中几乎每天都依赖于开源软件。
首先,开源软件已经是开发人员的主要基础设施。从操作系统(云端的Linux)到数据库(MySQL,MongoDB,Redis),再到编程语言本身(JavaScript,Python,Java,C,PHP)。不仅是开发者,消费者也是如此,从他们手机上运行的系统(Android)到他们访问网络的方式(Chrome,Firefox)都是开源的。
动机很明确。开源对人类发展有利,它使技术更开放且易于访问——任何人都可以在开源的基础设施上构建任何应用。
开源并不总是主流
如果在20年前你随机问一些开发人员,开源软件是否会流行起来,他们会笑的。分享软件知识产权,那你的竞争优势呢?荒诞。它会影响实际业务?勉强,这只是一个利基市场。谁来引领它?
这跟如今人们看待区块链的情况差不多。没有中心机构来维持运行?荒谬。有什么商业用例?这不是主流,这只不过是一小众利基市场。
对区块链来说,实际情况更糟。加密货币泡沫及其衰退,充满了机会主义和过度投机,这些都加剧了普通人的种种怀疑。
开源vs营利性公司
起初,开源和营利性公司似乎是相互排斥的。像微软这样的公司会视开源为敌人。他们认为代码是他们的秘密武器,分享会破坏他们的竞争优势甚至带来垮台。但如今,事实并非如此。
今天开源的最大贡献者是微软,谷歌,IBM和Facebook等这些营利性企业。这些公司正在领导许多最受欢迎的开源项目,如React和TensorFlow。就个人而言,我很幸运能够成为Wix.com公司的一员,并帮助把它从一个“有围墙的花园”带到了2017年全球开源软件贡献者第11名。
为什么这些公司选择开放部分软件知识产权IP呢? 嗯,这并不是因为意识形态,而是因为开源使这些公司更具竞争力。
一个很好的例子是谷歌的Android。由于iPhone颠覆性的发布,早期移动领域由苹果公司主导,谷歌来时已晚,微软也迟到,他们想渗透进来并非易事。
谷歌的战略方面很大程度依赖于开源操作系统Android。谷歌的这个策略得到了回报, Android生态系统的发展成为苹果“封闭花园”的开放式答案,谷歌放弃了靠出售Android许可证挣钱的机会,但获得了更有价值的东西:Android占领了全球四分之一以上人的口袋。
今天关于区块链的争论也非常激烈。营利性公司,尤其是市场领导者,会选择将其业务去中心化吗?
我认为他们会像谷歌一样出于同样的原因这样做。不是因为意识形态,而是因为它会使它们更具竞争力。为了保持其影响力,他们必须使生态系统更加开放,否则,他们的竞争对手将会赢得胜利。
分叉,控制和权力平衡
我们已经看到为什么像Facebook这样的公司会发布像React这样的IP——这个项目改变了Web前端的构建方式。不太清楚的是,为什么其他公司会将Facebook的原生技术用于他们自己的关键业务上。
也许我能够回答这个问题。当我在Wix.com时,有幸参与有关是否将Wix.com网站编辑器建立在React上的辩论。对于以创建网站为生的公司而言,关于编辑器的决策风险,就是冒整个公司生命的风险。
为什么这么说?想象一下,Facebook有一天决定与谷歌竞争网络统治,并发布自己的网络浏览器作为Chrome的替代品,网络的重要部分是基于React的。在这个反乌托邦的未来,Facebook决定让React与Chrome不兼容怎么办? 这一决定可能危及Wix.com的整体业务。
开源治理是成功的,主要是由于分叉的概念。任何人都可以获取任何开源项目的完整源代码,并制作他们控制的副本。如果Facebook让React与谷歌Chrome不兼容,Wix.com可以分叉React并创建一个兼容的版本。如果社区支持Facebook正在维护的这个分支,他们会采用它。在某些时候,更受欢迎的分叉实际上将成为公众眼中正真的“React”。
这种微妙的平衡使Facebook更审慎决策。Facebook可以保持其影响力,只要它不滥用。到哪里算越线了?由共识说了算。
这听起来非常接近区块链治理的工作方式。保证分叉的能力是该技术为其用户提供的核心保证之一。有一点需要注意的是,这种保证在区块链下要强得多。除了系统的源代码之外,你还可以分叉其所有数据。
开源运动的延续
我们在开源软件和区块链之间看到了几个相似之处。无论是选择开放的动机,营利性公司是否适合,还是权力平衡和治理方式都有相似的地方。
这不仅仅是巧合,区块链就是开源软件运动的延续。
开源软件在共享内容方面有明显限制。开源无法打开实时系统,无法开放数据。你可以共享服务器的源代码,但不能共享此服务器的运行实例及数据。
区块链使在开源上更进一步,使其成为可能。
一个具体的例子
我们回到Android吧。我们已经看到了生态系统的价值,它来源于控制操作系统源代码——这一价值使得像三星这样的公司加入并让生态系统更具吸引力。
但Android不仅仅是源代码。生态系统需要许多场景应用服务才能运作。Android依赖于推送通知,依赖于交易付款,依赖于从Google Play上下载的各种各样应用。这些服务都是运行的应用实例,而不仅仅是代码。数十亿用户每天使用它们,产生并拥有数据。
谁在运营这些服务?让我们看看Google Play就知道了,答案不言而喻。谷歌在其私有的基础设施上运行这些服务,而这并不与任何人共享。
让谷歌独自控制Google play的成本是多少? 大家都知道,每位开发者向Google支付30%的费用,以便于用数字方式分发他们的应用。但这只是钱的问题,每位移动开发人员都对应用审批流程感到不安。有人经历了APP应用被拒绝上架以及3次下架。 对分销渠道的绝对控制,而且自身也有产品参与分发,这是不利于竞争的。看看AppStore中Spotify的命运就知道了。
在Android上进行应用商店的竞争怎么样? 这是可能的,亚马逊在构建替代方案方面做得很好。但不幸的是,它们与Google Play几乎没有区别, 这些替代方案无法解决根本问题。
能够像Google Play一样运行这项服务将为Android生态系统带来巨大价值。仅使用开源技术,这种想法在技术上是不可能的。
虽然技术上区块链是可行的, 但说实话,我们不会很快看到这种情况的发生。让社区运营去中心化的Google Play不太实际,这主要是因为商业原因。
相反,我看到了一个不一样的机会。像微软这样的营利性巨头的机会,他们迫切希望在移动领域开辟一些细分市场,构建不完全中心化的应用程序分发渠道,为依赖它的开发人员提供更多保证。这不是因为意识形态,而是因为它会使其更具竞争力 ——至少比Google Play和Amazon Appstore更具竞争力。
区块链将成为主流
历史将证明,拥有多方的系统生态最终都必须为其用户提供一些硬性保障, 不是因为意识形态,而是为了保持竞争力。
这并不意味着每个系统都将在区块链上运行, 就像并不是每个软件都一定是开源的那样,但世界上有一些关键基础部分必须是开放的。就像软件的一些关键部分必须是开源的,大公司才能获得成功。