導(dǎo)讀
剛剛過去的5月,字節(jié)跳動(dòng)在內(nèi)部郵件中正式官宣了“開源委員會(huì)”的成立。其實(shí),針對開源成立專門的組織機(jī)構(gòu),對國內(nèi)的大廠來說已不是什么稀奇事,比如阿里巴巴早在2015年之前就成立了開源委員會(huì),騰訊在2019年正式成立開源管理辦公室,其他巨頭如華為、百度同樣早就成立了“開源辦公室”。
至于國外的互聯(lián)網(wǎng)巨頭,他們在設(shè)立“開源辦公室”(Open Source Program Office,簡稱 OSPO)上,比上面提到的國內(nèi)大廠還要早,比如,早在 2004 年,谷歌就已經(jīng)成立了自己的OSPO,這也是最早成立的一批OSPO。
跟這些大廠相比,字節(jié)的開源委員會(huì)的到來顯得有點(diǎn)“晚”。
越來越多的公司成立OSPO表明,企業(yè)對開源越來越重視。而且,OSPO正在從IT公司向國外的大學(xué)、政府和民間機(jī)構(gòu)進(jìn)行外溢,OSPO在國外逐漸成為一種潮流。
但是,大部分人對OSPO認(rèn)識(shí)卻又少之又少。根據(jù)The New Stack、linux Foundation Reasearch和TODO(Linux基金會(huì)名下一個(gè)專門致力于普及OSPO的工作組)在去年9月發(fā)布的一項(xiàng)調(diào)查,沒有成立OSPO的企業(yè)中,有35%的企業(yè)表示沒有考慮過這件事,有28%的企業(yè)表示他們沒看到成立OSPO所帶來的商業(yè)價(jià)值,更有19%的企業(yè)表示他們從未聽說過OSPO這個(gè)概念。
所以,我們有必要先弄清楚國內(nèi)大廠設(shè)立OSPO的前因后果,才能對OSPO在我國的發(fā)展,有更客觀深入的認(rèn)識(shí)。
大廠為何紛紛成立“開源辦公室”?
開源運(yùn)動(dòng)興起之初,眾多科技巨頭采取了堅(jiān)決抵制的態(tài)度,比如,據(jù)說當(dāng)初微軟曾禁止員工參與和閱讀開源代碼。究其原因,是大型科技公司與開源社區(qū)之間有著商業(yè)價(jià)值觀層面的差別和沖突。開源倡導(dǎo)開放、共享的模式,對商業(yè)軟件授權(quán)的盈利模式構(gòu)成了挑戰(zhàn):畢竟,傳統(tǒng)軟件公司的成功在于閉源,而開源的軟件是賣不出價(jià)錢的。
但隨著IT界逐漸步入ABC(A指的是人工智能AI,B指的是大數(shù)據(jù)Big data,C指的是云Cloud)時(shí)代,IT公司的商業(yè)模式也發(fā)生了變化,不再像以前那樣單純依靠賣知識(shí)產(chǎn)權(quán)或者是軟件,賣服務(wù)逐漸成為重要的營收來源。賣服務(wù)這種模式牽涉的范圍更廣,這就促使IT公司在標(biāo)準(zhǔn)上要更有主動(dòng)權(quán)。
當(dāng)前的IT界,已經(jīng)不是像過去一樣由很多公司一起成立一個(gè)標(biāo)準(zhǔn)規(guī)范,而是誰先做出來的開源項(xiàng)目被廣泛采用,誰就在標(biāo)準(zhǔn)上更有話語權(quán)。
在51CTO的技術(shù)群里,一位名為“紫竹”的網(wǎng)友也持有這個(gè)觀點(diǎn)。他認(rèn)為,企業(yè)開源是為了成為事實(shí)上的標(biāo)準(zhǔn),掌握了標(biāo)準(zhǔn)話語權(quán),就掌握了市場主動(dòng)權(quán)、主導(dǎo)權(quán)。他還舉了一個(gè)例子來說明這一點(diǎn):谷歌自定義了一個(gè)格式KML,谷歌投資加入了GIS行業(yè)的OGC(開放地理空間信息聯(lián)盟Open Geospatial Consortium的簡稱,是一個(gè)非盈利的國際標(biāo)準(zhǔn)組織,它制定了數(shù)據(jù)和服務(wù)的一系列標(biāo)準(zhǔn),GIS廠商按照這個(gè)標(biāo)準(zhǔn)進(jìn)行開發(fā)可保證空間數(shù)據(jù)的互操作)以后,KML成為了OGC的標(biāo)準(zhǔn)之一,以后的GIS產(chǎn)品幾乎都要實(shí)現(xiàn)對KML格式的支持。如果KML不是OGC的標(biāo)準(zhǔn)之一,那就只有谷歌自己支持這個(gè)標(biāo)準(zhǔn),谷歌地圖、谷歌地球等產(chǎn)品就得不到其他廠商、開發(fā)者的支持。
在國內(nèi),企業(yè)開源還能獲得其他好處。51CTO技術(shù)群里,一位名為“任霏”的網(wǎng)友指出,開源項(xiàng)目可以免費(fèi)使用倉庫、CI/CD、安全掃描、IDE工具等服務(wù),非開源項(xiàng)目就需要花錢。
這是IT巨頭從反對開源到擁抱開源,態(tài)度發(fā)生180度大轉(zhuǎn)彎的一個(gè)重要原因。
更何況,就算企業(yè)自己不做開源,也不能真的阻止員工接觸開源。開發(fā)者參與開源,不光是基于開放、共享的“情懷”,還有一個(gè)相當(dāng)重要的因素,就是他們能在開源中學(xué)到東西。
國外一個(gè)名叫“Macrae”的網(wǎng)友說,他在參與開源以前,從未寫過PHP或HTML/JavaScript,不知道SVN和后來的Git是什么。
阿里巴巴的技術(shù)副總裁賈揚(yáng)清也認(rèn)為,開源是一個(gè)很好的練兵場,開發(fā)者可以通過參與開源鍛煉自己的技術(shù)能力,并且清楚知道自己的能力在什么樣的層次上;另一方面,開源社區(qū)也會(huì)幫助開發(fā)者提高代碼編寫水平、設(shè)計(jì)能力和系統(tǒng)開發(fā)能力,這是一個(gè)雙向促進(jìn)的過程。
雖說企業(yè)做開源可以依靠工程師的個(gè)人興趣來驅(qū)動(dòng),比如阿里巴巴早期的Dubbo、Fastjson、Druid、Sea.js、Arale開源項(xiàng)目,字節(jié)的Rcproxy、Modern.js、CloudWeGo、BytePS、Fedleaner等開源項(xiàng)目,都是靠內(nèi)部員工自發(fā)推動(dòng)的,但僅憑工程師的興趣和熱情是不夠的,不加以規(guī)范和約束往往會(huì)造成問題。
去年10月,抖音前端團(tuán)隊(duì)宣布開源其設(shè)計(jì)系統(tǒng)和UI庫Semi Design,隨后有網(wǎng)友指出Semi Design的代碼中出現(xiàn)了友商同類產(chǎn)品的痕跡,項(xiàng)目陷入“抄襲風(fēng)波”。雖然抖音前端團(tuán)隊(duì)工程師很快發(fā)表了致歉聲明,但事件已經(jīng)在開源社區(qū)引發(fā)熱烈討論。接著到了12月,2021年12 月,抖音的海外版TikTok因?yàn)檫`規(guī)使用 OBS等源代碼,也被推上了輿論的風(fēng)口浪尖。
一系列的事件這讓字節(jié)意識(shí)到,做開源需要引入公司級的策略、規(guī)范和流程機(jī)制,全面地推進(jìn)開源合規(guī)流程,才能避免重蹈覆轍。
另外,隨著公司的規(guī)模越來越大,在有更多項(xiàng)目開源或計(jì)劃開源的情況下,如何更有效地投入資源、更好地支持開源項(xiàng)目的發(fā)展,這也是開源委員會(huì)要達(dá)成的目標(biāo)。
其他大廠成立OSPO的初心也差不多,比如騰訊內(nèi)部成立了開源管理辦公室,下設(shè)項(xiàng)目管理委員會(huì)、騰訊開源聯(lián)盟和開源合規(guī)組三大組織,旨在自上而下地傳遞騰訊開源策略,自下而上地落地開源技術(shù)生態(tài),同時(shí),通過開放的開源評審平臺(tái),孵化和培育優(yōu)秀的自主開源項(xiàng)目。
有了OSPO,開源就萬事大吉了嗎?
大廠成立OSPO,初心是希望建立一套成熟的方法論幫助開發(fā)者更多地參與開源,貢獻(xiàn)開源,并從組織上提供一系列支持與保障,但這不意味著有了OSPO,企業(yè)的開源之路就能順順當(dāng)當(dāng)?shù)亍⒆匀欢坏刈呦氯ァ?/span>
就拿國內(nèi)比較早成立OSPO來說,其在成立了OSPO后相當(dāng)長的一段時(shí)間里,開源之路進(jìn)展緩慢甚至停滯:阿里的第一個(gè)開源項(xiàng)目Dubbo,甚至從2014年之后,兩三年時(shí)間都沒再更新過。這主要是因?yàn)椋谶@前后,阿里巴巴集團(tuán)于紐約證券交易所正式掛牌上市,股票代碼“ BABA ”。隨后,阿里全力發(fā)力移動(dòng)互聯(lián)網(wǎng),各項(xiàng)業(yè)務(wù)進(jìn)入全面發(fā)展階段,同時(shí)阿里也進(jìn)進(jìn)行了組織架構(gòu)的調(diào)整,以便內(nèi)部開發(fā)者能將更多精力投入到業(yè)務(wù)研發(fā)中。
直到2017年,阿里才正式宣布將開源提升到集團(tuán)戰(zhàn)略高度。阿里之所以重新開始重視開源。很重要的一個(gè)原因是——客戶的需要。2017年開始,阿里云的表現(xiàn)強(qiáng)勢,阿里云的一些客戶在上云之前習(xí)慣了使用Dubbo,希望能在使用阿里云之后能繼續(xù)保持,這才讓阿里巴巴在開源層面的聲音越來越多。
從阿里的這個(gè)案例中,我們可以看到,只有企業(yè)的利益和開源有很大的交集,企業(yè)才會(huì)有動(dòng)力持續(xù)推進(jìn)開源項(xiàng)目。
如果只是出于應(yīng)激反應(yīng),只是模糊地覺得開源是未來軟件發(fā)展的趨勢,哪怕成立了OSPO,建立了一套規(guī)范和流程機(jī)制,也不能確保公司的開源不會(huì)流于表面。紅帽公司將那些僅僅將代碼公開到一個(gè)公共倉庫的開源方式戲稱為 “把代碼砸到墻上(throwing code over the wall)”。
當(dāng)然,如果把開源僅僅理解為做技術(shù)宣傳,以吸引人才加入或者搶占市場,也有問題。
也許,云原生計(jì)算基金會(huì)首席運(yùn)營官和Twitter前開源項(xiàng)目負(fù)責(zé)人Chris Aniszczyk曾說過的一句話,才是對企業(yè)開源的最好注解:“你絕不希望是自己開源項(xiàng)目的唯一貢獻(xiàn)者。你是期望讓公司以外的人為你的開源項(xiàng)目做出貢獻(xiàn)的。歸根結(jié)底,你永遠(yuǎn)沒辦法雇傭世界上的所有頂尖人才?!?/span>
換句話說,與外界人才保持溝通才是開源的精髓所在。