2019 年中國開源年度報告(數據篇)

linux中國 發佈 2020-01-07T11:20:24+00:00

我們對託管在 Gitee 的開源項目進行了統計分析,梳理和解讀程式語言、功能分布的變化趨勢,分析開發者在 Gitee 參與開源的情況,以期為觀察國內開源的演進提供一個「本土平台」視角。轉自: https://kaiyuanshe.

我們對託管在 Gitee 的開源項目進行了統計分析,梳理和解讀程式語言、功能分布的變化趨勢,分析開發者在 Gitee 參與開源的情況,以期為觀察國內開源的演進提供一個「本土平台」視角。

轉自: https://kaiyuanshe.cn/2019-China-Open-Source-Report/data-gitee.html
作者/來源: 開源社

數據篇 - Grank 分析

本報告中收錄的是 Linux 中國發布的《 中國開源項目 Grank 分析報告(2019) 》的簡化版本,此處略。

數據篇 - Gitee 分析

Gitee.com 是開源中國旗下的代碼託管平台,自 2013 年推出至今,已有超過 400 萬開發者用戶。我們對託管在 Gitee 的開源項目進行了統計分析,梳理和解讀程式語言、功能分布的變化趨勢,分析開發者在 Gitee 參與開源的情況,以期為觀察國內開源的演進提供一個「本土平台」視角。

一、趨勢與分布

1.1 程式語言趨勢

2019 Gitee 最受歡迎程式語言 TOP 10

  • Java 和 JavaScript 占據前兩位,與去年排名一致,但 Java 開源項目占比小幅下降,而 JavaScript 開源項目占比有小幅上升。 結合下跌 4 位、排在第 10 的 Android 來看(Android 嚴格而言不是程式語言,本質上反映的主要是 Java 與 Kotlin 語言),Java 占比小幅下降可能與谷歌今年的 Kotlin First 戰略有關,現在,如果開發 Android 應用,Kotlin 成為了與 Java 一樣的一級語言,這或許分流了一部分 Java 開發者。
  • Android 的整體下跌可能與 Kotlin 剛剛大規模進入 Android 開發者視野有關,畢竟項目從 Java 遷移到 Kotlin,或者開發者從 Java 切換到 Kotlin 來開發新項目都需要一些成本。但更主要是受到了近兩年爆發的大前端趨勢的影響。微信小程序、百度智能小程序、阿里小程序(支付寶、釘釘等)、快應用、混合、PWA 與 WebAssembly 等各種大前端技術在 2019 年爭相進入落地期,催生出各種跨端方案,使得大前端熱鬧異常。聚焦到移動開發,由於這些技術解放了對底層平台的限制,移動開發不再局限於 Android 與 iOS 這樣的特定端,許多開發者不再需要開發「移動 app」,直接用跨端框架開發「小程序」不僅更加便捷,對企業而言也是能夠大幅降低研發和運維成本的性價比之選。同時,經濟形勢放緩、網際網路寒冬也是 Android 開發的「式微」的一個背景原因。
  • Python 今年上升一位,首次進入前三,反映出人工智慧持續升溫,在 2019 獲得更多程式設計師認可。C++ 占比上升兩位,雖然 Rust 今年大火,但當前底層基礎設施性質的項目以及區塊鏈、比特幣等新興基礎項目主要還是使用 C/C++。
  • Golang 首次進入前十,這與近年來雲原生、容器化火爆不無關係。

