當前位置:
首頁 > 科技 > 中國互聯網公司開源項目調查報告:BAT們誰是開源王者?

中國互聯網公司開源項目調查報告:BAT們誰是開源王者?

作者 | 徐川、覃雲

近年來,開源技術得到越來越多的重視,微軟收購 GitHub、IBM 收購紅帽,都表明了開源的價值。國內公司也越來越多的參與開源,加入開源基金會 / 貢獻開源項目。但是,它們到底做得如何呢?為此 InfoQ 統計了國內在 GitHub 上較活躍的 7 家一線互聯網公司的 50 多個賬號的 2800 多個項目,為大家呈現一部分答案。

一、公司及賬號

本次參與統計的公司包括百度、阿里、騰訊、華為、美團、360、小米,一共 7 家公司,在最開始的時候,我們選定的是 10 家公司,它們都是國內互聯網的代表型企業,但由於其他 3 家公司或沒有統一管理自己的開源項目,又或是開源項目太少,沒有分析的價值,所以我們就刪去了。

在搜集這 7 家公司的開源賬號的過程中,我們盡量收集了網路上的信息以避免遺漏,不過由於統計口徑不一,有些公司只承認在 GitHub 公司主體賬號旗下的項目,導致團隊賬號可能難以收集全面。但是我們又認為有必要收集以團隊身份出現的公司賬號,它們的行為也代表公司的一部分,公司也應該將這些賬號視為公司開源戰略的一部分,進行統一治理。

具體如下:

註:餓了么和優酷已經被阿里收購,故歸入阿里旗下,下文分析的數據都是基於非 fork 的項目。

二、TOP10 開源項目

Star 數最多的項目 TOP10

Star 數越多,表示該項目越受歡迎,在 Star 數 TOP 10 的開源項目中,阿里有 6 個項目,百度有 1 個項目,騰訊有 2 個項目,美團有 1 個。

螞蟻金服的 ant-design 以 4.3 萬 star 數領跑,即使放在整個中國範圍內,它也是最受歡迎的開源項目之一。而計算公司的項目數方面,阿里以 6 個遙遙領先,說明阿里在開源方面受到開發者的廣泛認可。

在領域方面,star 數最多的項目里前端相關的項目有 7 個,包攬前三,一方面說明國內公司在前端開源方面做的最好,另一方面也是因為前端項目在 GitHub 上普遍更受歡迎。

貢獻者最多的項目 TOP10

註:這裡面的貢獻者只包含擁有 GitHub 賬號的人,郵箱未註冊 GitHub 的開發者未顯示在內

Contributor 數越多,表示項目越開放,在貢獻者數排名前十的項目中,阿里令人吃驚的佔據了 8 個席位,幾乎全部包攬,百度則佔據剩下兩個。阿里的 ant-design 項目再次名列榜首,包括衍生項目 ant-design-pro 也榜上有名。

貢獻者數量是體現一個項目是否開放的重要指標之一。項目越開放,它就會接納更多來自社區的貢獻。而由公司推出的開源項目尤其需要關注這一指標,因為有些公司開源項目只是將源碼開放出來,但具體開發和路線演進並不允許它人染指。

我們可以看到,阿里已經意識到這個問題並努力做出了一些改進,我們也期待有更多國內公司的開源項目能夠擁抱社區。

Commits 數最多的項目 TOP10

commits 提交數越多,表明項目越複雜,開發周期較長,協作者數量更多。在 commits 數前十中,阿里佔了 5 個,百度佔了 3 個,騰訊和美團各有一個。

這裡筆者發現一個現象:部分大公司會 fork 一些知名的第三方項目並創建分支,但並未體現在 github 的 fork 關係里,其中以阿里居多,如 AliOS-nodejs 項目。筆者認為,這種行為並不值得鼓勵。

在 Top10 項目中,百度的 Paddle 和 Apollo 項目名列前茅,說明百度聲稱的在 AI 方面基於開源理念來打造項目和產品,兌現了它自己的承諾,值得尊重。

另外我們發現,這 10 個項目有 4 個都是 Apache 基金會項目(Flink 由阿里收購而來),說明 Apache 基金會在開源方面名不虛傳,也說明國內公司的確是把最好的項目捐獻給了 Apache 基金會。

三、公司開源情況

哪些賬號開源最厲害

在開源賬號方面,各大公司的官方賬號並不是擁有開源項目最多的賬號,這一桂冠被阿里的 Kissy gallery 團隊摘取,其原因是這個賬號是 Kissy 前端框架的組件庫賬號。遺憾的是,Kissy 項目事實上已經死亡,其活躍期在 2015 年之前,在那個時代,Kissy 團隊可以說是國內最早利用 GitHub 的先驅之一,它們固然值得尊重,但阿里是不是應該對這些賬號做一些清理呢?

