章文嵩 怎樣做開源才有意義?

2021-06-23 07:15:18 字數 3599 閱讀 5508

轉至:

2.阿里總體來說還是乙個業務導向的公司,研發過程肯定是產品導向,而不是說先有spec,基於spec去做,一切目的是快速完成產品經理的需求,這個是首要的任務。開源社群基本上正好過程是反過來的:他們先去討論,我有這麼個想法,這麼做對不對。然後大家討論說,你的想法好,按照你的做法去做吧,然後這樣才出來實現。所以他就有個矛盾,就比如說google做android,android**一開始它是被核心社群曾經驅逐過。就是他們先做出來了,然後放進去,但是之前沒有討論,所以社群的人就不接受。我聽說阿里也有因為類似的原因,沒有被上游認可的patch。從業務的角度, 「產品優先」才是正確的;但是從工程的角度,可能是「思路驗證優先」是更正確的。您怎麼去做這個平衡?

章文嵩:我覺得要分開來看這個問題。我們開源的東西往往是有共用的一些價值,可以拿到別的應用場景復用的,這樣開源才有意義。你剛剛說那個業務上產品導向也沒錯,比如**跟天貓的平台上面,我們有四千多個應用,應用開發本身我們要業務導向,要做的很快,那沒錯。但是我們裡面沉澱了一些東西,下面的中介軟體或者底層的研發平台,這種底層的支撐平台、基礎平台這方面來說實際上有共通性,那這方面可能更容易開源。這方面的變化節奏,就不像上面的業務會來的那麼快,而且本身我們做乙個底層或者中介軟體,肯定都會考慮不光是乙個應用要用,很多其他的應用也會用。所以這裡面賦予我們開發的時間,包括架構的設計時間會更長。

往往開源的專案是屬於那些有共用的,相對偏底層的一些偏基礎的一些東西,所以這兩者我覺得如果分開來看不會那麼多矛盾了。我們當然響應業務的需求,怎麼把上面的應用、產品做得更快,那我們的開源的大部分是有一些共用價值的東西,可以有更多的時間來做,而且要好好規劃的,不光是為乙個產品來做,要為更多的產品來做。 3.

第三個問題是有關自研的選擇。一般來說團隊去選擇自研方案,首先可能是因為有一些開源的實現,但是不夠成熟,但是業務又馬上需要。要麼另一種原因就是說,我覺得我有信心,做的比現在的那些方案都好,才去這麼做。但是如果業務不是馬上需要的情況,其實也可以等他們過兩年,然後開源專案就成熟,就變成可用的了。但是這個時機可能也是會比較早的,就是先進去做有可能就成炮灰了,所以到這種情況就有三個選擇:第乙個選擇就是我立刻把所有兵力都投進去,然後搞自研,拼一把;第二個選擇是我找乙個看起來還不錯的開源專案,我去投人進去,然後把它搞起來,以後如果這個專案發展起來,我就有主導權;第三個選擇是我先觀望兩年再說,如果是你來選擇的話,如果有乙個領域你覺得挺有前景的,但是現在處在這個時間段,你會怎麼選擇?

章文嵩:我會選擇第二種。我會先看開源的解決方案,有哪些可能的方案存在。我們會去評估一下這些開源方案,它目前的所處的狀態、成熟度怎麼樣,有哪些功能是我們期望拿到的,可能有哪一些目前還沒有做到,也會評估我們能不能在這個基礎上,在上面加東西。如果整個框架可以很容易去擴充套件,裡面加東西也比較靈活方便的話,那至少跟我們定義想做的東西是匹配的。長遠來說架構上面如果沒什麼大的衝突,那我們在上面發展,實際上是非常好的事情,一方面可以節約人力投入,自己可能少走一些彎路,將來還有機會可能參與到整個社群裡面。社群的話,不光是我們一家公司在做,有可能很多家公司都在做,大家如果形成乙個生態系統,每家公司的投入相對都會少。

關鍵是這個開源的東西是不是服務我們的業務,如果服務我們的業務很好,我們投入的人少,那何樂而不為。我會傾向你所說的第二種;除非是評估了一圈沒有合適的,但我們想做的東西又可能不遠的將來馬上要要,那我們有可能會選擇自己去先投入去看一看,先嘗試一下,這也是有可能的。 4.

不會擔心以後對專案失去掌控權,因為大家都在往裡頭做?

章文嵩:我覺得這個不用擔心。我們不說掌控權,大部分說影響力,這個影響力是看我們對這個開源專案的貢獻來定的。大家也知道,因為在社群貢獻,大家做的貢獻多,影響力自然就會大起來。

即便不行,碰到情況,假設原來的社群碰到問題,我們也可以在這個基礎上fork出來做另乙個開源專案,我覺得未來這個路徑都是通的,我覺得不存在太大的問題。 5.

第四個問題,現在有一種說法是,開源的發展促進了it行業人才的流動。比如說這個人在乙個公司搞核心,或者是搞openstack,或者是ceph、hadoop這樣的,那麼這個東西是通的。假設說他想去換乙個公司,到了新公司如果也用一樣的架構,他就可以經驗立刻復用了。但是如果到了新公司,他的技術體系是另外一套,他不管有多少經驗,先得把這套東西再學一遍,學個幾星期、幾個月,然後才能有真正的貢獻。但是現在國內的情況,幾個網際網路巨頭,包括像阿里也是有很多私有的專案或者分支,會造成上述的問題。你對這個問題是怎麼看的?是覺得它不可避免,還是可以改進?

