神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者按:马斯克接管 Twitter 的大戏现在愈演愈烈,最近更是因为他封了一批账号而激起网上社区的一片愤慨。众人愤怒的是原本作为公共城市广场的 Twitter,在被有钱人接管后就开始失去了这种属性。有没有办法破解这种“邪恶亿万富翁攻击”?Git 的生态体系可以提供参考。文章来自编译。
埃隆·马斯克对 Twitter 的收购尤其令人难以接受,因为每份关于其内部混乱的报告都在提醒我们,我们可能已经牺牲掉了几十年里发明出来的最有前途的在线交流模式,因为我们没有能够在有机会的时候认清它的本来面目。马斯克的收购从一开始就不应该成为可能,因为 Twitter 永远都不应该被当作资产看。正如创始人 Jack Dorsey 曾经说过的那样,Twitter 是“互联网的公共对话层”,因此在疫情期间一直扮演着事实上的全球警报系统中心的角色。令人惊讶的是,一个人仍然有可能拥有它。这就像拥有电子邮件的感觉一样。
在信息安全领域,有一种所谓的邪恶女佣攻击(Evil maid attack)漏洞,这种漏洞可让不受信任的一方以物理的方式访问重要硬件,比方说,当你离开自己的笔记本电脑时,客房服务人员趁机进入你的酒店房间,从而危及电脑安全。我们这里可以借此打个新的比方,这种攻击同样能够破坏系统,泄露数据。如果你愿意,可以称之为“邪恶亿万富翁攻击”。其武器是金钱,说得更具体一点,当那一刻到来时,你可能没有足够多的钱来改变局面。因为对方是蓄意破坏。
亿万平台
这个策略之所以奏效,是因为大多数有影响力的点子的拥有者都是比你有钱的人,然后只要有可能,他们就会将它们串在一起,形成一个网络,其目的是形成你无法逃避的引力。对于具有细粒度的组件,可用于组合新功能的技术系统,创始人和投资者以及像我这样容易兴奋的科技作者经常会用术语“平台”来形容。推动技术行业的动力源发现,平台尤其具有吸引力,因为比特每次被用到时都可以货币化。
平台比 app 要好,或者理论上是这样的,因为你可以用一个平台开发多个 app,或者让其他的开发者和公司开发 app,你也许可以从中抽取 30% 的佣金。无论 Twitter 具备什么优势,它的崩溃都应该意味着专有平台作为一项严肃的技术任务的终结。这个高调的例子表明,不管代码再怎么强大都无法被信任。对知识产权过于保守的做法先是让东西变成了专有,然后又会变成一种责任,要对损害公司可能创造的一切负责,因为这会让亿万富翁有能力干掉这一切。不管马斯克是不是真的摧毁了 Twitter,他接管Twitter 都是一个值得研究的案例,下一个幻想要建立社交媒体帝国的亿万富翁行动之前得好好看看,东西是怎么被毁掉的。
区块链能够在最深层次上解决这个问题。只要少数用户对继续运营独立节点的反对声足够强,马斯克就很难甚至不可能杀死区块链。区块链会在多台计算机上复制意味着失去访问权限的风险无限小;区块链就是它自己的 API 。当然,这会带来不一样的并发症,但由于敌对一方而彻底丢失信息并不是其中之一。比方说,当 NFT 交易市场 Hic et Nunc 在 2021 年底倒闭时,他们对相同的内容进行重新包装后又重新推出了另一个版本。区块链充当强制可互操作性的共享资源,这几乎就像有机的自卫机制一样。
或者再想想看 WordPress 这个例子,这个早期的博客引擎后来发展成为愈发精致的通用内容管理软件。它现在为大约 40% 的开放 web 提供支持,本身就是开放 web 大致的同义词。围绕着 WordPress,一个庞大的经济体如雨后春笋般涌现出来:开发网站的公司、为这些公司工作的开发者、为自己工作的独立开发者,其中的很多人都在编写可以通过许可费用解锁或扩展的插件。这一切之所以成为可能,是因为其核心是开源的,并且鼓励自己的生态体系也这样做。WordPress 已经有很长一段历史了,其直截了当的 RSS 源最终输给了 Twitter 的社交功能,所以 2022 年有个说法认为它有点过时了,这确实有它的道理。但我们现在必须明白,相对于 Twitter,在技术上 WordPress 取得了更大的成功,就因为它没有处在危险之中(编者注:因为开放的生态体系)。
web 的其余部分甚至比 WordPress 还要安全,因为那是一套别人永远无法据为己有的、强大的开放协议。如果没有 HTTP、FTP 和 TCP/IP 等共享模型,计算机根本无法通信。互联网是建立在互操作性的基础上的——即便是我们现在认为封闭的部分也如此。在不久之前,这就是开发这些东西的全部意义所在。
握手这件事情如果有一方缩手,互操作性就会马上失效,因此下一个要求是全部都得保持在线。“left-pad”引发的短暂混乱已变成一段传奇,一个开发者必须铭记的教训。基本上,大部分 JavaScript 代码不管做什么,最后都要进入一个名为 npm 的代码托管服务,以便其他开发者可以导入和重用这些代码。2016 年,一位工程师出于对 npm 服务背后的公司的不满,一怒之下删掉了自己的一个项目来表示抗议,其实那就是一个简单的文本操作功能的实现,但却引起了整个软件工程行业的连锁反应,因为所有依赖它的代码都失效了,这又导致了依赖的依赖失败,依此类推。这实在是一团糟,糟糕到促使 npm 改变了自己的政策。现在,软件包一经发布到 npm 上,便永远无法删除(编者注:事情是一家叫 kik 的公司发现开发者 Azer 用的一个 npm 封包的名字叫做 kik,想让后者把名字让出来。Azer 不同意,后来 kik 公司的律师就去找 npm,npm 就把 kik 封包的管理权限转让给 kik 公司了。Azer 一怒之下将自己的 273 个封包全部删除,其中就包括 left-pad。这个封包虽然只有 11 行代码,但却被上千个项目用到,其中包括一些很著名的项目,所以产生了很大的影响。)
不过,也许 npm 本身也会完全消失。到 2019 年左右,随着公司获得资金变得越来越难,这个可能性似乎变得越来越可信。我们正在灾难的边缘摇摇欲坠——从小型的 WordPress 商店到大型跨国公司,整个 web 开发行业已经开始将尚未形成稳定财务基础的初创公司当作基础设施。有资源的公司已经开始将每一个已安装包的备份副本存档,以对冲 npm 未来面临的不确定。尽管代码是免费和开源的,但通过运行托管服务的公司访问这些代码却未必有保障。
然后到了 2020 年初,就在那场疫情刚出现的时候,npm 突然被微软收购了,从表面上看,从那以后 npm 一直都运转顺畅。鉴于约两年前微软也收购了 GitHub ,此举很自然。
在推出后的约五年之内,GitHub 就已成为软件开发史上最重要的网站。从本质上来说,这是一个围绕 Git 打造的,基于 Web 的界面。Git 是一种用于管理代码库的独立工具,于 2005 年首次推出,原本是用在 Linux 操作系统上的一种手段,但此后已发展成为几乎所有现代软件开发的标准。 GitHub 显然喜欢开源代码——开源代码是面包和黄油,是网站上展示的主要内容,是它为除了偶尔的企业客户以外的大多数人所做的最重要的一件事情——但 Git 本身亿万资讯,那颗跳动的心脏,则将这种奉献精神带到了新的台阶。
Git 中最具革命性的设计决策之一是“远程”(remote)这个概念,是指存放于其他地方的代码的任何副本——这可以是在你计算机的另一个文件夹内,在服务器上,也可以在 GitHub 上。或者放在 GitHub 的竞争对手上,说到这个——GitLab 是 GitHub 最突出的替代品,而 Keybase 则为自己所有的用户都提供了 remote;你还可以在大多数的服务器和计算机上设置设置自己的私有版,就是步骤麻烦一点。Git 会协调与 remote 的交互(当然 Git 能干的不止这些),任何一个 remote 都没有固有的特权。因此,Git 上的代码库并没有标准的存放位置,所以可以自由地进行重定向来应对威胁。
多年来我一直在用 Git 来开发软件,它深刻影响了我的思想,我已经到了离不开它的地步。不过,第一次将你的代码发送到一个新的 remote 仍然感觉很神奇。只需一条命令,你就可以将多年的工作和千兆字节的代码复制到一台新的主机上,而且所有的上下文、注释、信息、错误和笑话几乎都保留下来。那种感觉就像你聘请了专业的搬运工将你所有的东西都搬到了你的新家,这种感觉我在其他科技产品身上是还很少遇到的。恰好相反——WordPress 的开发者最近报告说,针对用户的出逃,Twitter 的响应方式是明确关闭通过 API 请求导出用户数据的能力。由于信奉自由软件的那帮开发 Linux 的极客的努力,在 Git 生态体系的切换成本实在是太低了,这使得 GitHub 的成功更加引人注目。GitHub 是同类之最的,因为它必须如此。它的产品是建立在这样一个技术栈之上:别想着吃独食,另一家公司随时可以过来吃掉它的午餐。有人甚至可能会提出,如果没有这种机制,这个市场永远别想有真正的自由。
即便在收购了 Twitter 并跌落全球富豪头把交椅之后,马斯克的钱仍足以超过 npm、 GitHub、 GitLab 与 Keybase 的估值之和,而且可以把它们收购下来,并干掉它们。不过,他没法干掉它们所包含的代码库,因为每一个项目都可以迁移到一个新的 remote。Git 的设计从一开始就很明确,不管坏人再怎么有钱也鞭长莫及,而且它将这一强大特性传播到所接触的所有代码之中。Git 不仅仅是是免费和开放的。它的设计方式意味着它永远不会变成其他任何东西。在这一点上,阻止它的唯一方法是开发出一个更好的替代品。
如果你想拿 Git 作为起点来开发替代品,你依然会遇到问题。这是因为 Git 的授权方式是 GNU, 通用公共许可证。这是开源软件项目使用的一种特别激进的许可证,它规定所有下游的工作必须基于同一许可模式公开共享。由于 Git 的源代码本身是开源的,任何人都可以对其进行扩展并创建衍生产品,但将自己的工作当作专有知识产权是违法的。这种产权模式引发了连锁反应:根据该许可发布的免费开源软件往往会制造出更多根据此许可发布的免费开源软件。
这些成功的故事很精彩,但与相比,这些精彩也要黯然失色,是有史以来最伟大的人类知识著作,也是有史以来在 web 上创造出来的最重要的东西。它在最早的日子里经常被嘲笑很荒谬,但现在它已经深深地融入到我们的生活之中——它一直就放在你的口袋里,去酒吧的时候你可以把它拿出来和朋友或约会对象讨论一篇文章。我们把它当作理所当然。它的价值无法量化。不知何故,它也是免费的。
因此,在医学、金融和艺术领域,我们应该努力做出一个在精神上与相当的东西,这个东西应该可以满足本学科的任何要求。数学、烹饪、对已故亲人的回忆。说不定计算机也可以?GitHub 不算,但 Git 可能算。 “共享经济”,现在但凡你想到的任何一个维度都有一层专业人士的存在,涌现出大量模仿拼车公司的初创公司:这个的 Uber , 那个的 Uber。Uber 变成了一个关键语。够了。现在已经没人在乎了。去做一个 XX 的吧。
开源软件一直被这样一个模糊的概念所推动着,那就是开源可以改善普通人的生活,展示和分享你的工作所产生的影响或更高阶的协作,会引出更好的项目、更成功的公司、更雄心勃勃的想法、更美好的未来。如果我们都站在巨人的肩膀上,那么我们当中的一些人会发现点什么的。好吧,当然了,这是一个乌托邦式的愿景,我们都可以多用一点的,尤其是经历了最近发生的事件之后。针对 Twitter 的动荡,Dorsey 上周反思总结道:“当时对于上市公司本身来说,我们做了对的事情,但对于互联网和社会来说,我们的所为是不对的。”当然了,这里面存在紧张关系需要解决。但我还要更进一步:在一个充斥着无聊的亿万富翁的世界里,缺乏开放访问会变成一种生存危机,这种危机有可能突然之间将其全部消灭。
几十年来,技术对成功的衡量标准包括融资轮次、公司估值、潜在市场、活跃用户、下载量,以及当然还有股价等。但这些都是资本主义的单位。如果你选择进一步逼问下去的话,平台也算,因为平台就是金钱。谁在乎呢?我们都已经知道这是怎么回事了。
资本可以干掉代码。资本可以杀死任何东西。所以如果你创造的东西很重要的话,那么只要亿万富翁还存在,你就得把它变成用金钱买不到的东西。无法被扼杀的想法比可以被扼杀的想法更有价值,唯一就算砸几十亿美元也杀不死的,是没有价格标签的东西,因为不花钱就可以大量存在,在这个世界传播的过程中无休止地进行复制。
好消息是,只要时间足够,我们所需要的更好、更强大、更有弹性的世界终究会到来,因为基础已经打好了。 Twitter 最终也许不会崩溃,就算崩溃,ActivityPub、 Bluesky、Mastodon 和令人怀念的 RSS 源都在等待收拾残局。才华横溢的人会用 JavaScript 创造出令人惊叹的东西,将它们保存到 GitLab remote,并发布到 npm 上。有的已经开始行动了。这就是为什么马斯克治下的 Twitter 即便在最坏的情况下也不会对全球的沟通造成彻底灾难。我们会没事的,因为所有的东西都已经摆好了。我们会没事的,因为我们在把 Twitter 当作一个平台时所犯的错误并不是上一次在上一代技术上犯的,Twitter 是用这些技术开发的,那些我们应该努力再次效仿的技术。我们会没事的,特别是因为我们还有 web。