各大公司在GitHub上開源投入排名分析

村中少年發表於2020-01-29

現在有越來越多的公司都參與了開源,其背後有各自的目的所在,姑且不予討論。本文是從多個方面分析各大公司在開源上的投入情況。由於全世界絕大多數的開源專案都有釋出到Github上,因此本文將會基於GitHub的資料進行分析。2019還沒有結束,本文先回顧一下2018年的各項指標,從以下幾個方面進行分析:

  • 2018哪些主要的公司參與了GitHub開源貢獻
  • 2018這些主要的公司分別有多少人蔘與了GitHub開源貢獻
  • 2018這些主要的公司分別參與貢獻了多少個開源專案
  • 2018年這些主要的公司貢獻的開源專案中,有哪些是比較有代表性的
  • 2018年這些主要的公司在的開源項一些代表性的專案中,都有多少人蔘與
  • 2018這些主要的公司參與貢獻的所有專案累計star數量是多少

相信通過以上的這些指標,就能夠大致大判斷出每個公司在GitHub上的貢獻情況。

OK,關於如何獲取Github上所有相關倉庫資料,相信看過我一系列分析GitHub開源文章的同學都已經知道,再囉嗦一下,連結見這裡。當然自己可以寫SQL語句查詢,但是發現fh大神已經將這些資料過濾儲存到2018_top_contributors資料表中。站在巨人的肩膀上,沒有必要再重複的查詢,我們直接分析一下該表即可,如下圖是我擷取的表中包含國內BAT三家公司排名的部分資料,作為概覽:
在這裡插入圖片描述
當然其編寫的SQL語句(Details部分)還是有點小複雜,感興趣的可以自行學習下,具體的SQL過濾語句我就不多說的。

原理背景知識

如果你使用過git的話,一般會要求你配置使用者名稱和郵箱,做為commit提交時候的使用者記錄。因此可以根據郵箱名統計該使用者屬於哪個公司。比如microsoft.com可以作為微軟公司內部郵箱標識,google.com可以標識谷歌,amazon.com可以標識亞馬遜,國內例如alibaba-inc.com可以標識阿里,baidu.com可以標識百度。因為公司參與開源專案也是有目的,有的是未來的一個佈局,有的可能僅僅是公司內部的KPI考核。因此以公司郵箱提交的程式碼往往表示的是這個公司支援的開源,也可以看做該公司的在開源的貢獻。但是有的大公司所推出的公共郵箱服務需要注意,往往是以個人名義參與專案時候的使用者資訊會填寫如gmail.com,outlook.com,yahoo.com,hotmail.com,qq.com,163.com,foxmail.com,126.com這些公共郵箱,不能作為公司的統計。

這些主要的公司有多少人蔘與了GitHub開源的貢獻

下圖是2018年度公司GitHub上貢獻人數超過30人的前20名。
在這裡插入圖片描述
哪些主要的公司參與了GitHub開源貢獻

可以看到上表一共統計出了95個公司,業界知名的公司都有包括,以下是這95個公司按照員工投入數量的排名詞雲圖:
在這裡插入圖片描述

  1. 如果按照員工數量的排名,2018自微軟員工參與GitHub開源的最多,共計1717名使用者參與了push活動。當然還包括谷歌,redhat,ibm等諸多公司。
  2. 可以看到前二十名的公司都有超過100人蔘與了2018年年度的GitHub開源貢獻,說明在開源上各大公司還是投入了相當多的人力。
  3. 百度,阿里,騰訊,在Github開源中投入了100+的人力,排名也很接近,不排除各家之間暗自競爭。
  4. 在我以前的文章中也總是提到伯克利這個學校在所有的教育機構中,github上的投入排名位居榜首。

這些主要的公司分別參與貢獻了多少個開源專案

