Twitter 拋棄開源
除了解雇Twitter的大部分技術(shù)人員外,新老板兼首席執(zhí)行官Elon Musk還不再支持Twitter的開源工作。
Elon Musk掌管Twitter后先點起了第一把火:解雇了這家社交網(wǎng)絡公司一半的員工。
這其實為失敗埋下了禍根。
拋開Musk的管理和政策失誤不談,社交網(wǎng)絡需要經(jīng)驗豐富的開發(fā)人員才能闊步前行。
大叫大嚷、聲稱剩余的員工需要“極其硬核”于事無補。
更為雪上加霜的是,Musk還擯棄了Twitter的眾多開源項目。
與幾乎所有的現(xiàn)代軟件公司一樣,Twitter也依賴開源程序。
其網(wǎng)絡本身就運行在CentOS7之上,這個免費的Red Hat Enterprise Linux(RHEL)克隆版將在2024年6月底壽終正寢。
據(jù)Twitter消息人士透露,公司計劃轉(zhuǎn)而改用CentOS Stream?,F(xiàn)在,實際上已經(jīng)沒有人來詳細規(guī)劃這項操作系統(tǒng)遷移工作了,更不用說監(jiān)管了。
但Twitter對開源軟件的依賴絕不僅僅體現(xiàn)在其基礎操作系統(tǒng)上。
正如Twitter前開源項目負責人Will Norris在一次采訪中所說:“我曾與時任Twitter首席執(zhí)行官的Parag Agrawal詳細討論了如何改善Twitter在關(guān)鍵開源項目上的投入?!?/span>
他繼續(xù)說:當我加入Twitter時,已經(jīng)有許多大型的現(xiàn)代化項目在開展當中,這些項目牽涉龐大的開源組件。Pants構(gòu)建系統(tǒng)被Bazel取而代之。當時在開展工作,為最終用Kubernetes取代Apache Aurora和Mesos做準備。而且,我們已經(jīng)是Apache Kafka、Hadoop和Scala的最大用戶之一。我們還有Java虛擬機(JVM)的定制分支版(fork),我們希望最終開放其源代碼。有很多令人贊嘆的工作在進行中,Twitter成功地從那些社區(qū)聘來了非常優(yōu)秀的人,從事這些項目。
卻沒想到今年的形勢會是這樣:-\
首先,Musk開始上演了一會收購Twitter、一會放棄收購的好戲。
正因為如此,Twitter的高管們凍結(jié)了開源計劃和投入,直至看到一條清晰的前進道路。卻不料,Musk解雇了所有高管,隨后很快解雇了大多數(shù)開發(fā)人員。如今,Twitter一半以上的員工不是被解雇就是跳槽。
Norris說:“大多數(shù)在Twitter從事開源工作的關(guān)鍵人員都離開了。所有曾與我一起從事開源工作的工程師都走掉了?!?/span>
Norris認為,這對Twitter意味著:在短期內(nèi),可能沒戲可唱。對于Twitter來說,回到走下面這條路子比較容易:僅僅是開源的消費者,不貢獻任何有意義的代碼。反正很多公司也都是這么做的。它們可以繼續(xù)使用CentOS、Scala、Kafka及其他所有的工具,就像它們過去所做的那樣。至于正在遷移的項目,比如Bazel和Kubernetes,項目停下來可能讓人更痛苦一點,這取決于項目具體所處的狀態(tài)。我認為,所有的重心就是保持服務正常運作,添加Musk想要的任何產(chǎn)品變化。
Twitter當前的員工告訴稱,這就是他們?yōu)楸3止具\轉(zhuǎn)所能做的一切。有人還稱,Twitter之所以推遲推出每月收取8美元的Blue服務,真正原因不僅僅是由于它被冒充品牌和知名用戶賬號的用戶濫用,而是由于開發(fā)人員還沒有想出自動阻止這種濫用的方法。
這并不令人驚訝。之前還沒有誰成功地將社交網(wǎng)絡的內(nèi)容審核實現(xiàn)自動化。很難想象深夜被叫去參加“編寫程序,不然被解雇”的工作會議的開發(fā)人員能解決這個棘手的問題。
從長遠來看,Norris認為Twitter在開源社區(qū)已經(jīng)變得無關(guān)緊要了,淪為了小角色?!癟witter已喪失了作為一家專業(yè)工程組織所擁有的全部信譽,至于它怎么稱呼自己有多‘硬核’,已沒有人關(guān)注。開源社區(qū)建立在關(guān)系和信任的基礎上,而現(xiàn)在Twitter與開源社區(qū)既沒有關(guān)系,也沒有信任。它已喪失了實質(zhì)性參與開源社區(qū)的能力?!?/span>
但是還有一個迫在眉睫的問題:Twitter自家的開源項目。
Norris說:其中許多項目不再得到積極維護(這是Twitter自己的問題),但它們還是頗受歡迎,尤其是在Scala領域(Finagle、Twemoji、Scalding和Algebird)。
?Twitter已落實了一套流程,確保其中一些開源項目(比如Finagle)與時俱進,使用內(nèi)部代碼副本,但這些項目沒有一個是完全自動化的。我非常懷疑是否還有人做這項工作。那么,這些項目的外部用戶(包括ING Bank、Pinterest和SoundCloud等公司)會面臨怎樣的境地呢?
情況很糟糕。
此外,Norris繼續(xù)說:“在https://github.com/twitter上維護項目會很奇怪。這是由于,Twitter有一個內(nèi)部系統(tǒng)來管理其在GitHub上的代碼。它允許Twitter員工注冊自己的GitHub賬戶,以訪問他們的Twitter開源項目。過去常常是這樣子,有人離開公司后,其訪問權(quán)限被保留了下來,但他們的角色從GitHub上Twitter組織的‘成員’變成了‘外部合作者’?!?/span>
但即使在Musk掌舵之前,Twitter有時也并未讓已離開公司的開發(fā)人員退出專有的Twitter GitHub項目。一名員工在2022年8月依然可以訪問Twitter的GitHub和源代碼,要知道他離開Twitter已有整整18個月。
今年早些時候,對Twitter代碼的不當訪問這一情況已得到了緩解,但這項工作一直沒有完成。因此Norris說:“項目的維護者多年前就離開了Twitter,但別有用心的人照樣可以繼續(xù)訪問?!?/span>
當然,那些最近被解雇或辭職的人以及那些“最了解剩余的活躍項目的人幾乎肯定會被刪除訪問權(quán)限。”因此,幾個月前甚至幾年前走人的Twitter前員工很有可能仍然可以訪問代碼,而最近走人的前員工知道誰應該有權(quán)訪問代碼,但已找不到這些人來解決問題了。
至于Twitter自己的開源項目(比如Finagle),Norris并不指望“Twitter會繼續(xù)維護這些項目,至少不會投入與以前一樣大的精力來維護。所以實際上,所有這些項目可能都需要分叉,搬到新家,但這將是一個混亂的過程,可能極具破壞性?!?/span>
就其本質(zhì)而言,開源具有破壞后愈合的功效。不管怎樣,Twitter的開源項目會繼續(xù)下去。但是僅僅作為開源的消費者,而不是積極的開源貢獻者,Twitter本身從其自己的項目中得到的好處將少得多。而同時,在新的體系下,Twitter需要獲得編程方面的所有幫助。