除了解雇Twitter的大部分技术人员外,新老板兼首席执行官Elon Musk还不再支持Twitter的开源工作。
Elon Musk掌管Twitter后先点起了第一把火:解雇了这家社交网络公司一半的员工。
这其实为失败埋下了祸根。
抛开Musk的管理和政策失误不谈,社交网络需要经验丰富的开发人员才能阔步前行。
大叫大嚷、声称剩余的员工需要“极其硬核”于事无补。
更为雪上加霜的是,Musk还摈弃了Twitter的众多开源项目。
与几乎所有的现代软件公司一样,Twitter也依赖开源程序。
其网络本身就运行在CentOS7之上,这个免费的Red Hat Enterprise Linux(RHEL)克隆版将在2024年6月底寿终正寝。
据Twitter消息人士透露,公司计划转而改用CentOS Stream。现在,实际上已经没有人来详细规划这项操作系统迁移工作了,更不用说监管了。
但Twitter对开源软件的依赖绝不仅仅体现在其基础操作系统上。
正如Twitter前开源项目负责人Will Norris在一次采访中所说:“我曾与时任Twitter首席执行官的Parag Agrawal详细讨论了如何改善Twitter在关键开源项目上的投入。”
他继续说:当我加入Twitter时,已经有许多大型的现代化项目在开展当中,这些项目牵涉庞大的开源组件。Pants构建系统被Bazel取而代之。当时在开展工作,为最终用Kubernetes取代Apache Aurora和Mesos做准备。而且,我们已经是Apache Kafka、Hadoop和Scala的最大用户之一。我们还有Java虚拟机(JVM)的定制分支版(fork),我们希望最终开放其源代码。有很多令人赞叹的工作在进行中,Twitter成功地从那些社区聘来了非常优秀的人,从事这些项目。
却没想到今年的形势会是这样:-\
首先,Musk开始上演了一会收购Twitter、一会放弃收购的好戏。
正因为如此,Twitter的高管们冻结了开源计划和投入,直至看到一条清晰的前进道路。却不料,Musk解雇了所有高管,随后很快解雇了大多数开发人员。如今,Twitter一半以上的员工不是被解雇就是跳槽。
Norris说:“大多数在Twitter从事开源工作的关键人员都离开了。所有曾与我一起从事开源工作的工程师都走掉了。”
Norris认为,这对Twitter意味着:在短期内,可能没戏可唱。对于Twitter来说,回到走下面这条路子比较容易:仅仅是开源的消费者,不贡献任何有意义的代码。反正很多公司也都是这么做的。它们可以继续使用CentOS、Scala、Kafka及其他所有的工具,就像它们过去所做的那样。至于正在迁移的项目,比如Bazel和Kubernetes,项目停下来可能让人更痛苦一点,这取决于项目具体所处的状态。我认为,所有的重心就是保持服务正常运作,添加Musk想要的任何产品变化。
Twitter当前的员工告诉称,这就是他们为保持公司运转所能做的一切。有人还称,Twitter之所以推迟推出每月收取8美元的Blue服务,真正原因不仅仅是由于它被冒充品牌和知名用户账号的用户滥用,而是由于开发人员还没有想出自动阻止这种滥用的方法。
这并不令人惊讶。之前还没有谁成功地将社交网络的内容审核实现自动化。很难想象深夜被叫去参加“编写程序,不然被解雇”的工作会议的开发人员能解决这个棘手的问题。
从长远来看,Norris认为Twitter在开源社区已经变得无关紧要了,沦为了小角色。“Twitter已丧失了作为一家专业工程组织所拥有的全部信誉,至于它怎么称呼自己有多‘硬核’,已没有人关注。开源社区建立在关系和信任的基础上,而现在Twitter与开源社区既没有关系,也没有信任。它已丧失了实质性参与开源社区的能力。”
但是还有一个迫在眉睫的问题:Twitter自家的开源项目。
Norris说:其中许多项目不再得到积极维护(这是Twitter自己的问题),但它们还是颇受欢迎,尤其是在Scala领域(Finagle、Twemoji、Scalding和Algebird)。
Twitter已落实了一套流程,确保其中一些开源项目(比如Finagle)与时俱进,使用内部代码副本,但这些项目没有一个是完全自动化的。我非常怀疑是否还有人做这项工作。那么,这些项目的外部用户(包括ING Bank、Pinterest和SoundCloud等公司)会面临怎样的境地呢?
情况很糟糕。
此外,Norris继续说:“在https://github.com/twitter上维护项目会很奇怪。这是由于,Twitter有一个内部系统来管理其在GitHub上的代码。它允许Twitter员工注册自己的GitHub账户,以访问他们的Twitter开源项目。过去常常是这样子,有人离开公司后,其访问权限被保留了下来,但他们的角色从GitHub上Twitter组织的‘成员’变成了‘外部合作者’。”
但即使在Musk掌舵之前,Twitter有时也并未让已离开公司的开发人员退出专有的Twitter GitHub项目。一名员工在2022年8月依然可以访问Twitter的GitHub和源代码,要知道他离开Twitter已有整整18个月。
今年早些时候,对Twitter代码的不当访问这一情况已得到了缓解,但这项工作一直没有完成。因此Norris说:“项目的维护者多年前就离开了Twitter,但别有用心的人照样可以继续访问。”
当然,那些最近被解雇或辞职的人以及那些“最了解剩余的活跃项目的人几乎肯定会被删除访问权限。”因此,几个月前甚至几年前走人的Twitter前员工很有可能仍然可以访问代码,而最近走人的前员工知道谁应该有权访问代码,但已找不到这些人来解决问题了。
至于Twitter自己的开源项目(比如Finagle),Norris并不指望“Twitter会继续维护这些项目,至少不会投入与以前一样大的精力来维护。所以实际上,所有这些项目可能都需要分叉,搬到新家,但这将是一个混乱的过程,可能极具破坏性。”
就其本质而言,开源具有破坏后愈合的功效。不管怎样,Twitter的开源项目会继续下去。但是仅仅作为开源的消费者,而不是积极的开源贡献者,Twitter本身从其自己的项目中得到的好处将少得多。而同时,在新的体系下,Twitter需要获得编程方面的所有帮助。