投入的人力是一方面的指標,參與專案的數量也可以作為一個參考,如下表:
在這裡插入圖片描述

  1. 如果按照每個公司參與的專案數量排序的話,谷歌公司共計參與了1543個專案,微軟參與了1295個專案,遠遠領先於其他公司。
  2. dependabot出現在了前十名,並且員工個數如此至少,基本上平均每個人參與了很多的專案。
  3. 如果計算每個專案上各個公司平均投入了多少人力,會發現基本都是1。也就是說每個專案都是一個人在維護。

但是如果按照每個人平均參與的專案數量進行排名,則會得到下圖所示的結果:
在這裡插入圖片描述
可以發現,排名靠前的都是一些不太出名的機構和公司。這個指標是否可以說明一個問題:雖然像google這樣的大公司參與了很多的開源專案,但是很多的專案可能並沒有參與實質性的貢獻,可能只是提交了一些註釋等方面的解釋性資訊。

這些主要的公司貢獻了哪些比較出名的開源專案

由於每家公司都參與了很多的開源專案,比如微軟和谷歌2018年度都參與了上千個開源專案,不可能羅列出所有的專案。同時上述分析了,其參與的很多專案有的並不是主要貢獻人員。因此需要選取一些比較具有代表性專案。統計每個公司參與的所有專案2018年度star數量,用以表徵這個專案的火爆程度,並選取star數量最多的前三名,如下圖:
在這裡插入圖片描述

  1. 通常來說這種火熱的專案背後都是某個大公司支援的,如果某個公司的員工參與進來,說明該專案對於該公司具有一定的價值。
  2. 比如微軟2018參與的所有專案中,最火的包括了自家的vscode以及TypeScript。
  3. google參與的專案中也有自家的tensorflow,以及目前主推的flutter等,投入人力數量可見其重視程度。
  4. rehat參與的kubernetes雖然不是自家的產品,但是rehat在kubernetes的貢獻僅次於其釋出者google,只有兩個人倒是出乎意料。
  5. FB的react以及pytorch都是當下火熱的專案,也是其當家開源產品,而且都投入了不少的人力。
  6. 其實你會發現一個現象,就是各個公司前三的專案,重合的概率非常的小,說明各公司還都是專注自己的領域。因為一旦一個微軟帳號貢獻了tensorflow,那麼top3中就有tensorflow,因為該專案的star數是很多的。

由於篇幅有限,無法將每個公司參與的具有代表性的開源專案一一列舉,我這裡面繪製了這95家公司每一家所貢獻專案中star數排名前3名的專案詞雲,並按照2018年的star數量統一排名,如下圖:
在這裡插入圖片描述
可以看到上述詞雲基本能夠反映出時下火熱的技術方向,包括可以flutter、react、tensorflow、pytorch、kubernetes、vscode、node等專案,其實也是說明了技術的導向基本是這些大公司推動的。

如果按照每個專案各公司參與人數排名,繪製得到的詞雲圖如下:
在這裡插入圖片描述
1,可以看到很多專案投入的人數基本相差不大,因為投入最多的edx-platform專案為66人,其他的主流專案基本都在20+。
2,投入的人數較多可以說明的是該專案目前還在頻繁迭代中已經公司的重視程度。更多內容可以檢視2018_top_contributors資料表。

2018這些主要的公司參與貢獻的所有專案累計star數量是多少

每家公司參與專案所有累計的star數量前20如下表:
在這裡插入圖片描述
95家公司每家公司參與專案在2018年度所有累計的star數量排名詞雲:
在這裡插入圖片描述

  1. 因為star數量表示的是一個專案的火爆程度,這個排名我覺的可以用來衡量一家公司在開源領域的影響力。
  2. 像google在2018年貢獻的所有專案star總量為858566,微軟為418351,FB為298144,數量非常之大,是否可以說明這些公司在引領開源。
  3. 國內的BAT也都排進前20,說明國內企業的影響力在進一步提高。

綜上來說,目前開源領域還是以微軟,谷歌,rehat等公司貢獻較多,這些貢獻也意味著未來一些領域的話語權。

本文為CSDN村中少年原創文章,轉載記得加上原創出處,博主連結這裡

相關文章