2019 Gitee 增速最快程式語言 TOP 10

  • 隨著 Google 的 Flutter 框架的火熱,Dart 語言受到廣泛關注和使用,增速超過 250%。今年 Flutter 發布了迄今為止最重大的版本,一舉成為多平台框架,支持移動、Web、桌面與嵌入式設備;而 Dart 也在與 C 的互操作、UI 構建和預編譯本地可執行程序等特性上大幅改進。
  • 注重高效、安全與並行的系統級程式語言 Rust 受到越來越多開發者的關注和使用。值得一提的是,國內目前並沒有太多特別優秀的 Rust 落地實踐,這可能與 Rust 語法晦澀難懂、學習曲線過於陡峭有關。但 Rust 是一門極具潛力的語言,並且獲得了微軟、谷歌等大廠的大力支持,未來可期。已有 Rust 開源項目的成長同樣值得期待,比如內嵌式 Docker ——Rocker,針對基於 Linux 的資源受限的 IoT 系統,旨在提高其資源利用率和系統安全性,避免額外的性能開銷。
  • MATLAB 已連續兩年以超過 130% 的速度增長,MATLAB 應用範圍非常廣,包括信號和圖像處理、通訊、控制系統設計、測試和測量、財務建模和分析以及計算生物學等眾多應用領域。
  • TypeScript 穩紮穩打,目前是 JavaScript 中最受歡迎的方言,這與幾大 TS 編寫的前端框架在大前端領域的自由發揮有極大關係。
  • Kotlin 的增長似乎不太理想,不過如前文所述,Kotlin 剛剛大規模進入開發者視野,開發者在遷移時會有一些成本,並且長期以來,Java 以其實用性與豐富的生態統治著 Android 開發領域,或許還沒到退位的時候。

2019 有更多新語言出現在 Gitee

2019 年有許多特別小眾的語言出現在 Gitee 上,除了小眾,這些語言的特點是特別「極客」,都有很強烈的特色。除了廣受歡迎的明星開源項目,我們也非常欣喜地看到一些相對小眾、極客式的、具有無限潛力的項目和新嘗試湧現。

1.2 功能分布

2019 Gitee 新增開源項目功能分布 TOP 10

  • 程序開發和 WEB 應用開發占據前兩位,與 2018 年排名一致,但占比都有所下降,可能的原因是開發者在更多嘗試新的功能和新的方向。另外,人工智慧這一功能分類首次進入前十,與去年相比增長了 60%。關於 2019 年人工智慧的持續升溫,不得不提到 2019 年 TensorFlow 與 PyTorch 的演進,TensorFlow 發布了 2.0,PyTorch 發布了 1.0,各自都帶來了極其強大的新特性,同時,基於這兩大框架,各大廠商也相繼開源了各自的人工智慧方案。
  • 微信開發跌出前十。
  • 其他開源類項目同比增長 52.11%,其中增速最快的三個子類別是硬體相關項目、物聯網/邊緣計算、圖書/手冊/教程。中國自主研發的物聯網作業系統 RT-Thread 成功獲得數百萬美金的A輪投資,Raspberry Pi (樹莓派)發布 4.0 版本,也讓物聯網、硬體項目持續受到開發者關注。

2019 Gitee 新增開源項目二級功能分布 TOP 10

硬體相關項目及 Vue 擴展組件首次進入前十,且排名上升幅度較大。硬體相關項目與 2018 年同比增長 139.29%,Vue 擴展組件與 2018 年同比增長 44.74%。

通過程式語言、功能與開源項目相關的數據榜,我們可以看出,Gitee 平台上的開發者與開源項目趨勢也折射出國內當前軟體開發行業的大趨勢。

1.3 捐贈分布

這些功能的開源項目在 2019 收穫捐贈最多

其中,這些二級功能的開源項目最受歡迎:

後台管理框架的捐贈者人數占比超過了四分之一,捐贈者占比最多的項目的一大共同特點是:應用性強、開箱即用。

1.4 開發者地域分布

使用 Gitee 的開發者分布排名前三位是:廣東、北京、上海,整體分布沒有太大變化,這與 IT 產業的整體布局相吻合。值得注意的是,河南省用戶數增多,首次進入地域分布前十位。

二、開源治理與社區

2019 年,開源界精彩紛呈,開源受到了前所未有的關注,越來越多的開發者開始關注和了解開源文化、規則,開始認識到社區的重要性,開始嘗試參與開源。我們從 Gitee 的數據也捕捉到了這一變化。

2.1 開源許可證

開發者對開源許可證的關注和規則意識在逐漸加強,2019 年,Gitee 使用開源協議的倉庫占比 提升至 72%。