項目整體 star 數知多少

我們將所有公司的項目 Star 數做了一個分布圖,我們發現,騰訊開源項目雖然少,僅有 130 個,但是質量高,Star 數 100 以上的項目有 97 個,佔總數的三分之二以上;而阿里的項目雖多,Star 數 100 以上的項目也只有 237 個。這說明騰訊在對待開源時更為謹慎,推出的項目都是對開發者有幫助的高質量項目。

這裡面最極端的公司當屬華為,它雖然擁有 218 個非 fork 的項目數,但 Star 數 100 以上的項目僅有 14 個。其中的原因,一方面是華為多以貢獻者的身份參與第三方的底層項目,如 Linux、Kubernetes 等,這些在統計中未能體現;另一方面,也說明華為在自有開源項目做得還不夠,其表現與華為 IT 巨頭的身份並不匹配。

各個公司強在哪些領域

我們統計了各個公司 Star 數 TOP10 的項目,並對其按領域分類。我們發現:

大前端(前端和移動開發)項目最多,在阿里、百度、360、美團中前 10 個幾乎都佔了一半。騰訊是最誇張的,前 10 個項目里竟然有 9 個是大前端領域的。

百度有 4 個是 AI 領域項目,在眾多公司中別樹一幟,包括 Paddle、Apollo 等都比較受歡迎。

華為雖然項目少,但基本全是基礎設施領域的項目,如 ServiceComb、CarbonData、LiteOS 等。

小米有幾個操作系統相關的項目較受歡迎。

哪家公司開源最活躍

最近更新時間可以表明項目的活躍程度,如果項目在過去一年都沒有更新,說明很可能已經不再維護。

這裡,我們統計了最近更新時間在三個月內的所有項目,發現這些項目中阿里的項目數是最多的,一共有 269 個,佔了 48%,其次是百度,有 98 個,佔了 18%。

GitHub 的 issue 區為開發者求助和協作交流提供了非常好的平台,而公司對項目的維護程度可以從公司解決掉的 issue 里窺知一二。

這裡我們按公司分別統計了它們歷史上解決的 issue 數(即 close 掉的 issue 數),其中阿里解決了超過 6 萬個 issue,比之後的公司解決的加起來還要多,說明阿里對開源項目還是挺上心的,並不是傳聞中的「開源後不管」。

排名靠後的公司在這一方面還有待努力。

總結:中國公司開源現狀

上面的數據給我們提供了一些有趣的視角來研究國內開源的現狀,其中,一些數據驗證了我們之前的看法,比如大部分公司的優秀開源項目都以前端居多,因為前端群體在社區更活躍,前端代碼一般也不太涉密,因此公司在心態上更開放一些。

而另一方面,有些數據出乎我們的意料之外,比如阿里的數據幾乎在所有類別里都名列第一,有時甚至是其它公司之和,並且在社區化 / 開放等方面也做的不錯。

騰訊在自有開源項目上數量偏少,這也與公司過去並不重視開源有關,近年來,騰訊積極地靠近各個開源基金會,也開源了一些高質量項目,收穫了開發者的口碑。

華為在自有開源方面顯得有些保守,它的發力點更多在參與社區開源上,自家開源的很多項目多為操作系統相關。

而我們還可以看到,個別人和團隊對整個公司的開源能產生重大影響,比如阿里的玉伯不僅是 Kissy 的創始人,也帶領團隊開發和維護 ant-design,撐起了阿里開源的大旗;百度有 echarts 團隊;騰訊有 Alloyteam;360 有奇舞團等。

不好的方面則是,這些最優秀的中國互聯網公司,在底層關鍵項目上和國外還是存在較大差距,如 ant-design/element 等,只是 React、Vue 等前端框架的組件庫,是其生態系統的一部分,而自己作為生態核心的項目在國內極少,因此,國內開源只是看著熱鬧,在實際作用方面,和國外差距極大。

另外,國內公司對於 GitHub 還沒有做到物盡其用,在開源治理上還有所欠缺,我們看到有大量的 fork 項目,有大量的空項目,這些項目應該第一時間清理。對於不再維護的項目,GitHub 也提供了歸檔功能,國內公司應該善加利用。

註:

這裡選取的賬號為公司賬號 / 項目賬號,或部門 / 團隊賬號,非個人賬號。

部分項目因捐獻給 Apache 基金會有重合已剔除,並只保留 Apache 里的數據。

數據統計截至日期為 2019 年 3 月 22 日,其後數據未計入。

彩蛋環節


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

楊超越杯編程大賽?參賽者可內推BAT,程序員追星如此硬核?
中國最願意為程序員花錢的公司有哪些?

TAG:InfoQ |