章文嵩:你問的是很好的乙個問題。我覺得要看這個產品上面獲得的競爭力對整個公司的業務的重要程度來定。拿**、天貓來說,我們真正是建乙個大規模的交易平台,在上面的很多業務做的好壞就是靠資料,比如說信用模型,使用者的交易記錄,導致每乙個商家都有相應的信用的資料,然後消費者也有信用的資料。實際上對整個**、天貓來說,這個資料是最關鍵的,資料是日積月累,拿不走。所以資料是我們最關鍵的競爭力。

軟體當然是我們的一種能力。我們能實現這麼大規模的乙個平台的能力,我們把它開源出去,對我們核心的業務價值不會有什麼損失,別人拿這個軟體再建另一套**、天貓,也很難與此競爭的。因為如果建乙個軟體的平台,要找到合適的人,大概花一些時間也能建出來,但建出來在這個平台上沒有任何資料,那試問乙個消費者,他願意在**、天貓的平台上做交易,還是跑到乙個空空如也的平台上做交易?那顯然應該是前者。當然阿里本身也很開放,所以**、天貓的很多技術平台我們已經對外開源了。

那是不是我們有產品是沒開源的?當然有了。比如說我們目前的飛天平台是沒對外開源的。飛天能處理五千臺或者未來上萬台的乙個規模,是大規模的資料處理、儲存,基本上是分布式的乙個作業系統平台。對阿里來說,這也是非常大的乙個競爭力,尤其在雲計算上面。如果要保持這個競爭力,當然目前的狀態,目前是沒有開源。除非有一天,我自己個人的乙個想法就是,如果將來我們的雲計算的規模、優勢已經非常大了,我們已經不再擔心別人拿我們的軟體再去搭一套平台跟我們競爭,我們競爭優勢已經在別的方面了,那開源也是有可能的。所以我覺得這個是不是用開源不開源,是用不同的狀態來看待這個問題的。 6.

最後乙個問題是關於開源本身。開源模式的價值,其實它最大價值是說我可以在全球範圍內去找到使用者和貢獻者,不分任何的國界。其實包括lvs專案的成功,其實很大一部分原因也是,它一開始就是以國際化的專案去做的,所以你認為有必要糾結於國產的開源專案,或者是由國人發起來的開源專案這種說法?開源專案是否都以國際化的思路去做會比較好?

章文嵩:我覺得關鍵是看自己面對的客戶群。如果我們的客戶群都在國內,那沒必要,如果整個網頁都寫成中文的,使用者會更接近,更容易使用,這是最關鍵的。如果我們的客戶群是全世界的,當然要讓全世界的使用者更容易的了解我們的專案,就要用英文來做。我覺得不存在國產的或者國際的開源專案,關鍵看我們的定位。

2023年我做lvs專案的時候,說那時候也沒有太多選擇,因為那時候很多開源專案的郵件列表都是在海外,那肯定做了一樣東西,要讓全世界更多的人來了解,所以那時候一上來lvs的**,一開始都是用英文寫,做了哪個版本發布,哪些功能,都是跑到郵件列表裡去發郵件,用英文發。回過頭來,還是我們這個開源專案的客戶群來決定的。

infoq:十分感謝章博士接受我們的採訪。

章文嵩:謝謝。 7.

就是說,如果平台足夠好,這種技術人才流動需要學習額外的東西,他的代價是值得付出的?

章文嵩:對,當然對公司來說也是要看,投入的成本、人員的學習成本都要考慮,我為了獲得一定的競爭優勢,願不願意花這麼大的代價。如果評估出來是願意的,那沒問題。 

開源人物之三 章文嵩

章文嵩 1973 生 國防科技大學博士 1998年5月創立lvs www.linuxvirtualserver.org 中 日 韓 cjkoss競賽 4月13日和14日在天津舉行 中國獲獎作品是 智慧型通用輸入法平台 蘇哲 lvs集群系統 章文嵩 jfox應用平台套件 程勇 星際譯王 胡正 日本獲獎...

阿里巴巴 章文嵩評價左耳朵耗子

下面這個是耗子的主管,lvs專案作者章文嵩博士在內網發的對耗子工作業績的評價 一碼事歸一碼事,關於工作證的討論,我這裡不做任何評價。我只想說一下,我們為什麼請鑽風離開。過去一年多,鑽風在三個大專案aep vpc和docker上都沒有拿到結果,我給他全年3.25 他自評也是3.25 2014年1月,鑽...

做百度推廣,怎樣才算好的創意?

一 飄紅 茫茫的網際網路海洋,使用者的注意力是有限的,我們飄紅的字樣就是跟使用者的第一交流,讓他發現我們,接著才能展開下一步的工作,不然肯定會與使用者失之交臂,因為廣告太多,我們只是滄海一栗!二 語句通順 三 富有吸引力 這個就有點難度了,如果說滿足前兩點是合格的創意,那麼把最後一點做好,就是乙個優...