—— 完 ——
“作業系統的「冷板凳」要坐多久?”萬字長文解讀16年開源人的堅持
編者按:想知道核心研發是怎樣的體驗?作業系統的“冷板凳”得坐多久才有春天?近日,
開源社理事莊表偉對話龍蜥社群理事長馬濤,暢所欲言聊開源,他們會擦出什麼思維碰撞呢?一起來看看那些開源潤物細無聲背後的故事以及龍蜥社群運營的道法術。
Part 1:高門檻的 Linux 核心研發,如何支稜起來?
莊表偉:首先想聽馬濤聊一聊自己的開源故事,介紹一下您最初是怎麼和開源結緣的?
馬濤:我是在 2006 年加入 Oracle 的,在 Oracle 之前是在 IBM 工作,那會兒其實不是做開源,但對 Linux 還是挺感興趣,所以後面 Oracle 剛在中國成立一個做作業系統/做核心的團隊,我就去參加了這個專案。剛去的時候,我的主管問我說你想幹什麼。由於我之前從來沒做過開源,基礎比較薄弱,就選擇了做測試。可以認為最早我是從 Linux 測試開始幹起的。過了大概四五個月後我就發現,好像我也可以做作業系統,核心也可以,然後就去做了開源。發現開源和測試一樣,都要和研發人員交流。做了就發現,做核心開發的老外們都挺 nice 的,在溝通上、交流上都挺好。接觸了後發現, 開源真的是一件很有意思的事情。
我剛加入 Oracle 的時候有兩個 mentor,其中一個 mentor 是老外,我個人覺得他是我的入門導師。從他身上我感覺到兩點,讓我對開源或者說對開源的這些人有一個初步的認識: 第一個就是做開源的人,因為大家都是從零開始做起來的, 所以他們對於這些剛加入做開源的人都是非常 nice,會提供各種各樣無私的幫助。 這個其實對我後面帶一些新同學做開源有潛移默化的影響。
另一個就是我覺得剛加入核心這個大家庭的時候,Linux 核心都是通過郵件列表來做開發的。當你提一個 patch 到開源社群的時候,開源社群的資深開發人員都會對你的 patch 做詳細 review,然後給你很多意見。雖然說你是一個入門的新人,你的 patch 也很 junior,但是他們都會很認真地 review 後給你一些意見,比如patch 應該怎麼寫、應該注意哪些格式問題等等。 給我的第一感覺是整個開源對新入門的小白非常友好,第二是像一個大家庭。
給大家講一個小笑話,我一開始做測試的時候,對於做開發還是沒什麼信心的,內心挺慌的。就因為特別慌,所以給 Linux 核心做第一個貢獻(是很小的貢獻),提交 patch 的時候,把自己的名字都寫錯了。當時是用英文的,所以我應該是“Tao Ma”,一慌就寫成了“Tao Mao”。
莊表偉:最初社群裡他們給您很多的反饋,那麼通常來說會是哪些方面的反饋?
馬濤:各種的都有。我說一下 Linux 核心研發的流程是什麼樣的,還有對新手是怎麼提供幫助的。
一般情況下對於核心開發者來說,會從最早最簡單的一些問題開始。Linux 核心有一個專門針對新手學習的網站(見文末) ,它裡面會有適合新手看的一些文章。另外,當你真正進入核心研發的時候,一般情況下會提一個 RFC(Requestforchanges/comments),先把你的 idea 提給社群。比如,你覺得核心裡某個模組、某個東西需要一些變化。
我認為核心是一個合作非常緊密的組織,核心程式碼有幾千萬行,它是分了不同的 maintainer,Linus 肯定是最大的 maintainer,下面分了很多級,每一級都有自己的 maintainer。比如說你想提一個 feature,你就找到這個 feature 所對應的組織,然後提個 RFC,接著這個小組的 maintainer 或者資深開發者就會給你提個 comments,會給你一個非常詳細的解釋。如果這個 maintainer 覺得你提出的是非常好的問題,那麼基本上你就可以開始幹了。
在很多情況下,當你提了一個 RFC 以後,相當於這個坑就被你佔了,後續就可以不停地提交 patch。當你提交第一版 patch 的時候, maintainer 會 review,會給你些參考意見。一般最開始要求非常嚴格,從最簡單的格式上有無問題,一行程式碼開頭不能有空格、必須用 tab 鍵開頭、一行的長度不能大於 80(最早)。再比如說,一個函式命名的時候要怎麼寫引數格式、哪個地方要空格、哪個地方不能有空格、等號之間要空格等等。
核心幾千萬行程式碼,如果沒有非常嚴格的要求,大家可讀性就很差,所以 coding style 是要嚴 格要求的。 從最簡單的 coding style 開始就會給你提建議,再到後面程式碼設計的邏輯、錯誤處理有沒有問題、結構上有沒有問題,包括你對其他模組的修改會不會產生一些問題,都是非常非常詳細的。
我有一個 patchset 大概寫了二十多版最後才提交進去的,每次提上去 maintainer 都會給你反饋意見,最後我都麻木了。其實我這還不多的,我還看見還有發四、五十版的,所以 Linux 核心整個研發機制還是非常嚴格的,包括 對程式碼 要求、對 工程質量把控 。 所以我覺得這個經歷對自己的 鍛鍊 是非常 非常 大的。 從事 Linux 核心研發,每一行程式碼都凝聚了很多心血。
莊表偉:像您剛才描述 Linux 核心社群或者很多的開源社群,它相當於有一個非常好的培訓機制。一個小白、一個學生甚至是一個愛好者,他只要膽子夠大,敢開始提第一個 patch,就會有人來幫助他變得更好。但是為什麼還是有很多人都不敢去幹這件事情?
馬濤:Linux 核心社群確實有非常好的培訓機制。 為什麼很多人不敢去幹這件事,我覺得是兩個方面: 第一個就是整個 Linux 核心程式碼太龐大了,對於一個新手來說,他可能會無所適從,不知道該從哪兒找到一個合適的切入點。雖然 kernelnewbies 網站上是列了一些東西,但對於新手還不是很友好,因為學習曲線太陡峭了。
第二,大部分人肯定都在歐洲和北美,尤其北美居多。很多情況下你發個郵件很可能就要等晚上或者第二天才回。另外就是,對新人雖然比較 nice,但是他們對程式碼要求會很嚴格。如果你不夠堅定,可能你發了二十多版都進不去,你就放棄了,從入門到放棄可能就幾天的功夫。
Part 2: 雲的普及,重新定義作業系統的發展
莊表偉:龍蜥社群是從哪年開始的?
馬濤:2019 年就在醞釀這個事,2020 年年底開始的,正式對外宣佈是在 2021 年雲棲大會。
龍蜥社群第一是希望能夠跟別的廠商、公司一起來做這個事情,我們有一些提問題的群,我們能知道使用者的反饋,也能夠幫助中國的其他企業的開發者有所成長。
(圖/ 龍蜥作業系統首次亮相雲棲大會)
當然更多的考慮是怎麼把這個開源運營好,讓更多人用起來。在中國作業系統開發人員裡面能夠普及起來,我覺得這是真正的一個良性迴圈。過去可能就三、五個人或者十幾個人可以搞開源。但現在我們如果真的想把整個開源做起來,就要有很多配套,比如,去跟高校合作、企業合作、開發者合作等。
莊表偉:我相信觀眾也會對龍蜥有更多的好奇,就龍蜥作業系統和其他基於 Linux 來做開發的作業系統有些什麼樣的區別?它的目標是什麼?
馬濤:我個人在阿里已經 11 年了,經常放在口頭的一句話就是“客戶第一”。我做龍蜥社群,需要思考的是——我到底想解決什麼樣的客戶問題,如果是不解決客戶的任何問題,瞎做或者就為了開源而做開源,其實長久不了的。
短期內,CentOS 停服是我們客戶面臨的非常迫切的問題。CentOS 8 於 2021 年 12 月底就已經停服了,CentOS 7 宣佈在 2024 年停服,留給我們的時間很短很短。那在停服過程中會有什麼問題?就是沒有任何技術支援了。國內現在有大量的使用者都在CentOS 7、CentOS 8 上。 最簡單、最基本地解決他們的生存問題,是龍蜥社群短期之內要做的事。
長期來看,替代後得有進步,在考慮客戶需求或者燃眉之急以後,我們未來會嘗試解決一些自主可控的問題。雖然說現在相對來說力量比較薄弱,但還是非常有機會的。因為都看到了這個問題,也在積蓄自己的 力量,包括集合社群所有合作伙伴力量。
希望未來的作業系統應該長什麼樣子?我們會打造一個什麼樣的作業系統?我還想補充一點,就是在雲端計算這個領域,阿里雲也是做了很多工作,計算、儲存、網路、安全等領域的技術能力都是排第一的。 既然在雲端計算領域裡面做到了技術能力的領先, 那如果我們能夠把雲的這些能力賦予到作業系統裡面,讓作業系統變得不一樣,其實是有可能幫助我們在未來顛覆掉整個作業系統的設計和規劃的。
如果說我們沿著 Linux 老路走,在積累上會比國外差距偏大,這個是事實,我們也不否認。但是隨著雲的普及,我們有機會重新定義。即使我們還是用 Linux,但我 們嘗試重新去規劃這個作業系統的發展未來,我個人是有信心的。這也是為什麼我覺得還是可以做一些事情,也算是時代給了我們一個機會。
莊表偉:當我們去運營一個開源社群的時候,我們會以什麼樣的方式去運營?是把對方當成是社群的一份子,還是把他當成是客戶?您在運營的時候會如何去看待這些社群裡的成員、參與者、貢獻者和愛好者?
馬濤:社群裡的角色還是挺多的。有使用者,會提一些問題,包括怎麼安裝、出了問題怎麼修或者提一些 bug 之類的;也有一些合作開發者,想增加一些 feature、想做一些功能;還有高校一些學生,包括一些高校老師。
我個人覺得有兩點:第一點,“客戶第一”本身不存在一個非常衝突的關係,不管他的角色、身份,我們會籠統認為他是某種程度的客戶。但如果說一定要細分,使用產品的肯定是我們的第一客戶,這個是我們要明確的。開發者、學生、興趣愛好者,是第二客戶。為什麼要區分第一客戶、第二客戶?因為當他們的觀點或者意見發生衝突的時候,有一個法則約束,我們要遵循最終客戶。如果說沒有衝突的時候,需要都服務好他們。第二,龍蜥實驗室的成立是希望大家能夠用得更好,同時能夠讓大家更好地參與社群。我覺得本身做作業系統和其他的開源軟體不一樣的點是,或多或少都會用到作業系統,所以理論上來說,都是我的客戶,或者未來可能都是我的客戶。
(圖/龍蜥實驗室首頁)
莊表偉:我們會講一個客戶滿意度,這些都是做客戶的思維。如果是做社群,我們經常會強調社群的歸屬感。您會怎麼理解滿意度和歸屬感之間的區別或者聯絡?
馬濤:我覺得可以拿我自己來類比,我就講我自己怎麼獲得社群歸屬感。還是在 Oracle 的那段經歷,我那會兒在 Oracle 開發的是一個叢集檔案系統,我有 Oracle 的客戶,他就是用這個叢集檔案系統的。個人認為對於一個開發者來說,他獲得歸屬感的這個滿足感要遠遠大於他滿足客戶的這個滿足感。
莊表偉:如果我們不僅僅是做市場運營,而是在做一個開源社群的話,可能歸屬感要比滿意度更重要。我們提到 Apache,會說 Community over Code,其實也是在說社群有一種凝聚力,有一種氛圍感,才能夠更好地產生高質量的、能夠讓使用者滿意的社群。
馬濤:如果社群想蓬勃發展起來,社群的歸屬感,包括所有參與開發人員的榮譽感等感覺其實很重要,這會讓人不自覺地把所有的業餘時間都花進去,還樂此不疲。
莊表偉:龍蜥社群裡面的人大概是一個什麼樣的組成?他們的活躍度、參與感、貢獻情況怎麼樣?
馬濤:龍蜥社群的開發者分兩類,一類就是公司型的,比如來自龍芯、Intel、阿里、移動、統信軟體等公司的開發者,他們貢獻偏多;還有一類就是業餘的開發者,可能因為時間少、技能偏弱,導致貢獻偏少一點。
現在社群裡主要參與者以廠商偏多,個人開發者有一部分,高校學生可能興趣偏多一點。對於一些有工作的人來說,如果沒有一個公司來支援他的工作,其實很難長期的。
今年社群也會舉辦更多活動,讓學生們、業餘開發者能夠更好地融入進來。我自身的經歷是,當個人興趣或者熱情被激發出來,這些人在社群會發揮很大很大的作用。這是龍蜥社群努力的一個方向,也是社群長期發展的一個非常核心的動力。
莊表偉:前面您在講到個人經歷的時候說,要想在作業系統核心社群能夠參與開發,學習曲線是非常陡峭的,所以很多學生尤其是初學者都會望而卻步。那麼龍蜥社群在這方面有沒有嘗試著做出一些努力來幫助別人降低這種陡峭的學習曲線?
馬濤:我們確實在做這方面的嘗試。核心為什麼學習曲線陡峭,因為它本身程式碼行數很大,涉及的模組特別多,如果對於一個完全不懂的門外漢來說,要接觸的概念就非常多,包括記憶體管理、程式排程、儲存管理、網路,而且程式碼與程式碼之間是藕斷絲連的關係。這些對於新手來說真的是非常困難,尤其你今天看,明天可能就會忘掉。
所以從我入門的經驗來看,是想先設計一些簡單的任務,讓初學者先做。怎麼定義簡單呢?我們會把作業系統拆分成各個模組,並對模組裡面一些非常小的功能寫非常明確的 guide(指導意見)給開發者,然後讓開發者慢慢加入龍蜥共建。
做 Linux 核心社群還有一個好處。就是當你的 patch 進入到 Linux 核心主線的時候,相當於你的名字就進去了,你就會成為整個 Linux 核心的開發人員,你的名字也會出現在各個 Commit Log 裡面。這對於開發人員來說,還是一個可以“吹牛”的地方。
我們能做的就是幫開發者搭一個梯子,讓他們更容易去做這個事情。 因為對於一個新手來說,沒有人搭梯子還是很難。
莊表偉:龍蜥社群有和高校老師或者是學校合作作業系統的課程嗎?
馬濤:有和高校的合作。第一個是清華大學陳渝老師,他也是做作業系統的,之前有一個面向全國高校的作業系統大賽,龍蜥社群出了一些作業系統相關的題目,希望培養他們對於作業系統的興趣。
另外就是和北大合作,龍蜥走進北大課堂,在北大軟體與微電子學院面向研究生同學們開了一門精品課程,講授怎麼做作業系統裡面的一些核心元件等。
(圖/龍蜥社群走進北大課堂)
我們還參與了教育部產學合作協同育人計劃,這個較前兩個更寬泛一點。我們會跟高校老師一起合作,比如寫一些教材、做一些實驗等。我個人覺得,作業系統的書很多的,我們缺的是實驗作業系統怎麼去動手,讓他們去提交 patch 也好、發補丁也好或者是給核心做優化,這是比較重要的。龍蜥實驗室就是方便開發者實際動手操作,希望更多人能用起來。
莊表偉:我覺得這件事情大家都知道要費很大的力氣來做,而且需要做很長線的工作才有可能培養出一點作業系統的人才來。那現在的大學生最關注的開源技術領域可能還不是作業系統,龍蜥社群有什麼辦法把這種作業系統的價值或者說誘惑力給它表現出來呢?
馬濤:作業系統我覺得最重要是搭個梯子、讓大家都更容易地能做這個事。如果有這個梯子,我個人覺得很多人會願意做。
本身對於整個高校的學生來說,做作業系統的人相對會偏少一點,這個我不否認。但是我想說,現在畢竟不像很久以前了,你做個系統可能都不一定找到工作,這樣全中國想做作業系統的人或者願意做作業系統的公司也沒幾個。現在全國做作業系統的公司很多,阿里、華為、騰訊、百度,還有包括很多網際網路公司,包括 OPPO、vivo、小米。所以整個行業對大學生有潛移默化的影響,既能夠給他們提供一個梯子,又能夠在就業上有很多保障,慢慢地,這個情況會扭轉過來。做作業系統,有幾萬人已經很不錯了。
Part 3: 高質量發展助力生態繁榮
莊表偉:從龍蜥的角度出發,如何去理解生態,怎麼才能夠稱生態是繁榮的、成功的?
馬濤:這個問題真的是一直在思考。其實我們做 Linux 作業系統的,肯定就看 Linux 核心。每年 Linux 核心的補丁數排名前面的有各種各樣的公司,Intel、Google、Facebook 等都在做 Linux 核心,最核心一點就是所有參與開源社群做研發的公司,一定要有適合他公司的商業模式在裡面。
因為看 Linux 核心的奉獻者列表,排名前十的基本上都是各大公司,可能到排十幾二十的時候會有一個 hobbyist。有 hobbyist 是很好的一件事,但是更重要的是需要頭部的這些公司能夠為這個社群做很大的貢獻。這些大公司參與社群,他們願意投幾百甚至幾千個人,我覺得這是這個社群存在的一個非常重要的意義。
社群要幫助參與進來的企業找到一個非常合理的商業模式,才是社群能夠良性發展最核心的一點。我個人認為,做好以下兩點,這個開源社群的生態才算比較成功的。 第一,有很多公司參與進來為社群服務;第二,所有的公司都能在社群裡找到自己合理的商業模式,並且能夠圍繞商業模式打造自己的核心競爭力。
莊表偉:龍蜥社群要在眾多的開源作業系統裡面做好自己的生態建設,它的優勢或者說它希望能夠發揮的特點是什麼?
馬濤:我可以舉幾個例子解釋。 第一,龍蜥不能脫離中國國情和現在的發展。 龍芯最近剛把 LoongArch 架構的 gcc 合併到 Linux gcc 主線上。但 LoongArch 體系架構出現已經有一兩年了,在這一兩年時間裡是沒有辦法從上游社群得到任何幫助的,因為還沒進去。那這時候如果國內企業又要用,怎麼辦?這時候就需要一個作業系統發行版來填補這個空白,龍蜥就能提供這樣的平臺,提前把龍芯包括國內其他晶片廠商的產品讓客戶用起來。
像國外的一些發行廠商,對於國內晶片支援不是很好,可能也有一些市場或者其他方面因素考慮。但國內的晶片廠商的正在快速增長,包括阿里倚天、龍芯、兆芯、申威,他們需要有一個作業系統來支撐,這些廠商能夠從龍蜥獲取到營養。
第二,雲對於作業系統的影響還是有一些 。 阿里雲在這裡面做了很多的工作,有可能會影響到未來作業系統的發展。一是在國內的硬體、軟體都在快速發展,需要像龍蜥這樣的作業系統社群快速滿足需求。二是在和上游地區達成一致以後,把上游補丁 backport 回來就可以。但是中間這段時間,我們是需要能夠滿足所有客戶需求的,我覺得這個就是我們能夠給企業帶來的最大價值。
莊表偉:您怎麼看待社群和商業化之間的關係?
馬濤:核心我覺得還是企業商業化,像統信軟體、中科方德、萬里紅等企業,其實都會基於龍蜥出自己的商業發行版提供給客戶。但因為畢竟是一個社群版本,所以有兩個比較大的問題。
第一,響應客戶肯定是不像商業公司那麼快速。因為很可能你發個 issue,萬一這個人比較忙,可能明天才能看到。當這種情況發生的時候,商業公司是可以提供明確的 SLA 保證。
第二,商業公司提供了非常嚴肅的兜底服務。比如說,派工程師去現場排查問題、提供軟體升級服務、提供全生命週期管理等。那對於一個社群來說,往往就 focus 在最新的發行版本上,可能會有幾個 LTS 版本,或者說如果有問題了也可能會考慮修復的成本。但對於商業化公司來說,有一整套完整的體系。我們把作業系統的能力貢獻出去,他們圍繞這些能力做自己的商業化服務,相當於是互補的模式。
莊表偉:阿里在這個背後能賺到什麼?
馬濤:阿里是不做作業系統這個生意的。那我們的商業利益到底是什麼?所有在龍蜥上跑的系統在阿里雲上可以跑得很好。只要用到龍蜥,就會想到龍蜥是阿里參與並做出重大貢獻的,那企業在選擇上雲的時候就會考慮上阿里雲。
莊表偉:就像 Chromium 是 Google 主導的。所以當你想要去做容器,想要去做雲原生的時候,就會覺得 Chromium 那當然是谷歌。其實這就對於谷歌雲會有很大的幫助作用。所以你們在做龍蜥社群時也是會有這樣的一種目標在裡面麼?
馬濤:我只能說這是阿里的一個商業利益。因為我現在代表龍蜥理事長,希望所有參與龍蜥的公司都能找到自己的商業利益。
莊表偉:之前有同事說我既在開源社、又在華為,是怎麼做到的。剛剛聽您介紹也是這樣一種狀態,同時是龍蜥的理事長、又是阿里的員工,可能同時還是 Linux 社群的貢獻者,也是有多頂帽子在自己的頭上。那同樣的問題拋給您,您是怎麼做的呢?
馬濤:我是這麼想的,我也感謝龍蜥社群給了我一個機會,因為之前無論是在 Oracle、淘寶還是阿里雲,其實都是代表公司在為這個社群做貢獻。但如果說你跳出公司的思維,從社群的角度去看這個事情,你就會發現考慮問題的視角會發生不一樣的變化,比如作為龍蜥社群的理事長,要考慮怎麼讓社群裡所有的企業都能夠從中獲利。 社群如果要長久發展,那就需要平衡制衡, 不能阿里一家獨大,如果一家獨大,這個社群怎麼玩呢? 很多時候必須站在這個龍蜥社群理事長角度去考慮問題,才能讓這個社群更加公正、公平、開放。
莊表偉:現在需要您自己來運營一個本土的社群,面臨的主要挑戰是什麼?
馬濤:客觀來說,龍蜥畢竟是個 Linux 社群,所以和 Linux 社群相比,有很多相同的也有很多不同。相同的點就是剛才前面提到的學習開源還是比較陡峭的,大家很難去把愛好者去培養成新的開發者,確實會比較費勁。
但我想說幾點不同,第一點是,過去大部分中國做 Linux 開發的都是參與者,沒有幾個是主導者。現在有龍蜥和尤拉,我一直覺得我們有各自的特點和不同的出發點,但是有一點我認為是一致的,一起促進中國作業系統產業的發展,一起把中國整個作業系統人才的厚度聚起來。所以我覺得在中國做作業系統,第一要紮根中國,想著怎麼去把中國的作業系統產業做起來,把中國的作業系統人才培養起來。這個事情很難,但時代賦予了我們機會,我們還是要堅持,還是有信心的。現在相對 2006 年那會兒已經好很多了。第二點是,現在國內對作業系統產業、對基礎軟體產業的重視程度也是今非昔比的,所以我覺得我們是有機會做出來的,也需要好好做。
莊表偉:有一個靈魂拷問,您是要把龍蜥社群運營的更像一個 Linux 核心社群,還是選擇立足中國、有自己的特色,運營出龍蜥社群自己的風格?您會怎麼選?
馬濤:首先從我的個人的觀點來說,畢竟中國是需要跟國際有溝通和交流,可以看到最核心的 Linux 核心研發人才或者資深人士都在國際上的。所以我覺得 首先要做到跟國際社群非常融洽的關係,和上下游打成一片 。現在我們各種各樣的補丁不會藏在龍蜥社群裡面、不向 Linux 上游社群貢獻,我們同時會不停地往上游社群去推。如果上游社群(就是 Linux)接受了,那麼我就會再把它拉回來,這個工作我們會持續做的。
第二,我覺得是需要 立足國內的不同環境,有一些不同的常識和打法 。其實最簡單的,比如老外其實在用郵件列表,國內有釘釘群、微信群,但是如何利用新形式,把釘釘群、微信群運營起來,把這些群成員吸引到社群裡、讓他們也能夠參與到社群開發裡面,也是跟國外不一樣的點。
莊表偉:現在假設你們社群裡有一個非常優秀的開發者,您們會願意幫助他、培養他直接到 Linux 核心社群去提交,還是在龍蜥幹,幹完了以後社群幫你提交到核心去?
馬濤:這個我可以直接回答,沒問題。我們第一條會鼓勵他去上游社群,我們團隊有一個同學剛剛提了一些 patch 到上游社群,被邀請去參加美國開的關於檔案系統的峰會。我們會鼓勵所有人蔘與國際社群,參與國際社群的標準制定。如果說你總是把他 keep 在自己的小圈裡面,那他永遠得不到成長的機會。就跟我們們培養小孩子一樣,你要讓他出去見世面,讓他知道人外有人、山外有山,他才能夠成長得更好。所以說,我們不但不會阻止,還會鼓勵所有社群人積極參與上游社群的貢獻,在上游社群裡面建立影響力。 我們的目標肯定是說影響整個未來 Linux 社群的發展,這是我們最核心的一個目的。
莊表偉:龍蜥社群運營過程中有沒有什麼經驗或者稱為教訓的事件?
馬濤:教訓、經驗都有。我分享一個經驗、一個教訓。
我們本來認為在國內運營一個作業系統社群是很難的。但我發現,如果能夠找到一個非常共性的點,同時能夠為開發者構建一個非常好的基礎設施或平臺,其實還是相對可以的,即使在基礎軟體如此難的領域裡面也是可以的。反過來說,國內開源社群的蓬勃發展是非常有希望的。現在在國內搞開源沒有想象的那麼難。如果你想在中國搞開源,想通過開源成立一個公司,我覺得真的是很有機會的。那接下來說一個教訓,我覺得可能談教訓更有意思一點。開源是這樣的,很多時候我的思維可能還停留在跟老外做事情的風格上面。其實在中國確實需要因地制宜做一些改變。在國內我們已經習慣了用釘釘、微信這種即時通訊工具了,國外的話可能還是在用郵件,你發個郵件可能第二天才會給你答案的,這是很正常的,因為時差。當我的使用者提出一個問題的時候,你要是在釘釘群或者微信群裡面一兩個小時沒人回,他可能就會有點不耐煩了。之前覺得老外響應快多了,但現在中國的節奏很快。所以在初級階段,我們還是要積極響應所有的使用者問題,尤其是大家適應了這種快節奏文化的。
在開技術委員會或者理事會會議時,我都會請求,碰到使用者在群裡提問時,儘快回答。現在我們也有一些值班制度,可以讓使用者在用作業系統或者在開發過程中遇到一些問題的時候,能夠快速得到答案。龍蜥已經構建了比較完善的一個答疑體系,他們很多會問一些很著急的問題,比如安裝,就非常希望你趕緊告訴我怎麼回事,那我們的值班制度就可以非常快速地告訴他該怎麼辦。但老外的話經常要第二天才會有人會理你的,大家也習以為常。但在中國這塊兒其實還是不一樣。
莊表偉:就是說在社群運營的過程中還是有很多細節問題,而且這些細節問題牽扯到一些非常困難的取捨。
馬濤:對的。現在大家都是在摸索階段,那其實如果未來有更多不同國家的人蔘與進來,就會有不一樣的理念產生,我覺得這是一個社群走向成熟必然要面對的一些問題。龍蜥社群都是在摸索中前進的。
雖然我參與 Linux 上游社群這麼多年,但在中國運作的社群,包括自己運作的社群,其實還有很多不一樣的點需要去嘗試的。包括我之前就是一個開發者,沒做過運營,也沒做過構建社群基礎設施這整套東西,都是在不斷的運營,不斷的學習,不斷的進步。
莊表偉:那現在社群裡除了您來做理事長之外,還有一些運營的同學嗎?還是說有專職的運營的同學?
馬濤:有專職的運營同學。但我覺得,一個成熟的開源社群運營,光靠純運營或者單純的運營同學是不行的。因為他們的視角是從運營的視角看問題,我是希望能從一個開發者的視角看問題。做決策時,會存在不一樣的點。因為對於運營來說,肯定會關心的是我開發者數量、pr 數量、issue 數量,但是這個問題有時候確實和開發者會有衝突。我也積極參與社群運營工作,從一個開發者的角度去看問題,這樣更有代入感,可以為社群多提意見和建議。
莊表偉:如果您在一個社群裡泡過,那麼這個社群的氛圍到底是對還是不對,是有感覺的。如果你只是一個純粹的基於數值來做運營的人,其實你根本不知道社群發生了什麼,也不知道社群裡的味道。
馬濤:社群就是需要各種各樣不同的人,既要運營的人要懂開發者,也要讓開發者懂運營,這樣的話大家都懂對方了,才能用對方的語言、站在對方的角度去思考問題,這樣才能讓社群運營的更好。要不然會覺得,你這些數字多漂亮,但是都冰冷冷的,跟我開發者有啥關係啊。
莊表偉:最後一個問題,有沒有最近在看或者推薦的書、影視劇?
馬濤:《阿甘正傳》。我覺得特別切合開源。
第一,生活就像巧克力一樣,你永遠不知道下一顆是什麼口味。我覺得這跟開源很像,因為在開源過程中會遇到各種各樣亂七八糟的問題,尤其是運營一個開源社群的時候會遇到各種各樣的問題、各種各樣的開發者、各種各樣不同角色的人,他們,包括各個公司的人,真的會有各種各樣奇妙的經歷在等著你。
第二,它給了一個很大的啟示,就是要有理想。之前我有一位非常尊重的主管,他經常說一句話就是“理想,行動,堅持”。就是我覺得這個和《阿甘正傳》、做開源是非常像的。做開源想做成了, 首先真的是 要有一點理想,包括做龍蜥社群,如果只想著做一點東西,其實是很難堅持的。 第二個就是行動,就和阿甘一樣。 第三個就是堅持,我覺得堅持真的很重要,尤其是做作業系統,是一個見效很慢的長期過程。做作業系統的研發,包括做作業系統的整個過程,時間是很長的,尤其是發行一個版本,要做各種各樣的測試,因為作業系統上跑的業務是很多很多的。所以如果你不能堅持做這個事情,就很難有成效。 要把作業系統研發做好、社群做好、生態做好,真的是潤物細無聲的過程,需要很長時間才能做好的。 開發一個上層的應用,比如前端框架,可能很快被很多人用起來,但是你要做一個作業系統就會很慢很慢、很久很久,確實會有很大的一個差距。我只能說,做其他社群也需要堅持,但我覺得做作業系統的時候尤其需要堅持。
莊表偉:是的,我非常非常認同,而且《阿甘正傳》這部片子我也非常喜歡,以前讀大學的時候也看過好多遍。
馬濤:非常對,還是很勵志的,而且就我覺得一開始看的時候,可能就是看故事。當你人生閱歷越豐富以後,你也覺得真的是很多時候你需要一股精神的力量來支援你來做這個事情,很多時候你要執著一點,能夠堅持做一件事情。
相關連結可移步龍蜥公眾號(OpenAnolis龍蜥)2022年5月5日相同推送檢視。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2891955/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 為什麼要堅持寫技術博文
- 一文讀懂自動駕駛中的機器人作業系統ROS自動駕駛機器人作業系統ROS
- Win10系統使用者已突破7億:win7系統還能堅持多久?Win10Win7
- 視訊開源作業系統VideoOS作業系統IDE
- 作業系統PPT(持續更新)作業系統
- 介紹一款新奇的開源作業系統:GodoOS作業系統GoOdoo
- ravynOS 0.5.1 - 基於 FreeBSD 的 macOS 相容開源作業系統Mac作業系統
- 推薦一款Windows相容的開源作業系統-ReactOSWindows作業系統React
- stardust-oxide:基於Rust的開源迷你作業系統UnikernelIDERust作業系統
- 身無長物,唯有堅持
- 今晚7點直播!聊一聊“進擊的開源作業系統”作業系統
- SysML 2019論文解讀:影片分析系統的提升
- SAP開源的持續整合-持續交付的解決方案
- 解讀2018逆生長的公鏈系統——LKL
- [開源作品] 譯文管理系統
- SysML 2019論文解讀:視訊分析系統的提升
- Linux作業系統中的7功能詳解Linux作業系統
- 超酷的開源任務協作系統,我粉了
- 軟體測試系統培訓學習要多久?
- 這個國家棄用Windows作業系統?而我們的國產作業系統卻很少人用Windows作業系統
- 堅持不走尋常路解讀“銳捷式”創新的三個突破
- [圖文直播]Windows作業系統部署JenkinsWindows作業系統Jenkins
- 一文帶你吃透作業系統作業系統
- Talent Plan 學習營初體驗:交流+堅持 開源協作課程學習的不二路徑
- 許可權維持專題:作業系統許可權維持作業系統
- Linux 作業系統!開篇!!!Linux作業系統
- 作業系統(1)——作業系統概述作業系統
- 作業系統(一):作業系統概述作業系統
- 面向多樣性計算的作業系統:openEuler的開源進展與社群生態作業系統
- SamyGO:三星電視或機頂盒的開源韌體作業系統Go作業系統
- 不同作業系統開啟檔案瀏覽器(資源管理器)的方式作業系統瀏覽器
- 解讀微軟開源MMLSpark:統一的大規模機器學習生態系統微軟Spark機器學習
- 作業系統(考研,面試,期末複習)- 持續更新作業系統面試
- 作業系統(二):作業系統結構作業系統
- 我兩年的堅持,值了!
- 雲端計算教程學習入門影片課件:開源作業系統講解作業系統
- 以Windows作業系統為例,詳解版本控制系統—Git的操作Windows作業系統Git
- 作業系統 作業5作業系統