2019 年 8 月,Gitee 率先支持中國開源許可證 —— 木蘭寬鬆許可證。目前, Gitee 上使用木蘭寬鬆許可證的開源倉庫已經超過 4000 個。

2.2 開源組織

Gitee 的開源組織數量在 2019 年以月均 24.46% 速度持續增長。

隨著各大科技企業對開源的關注持續升溫,越來越多優秀的開源組織陸續入駐 Gitee,如騰訊藍鯨智雲 與 TARS、滴滴開源、華為鴻蒙( HarmonyOS )與歐拉(openEuler)、螞蟻金服 SOFASTACK 與 AntV、北京大學數字視頻編解碼技術國家工程實驗室視頻編碼組、微眾銀行(WeBank)、科學大數據開源社區等。

2.3 協作方式

2019 年,很多人邁出了參與社區的第一步——提了第一個 Issue/PR,這是一個非常好的趨勢。越來越多的人選擇使用 Issue 來反饋問題、使用 PR 來參與代碼貢獻,以更好的方式參與開源協作。我們相信,未來會有更多開發者以更「開源」的方式參與開源,參與項目和社區的成長,感受開源所帶來的便利和欣喜。

Issue

  • 2019 年,開源項目的 Issue 數比去年增長 84.42% ,有 3.8 萬開發者第一次在 Gitee 提 Issue,參與開源。
  • 結合功能分類的維度來看,WEB應用開發-後台管理框架的討論度最高,Issue 數占比 32.58%,比第二位的資料庫開發包功能下的開源項目多出 27.5%,以絕對優勢占據第一。
  • 這些功能的開源項目新增 Issue 數最多:

Pull Request

  • Pull Request 數比去年增長 48.96% 。

2.4 捐贈開源

除了提 Issue 和 PR,也有些人選擇更「直接」的方式表達了對開源項目的認可,2016 年,Gitee 正式上線了捐贈功能。2019 年,近 2000 位開發者第一次在 Gitee 對開源項目捐贈,回饋開源。

2.5 GVP 參與度分析

GVP ( Gitee most Valuable Project ) - Gitee 最有價值開源項目計劃,是經綜合評定優選的開源項目展示平台,經兩年多的發展,已有 200 余個項目,其中,2019 年有 93 個開源項目入選 GVP 。

這些項目的表現,在一定程度上反映了本土優秀開源項目的情況,我們通過 Gitee 指數、Star、Issue、Pull Request、貢獻者等維度對其進行了分析:

綜合分析

Gitee 指數是 2018 年底推出的一項功能,從代碼活躍度、社區活躍度、團隊健康、流行趨勢、影響力這 5 個維度對開源項目進行分析,以直觀數值的形式來展示對一個開源項目各方位的指標綜合度量。

  • 在 2019 年 Gitee 指數排名前 50 的開源項目中,GVP 占據 41 個席位,Gitee 指數普遍超過 80 分。

2019 GVP- Gitee 指數排名 TOP 10

Star、Issue、Pull Request

  • 2019 年 Gitee 新增 Star 最多的 TOP 50 開源項目中,有 37 個 GVP 項目。
  • 2019 年,平均每個 GVP 項目的 Issue 數比去年增長 119%,Pull Request 數增長 71%。

貢獻者

  • 2019 年,有 79% 的 GVP 項目新增超過 2 位貢獻者,50% 的 GVP 項目貢獻者增長超過 5 人。GVP 項目貢獻者人數分布情況:

GVP 項目貢獻者人數普遍較多,一方面反映出有更多開發者願意為優秀項目貢獻代碼,成為社區的一員;另一方面也體現了運作良好的社區對項目健康成長的意義。

代碼與社區是相輔相成的關係,優質的項目總是可以吸引更多貢獻者,而社區也為項目成長提供了更多靈感與力量。我們期待越來越多開發者以更高效、社區化的方式參與開源,越來越多的開源項目在社區中汲取營養、發展壯大。 —— Gitee.com(統計截至 2019 年 12 月 20 日)

點擊「了解更多」可訪問文內連結

關鍵字: