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