GitHub 2019 年度報告解讀:開源生態和技術趨勢

GitHub 最近發佈了 2019 年度報告。一年以來,GitHub 用戶增加十分迅猛,新增了一千萬用戶,如今總共有超過四千萬用戶。在過去一年,GitHub 用戶新建了四千四百多萬倉庫,合併了八千七十多萬 pr,關閉了二十多萬 issue。react

參差多態的國際社區

在四千多萬用戶中,大約有十分之一用戶是活躍用戶(在公開或私有項目上發佈過代碼、提交過 issue、評論過 pr 和 issue 的用戶)。這些活躍用戶在過去一年的增加也是十分迅速,特別是亞洲、歐洲、北美。這應該是由於大多數 IT 行業的從業者在這些地區居住。git

在 GitHub 的用戶中,2019 年有超過二百五十多萬用戶爲開源項目作出貢獻。GitHub 上爲開源項目作貢獻的用戶數增加也很迅速,特別是美國之外的用戶,增加尤其突出。github

如上所述,亞洲、歐洲、北美的活躍用戶最多,增速最快。在這三者之中,亞洲尤其突出。而亞洲的活躍開發者,有 31% 是中國開發者。從不一樣國家和地區開源項目的使用量(克隆、分叉數)上來看,中國也是一騎絕乘。express

被微軟收購後,不差錢的 GitHub 推出了免費的私有倉庫,全球各地的開發者對此十分歡迎,甚至包括身處南極洲的開發者。自 2019 年 1 月推出以來,美國之外的開發者建立了 80% 的免費私有倉庫。亞洲地區的開發者建立了 36%,其中大部分是由印度、中國和日本的開發者所建立。npm

緊密聯繫的開源生態

今年有 35 萬人爲前 1000 個項目(按 star 排序)作出了 500 萬以上的貢獻。130 萬開發者首次爲開源項目作出貢獻。編程

開發者經過軟件組成了一個愈來愈緊密聯繫的社區。在庫的依賴關係中這一點體現得尤其明顯,一個庫可能被數百萬個項目依賴。react-native

每一個語言生態系統(JavaScript,Python,Ruby 等)中排名前 50 位的開源包都被數量衆多的項目依賴。因爲 JavaScript 社區更青睞粒度較小的包,流行的 npm 包的平均直接貢獻者可能少於 40 人,但仍可能被數百萬項目依賴。安全

每種包管理器排名前 50 的包 平均被依賴數 平均直接貢獻者
Maven 167k 99
pip 78k 204
npm 3.5m 35
NuGet 94k 109
RubyGems 737k 146

被最多項目依賴的十大開源軟件包中,位列前三的 [lodash]、[express]、[debug] 都各自被超過四百萬個項目依賴。在以前的表格中咱們已經見識過 top 50 npm 包鶴立雞羣的平均被依賴數。因此,絕不意外,這十大開源軟件包都源自 npm。框架

讓咱們暫時告別 JavaScript 社區,看下 Python 社區的明星項目 TensorFlow。TensorFlow 向咱們展現了開源項目如何鏈接更大的軟件社區。依賴 Python 軟件包的項目的社區貢獻者平均數量約爲 1.9 萬。TensorFlow 的社區也不例外。成千上萬的人爲其依賴作出了貢獻,包括 numpy、pytest 等。機器學習

突飛猛進的技術趨勢

GitHub 上的開源項目正在不斷髮展,今年建立的開源項目佔 GitHub 上全部開源項目的 30%。

跨語言、跨平臺構建應用程序和網站的工具包和框架在今年的增加很快。2018 年 12 月發佈 1.0 版本的 [flutter] 2019 年在貢獻者最多的項目中位列第三,在增加最快的開源項目中位列第二。[react-native] 也在貢獻者最多的項目中位列第六。

在上面這個最多貢獻者項目榜單中位列第一的 [vscode] 從 2016 年起就是這個榜單的常客。這個微軟開源的代碼編輯器,既輕量又強大,贏得了使用各類語言的衆多開發者的歡心。2019 年新登上最多共享者項目排行榜前十的項目,除了以前提到過的 flutter,還有 [first-contributions] 和 [home-assistant] 兩個項目。first-contributions 是供 Git 初學者練手的項目,而 home-assistant 則是基於 Python 開發的開源智能家居方案。

最受歡迎語言 top 10 排行榜中,年度使用人數最多的編程語言仍然是 JavaScript,連續 6 年穩坐第一!另外,藉着數據科學和人工智能的東風,Python 首次戰勝 Java,成爲 GitHub 上使用人數第二多的編程語言。實際上,不單單是 Python,「深度學習」、「天然語言處理」、「機器學習」等主題的項目正變得愈來愈流行。從 2016 年到 2019 年,Jupyter Notebook 的使用量同比增加超過 100%。 NTLK 之類下降 NLP 入門門檻的工具包的使用量增加趨勢也與此相似。此外,C# 和 Shell 在過去一年增加迅速。

以前提到 flutter 2019 年在貢獻者最多的項目中位列第三,在增加最快的開源項目中位列第二,因此 Dart 成爲增加最快的語言也就不足爲奇了。Rust、Kotlin、TypeScript 等注重類型安全和互操做性的靜態類型語言發展勢頭也十分喜人。

結語

2019 年,愈來愈多的人成爲開發者,開發者社區愈來愈國際化,開源軟件的生態愈來愈繁榮,古老的語言和嶄新的框架交相輝映。讓咱們以 GitHub 2019 年度報告的最後一句話結束本文:

你正建立代碼、社區、工具、技術,它們將是將來若干年驅動咱們世界前行的動力。

本文圖片和數據來自 GitHub 2019 年度報告,解讀僅供參考。

相關文章
相關標籤/搜索