开源改变了我们的世界,这是不争的事实。作为一名开发人员,我不记得在过去几年中有哪一天不依赖开源软件。我也不例外,如今大多数软件工程师在其职业生涯中的每一天都依赖于开源。首先,开源已经成为开发者基础设施的主流。从操作系统(云端的Linux),到数据库(MySQL、MongoDB、Redis),再到编程语言本身(JavaScript、Python、Java、C、PHP)。开源不仅有利于开发者,也有利于消费者,从他们手机上运行的内容(Android)到他们访问网络的方式(Chrome、Firefox)。结论很明确:开源对人类有益,因为它使技术更容易获得和开放——任何人都可以构建任何东西。开源并不总是主流20年前你随便问一个开发者开源的想法是否会流行,他们会笑得像猪一样:共享知识产权以获得竞争优势有什么意义?荒谬的!它会帮助真正的企业吗?勉强,也就是一个利基市场。领导它的人?无政府主义者当然准备炸毁这个机构。这类似于今天区块链遭遇的冷眼:交出控制权去中心化?荒诞!业务用例在哪里?不是主流,只是一个小众市场。领导的人呢?无政府主义者,试图消灭当权派。事实上,今天区块链面临的情况比当年的开源运动还要糟糕。加密货币泡沫的破灭以及机会主义和过度投机的猖獗,加剧了人们对“躺枪”区块链的质疑。开源公司和营利性公司最初,开源公司和营利性公司似乎相互排斥。像微软这样的公司一直被誉为开源的敌人,比尔盖茨也曾公开嘲笑开源软件。公司认为代码是他们的秘密,共享它会给公司带来厄运或破坏他们的竞争优势。今天,情况并非如此。当今开源的最大贡献者是营利性企业,例如Microsoft、Google、IBM和Facebook。这些公司领导着许多最受欢迎的项目,例如React和TensorFlow。就个人而言,我很幸运能成为像Wix.com这样的公司的一员,并帮助它从围墙花园上升到2017年全球开源贡献者名单的第11位。为什么这些公司选择开放部分IP?好吧,这当然不是因为意识形态,而是开源让这些公司更具竞争力。一个很好的例子是谷歌和安卓。由于革命性的iPhone的推出,谷歌在苹果主导的移动领域完全落后。微软就更晚了(技术起步早,产品追赶晚),虽然微软在操作系统宝座上的停留时间比谷歌和苹果加起来还要长,但在新兴的移动领域却寸步难行市场。谷歌战略的核心是开源操作系统Android。如果不是安卓的开源特性,像三星这样的厂商很难入伙——在一个无法控制、受制于人的封闭生态系统上建立核心业务是不可想象的。谷歌的策略得到了回报,Android的开放生态系统已经超越了苹果的封闭花园。谷歌放弃了销售软件的许可收益,但得到了更有价值的回报:进入了地球上超过四分之一人口的口袋。今天关于区块链的类似辩论正在进行。为什么营利性公司,尤其是市场领导者,会选择分散部分业务?他们的权力地位不是来自中央集权吗?我认为它类似于开源战略,不是因为意识形态或感情,而是因为区块链和去中心化会让他们(在未来)更具竞争力。为了保持影响力,巨头们必须让生态系统更加开放。否则,最后获胜的,将是他们的竞争对手。分叉、控制和权力平衡我们已经看到为什么像Facebook这样的公司发布像React这样的IP——一个改变了Web前端开发方式的项目。很少有人能够理解为什么其他公司将Facebook的原生技术用于他们自己的关键业务路径。我很幸运能坐在前排。当我在Wix.com时,我参与了关于是否在React上构建Wix.com站点编辑器的争论。对于一家以做网站为生的公司来说,编辑的风险威胁着整个公司的生命线。想象一下,有一天Facebook决定与谷歌竞争网络统治地位,并发布自己的网络浏览器作为Chrome的替代品。网络的很大一部分是基于React的。如果在这个反乌托邦的未来,Facebook决定让React与Chrome不兼容怎么办?该决定可能危及Wix.com的业务。开源治理的成功主要归功于分叉的概念。任何人都可以获得任何开源项目的完整源代码,并一键复制他们控制的副本。如果Facebook使React与GoogleChrome不兼容,Wix.com可以分叉React并创建兼容版本。如果社区支持Facebook正在维护的这个分支,他们就会采用它。在某些时候,更受欢迎的分叉实际上将是公众眼中那对的“React”。这种微妙的平衡使Facebook处于受控状态。只要不被滥用,Facebook就可以保持其影响力。矿池的边界在哪里?共识说了算。这听起来非常接近区块链治理的工作方式。同样,保证分叉的能力是区块链为其用户提供的核心保证之一。需要注意的是,这种保证在区块链领域更为可靠和彻底。除了系统的源代码之外,您还可以分叉其所有数据。开源运动的延续我们看到开源和区块链之间有许多相似之处。两者的早期发展呈现出共同特点,动力来自于开放。我们已经看到了同样的问题,即营利性公司是否适合(参与和领导)。我们已经看到了相同的治理和权力平衡。我不认为这只是巧合。我认为区块链将接过开源运动的旗帜并继续下去。开源的共享属性有很大的局限性:开源不能开放实时系统,不能开放自己的数据。您可以共享服务器的源代码,但不能共享服务器的运行实例。区块链使技术进化成为可能。一个具体的例子让我们回到Android。我们已经看到了生态系统从控制操作系统的源代码中获得的价值,这吸引了像三星这样的公司加入并使生态系统具有吸引力。但Android不仅仅是源代码。生态系统需要许多生命服务才能发挥作用。Android依赖于推送通知,它依赖于支付,它依赖于从GooglePlay下载的应用程序。这些服务是运行实例,而不仅仅是代码。每天有数十亿用户查询它们。他们持有数据。谁在运行这些服务?就GooglePlay而言,答案不言而喻。谷歌在私有基础设施上运行这些服务,不会与任何人共享。让谷歌单独控制GooglePlay需要多少钱?首先,每个开发人员向Google支付30%的费用以数字方式分发他们的应用程序。但这只是钱的问题。每个移动开发人员都对应用程序审批流程感到不安。不幸的是遇到了应用程序被拒绝或3次违反暂停政策的情况。一家企业垄断某一类产品的分销渠道,同时在该渠道销售自己的产品,显然不利于竞争。有兴趣的话,也可以去隔壁的苹果店看看Spotify是怎么回事。在Android上开发类似GooglePlay的应用程序商店怎么样?你可以这样做(Apple不允许这样做),而且亚马逊在开发GooglePlay的替代市场方面做得很好。不幸的是,这些替代方案并没有解决根本问题,而且与GooglePlay本质上是一样的。尝试像GooglePlay一样运行这项服务将为Android生态系统带来巨大的价值,这是仅靠开源技术无法实现的。区块链是这个难题的答案,在以后的文章中,我将介绍一个概念验证解决方案。但老实说,实际上我们不会很快看到这种解决方案。因为从今天的商业逻辑来看,GooglePlay由一个去中心化的社区来运营,暂时不太现实。但更现实的机会是:像微软这样的营利性巨头正在磨刀霍霍,为移动互联网开辟一个利基市场。微软将开发一个不那么集中的应用分发渠道,为开发者提供更多保障。这不是意识形态的竞争,而是因为去中心化让产品更有竞争力——至少比GooglePlay和AmazonAppstore更有竞争力。区块链将成为主流我相信历史会证明,每一个多方系统最终都必须为其用户提供一些硬性的和快速的保证。不是迷恋意识形态,而是保持竞争力。这并不意味着每个系统都将在区块链上运行。就像不是每个软件都必须是开源的一样。但世界上一些关键地区必须开放。就像软件的一些关键部分必须开源,公司才能成功。
