4000萬程序員最愛開源項目和編程語言排名出爐!
全球最大開發(fā)者社區(qū)GitHub今天重磅發(fā)布2019年度報告:GitHub目前在全球已有超過4000萬開發(fā)者用戶,其中80%來自美國之外的地區(qū)。此外,JavaScript仍然是使用人數(shù)最多的語言,但史上第一次,Python擊敗Java排名第二。
4000萬開發(fā)者在365天里能做什么?
今天,全球最大開發(fā)者社區(qū)GitHub重磅發(fā)布2019年度報告,透露了一個數(shù)據(jù):GitHub目前在全球已有超過4000萬開發(fā)者用戶,其中80%來自美國之外的地區(qū)。
僅去年一年,就有1000萬新開發(fā)者加入GitHub,創(chuàng)建第一個項目的用戶比2018年增加了44%,130萬開發(fā)者對開源做出了第一個貢獻。甚至還有來自南極等新地方的貢獻。
4000萬開發(fā)者在去年總共構建了4400萬個倉庫,像“深度學習”、“自然語言處理”和“機器學習”等主題的代碼倉庫在過去一年中越來越受歡迎。GitHub在2018年11月突破了1億倉庫的里程碑。
微軟的Visual Studio Code或VSCode (19.1K)、Azure Docs (14K)和Flutter (13K)是去年GitHub上貢獻者最多的開源項目,其次是谷歌的TensorFlow (9.9K)、Kubernetes (6.9K)和Facebook創(chuàng)建的 React Native 框架。
JavaScript仍然是開發(fā)者在GitHub上使用的最流行的語言,但在GitHub歷史上,Python首次擊敗Java,成為使用人數(shù)第二多的編程語言。
而去年增長最快的語言是Dart,它是谷歌UI工具包Flutter的編程語言;其次是Rust、HCL、Kotlin和TypeScript。
此外,在過去三年中,使用Jupyter Notebooks(按以Jupyter為主要語言的倉庫的數(shù)量)的同比增長超過了100%。
而TensorFlow的增長更加驚人:TensorFlow的貢獻者從2238人增長到25166人,已經(jīng)成為一個全球性的社區(qū)。
下面我們來看詳細報告。
80%的Github用戶來自美國以外,中國開源使用增長迅速
在過去的一年中,有 1000萬新開發(fā)者加入了GitHub社區(qū),為全球4400萬個開源項目做出了貢獻。而且,接近80%的Github用戶來自美國以外。
開源世界由維護者,開發(fā)者,研究人員,設計師,作家等組成的全球團隊構建。平均而言,今年GitHub上的每個開源項目都歡迎來自41個不同國家和地區(qū)的貢獻者。自2014年以來,來自美國以外的更多開源資源在不斷增長。
今年,繼美國之后,中國,印度和德國的開源使用增速加快。其中,中國的開發(fā)者fork和clone的項目相較去年增加了48%。
開源使用 Top 20地區(qū)(除美國)
香港開源貢獻者增速連續(xù)2年蟬聯(lián)榜首
隨著開發(fā)者社區(qū)在亞洲和非洲的發(fā)展,開源變得更加全球化。從安圭拉到南極洲,我們也看到了前所未有的貢獻。
從增速來看,伊朗開發(fā)者在公共儲存庫中創(chuàng)建的開源項目增速第二,GitHub也希望這一地區(qū)將來能更方便地訪問GitHub。
今年,開源項目貢獻者數(shù)量增長最多的是中國香港、新加坡和日本,其中香港特別行政區(qū)增速達到101%,比第二名新加坡增速還高出24%。
除開源之外,從公共和私人貢獻來看,亞洲的開發(fā)者社區(qū)在2019年增長迅速。其中31%的亞洲貢獻者來自中國,另外非洲開發(fā)者數(shù)量也正顯著上升。自2014年以來,美國以外地區(qū)開發(fā)者數(shù)量不斷上升,亞洲貢獻者群體的年增長率已超過歐洲和北美。
Github 在 2019 年推出了免費的私有存儲庫,到目前為止,它已經(jīng)影響全球,甚至是南極洲。自2019年1月推出以來,從圖中可以看到80%的免費私人存儲庫在美國以外創(chuàng)建。亞洲地區(qū)創(chuàng)造了36%,其中大部分是由印度、中國和日本的開發(fā)者所創(chuàng)建。
各大洲采用免費私人存儲庫的占比情況
GitHub上貢獻者增長最快的區(qū)域排名如下,中國香港連續(xù)第二年位居榜首,日本也在持續(xù)攀升。
按貢獻者增長top 10地區(qū)(該列表僅限于2019年至少有2萬名貢獻者的國家和地區(qū))
TensorFlow 匯聚25000貢獻者,以開源項目連接更大軟件社區(qū)
Github 上數(shù)以百萬計的開發(fā)者通過軟件組成了一個越來越相互連接的社區(qū)。單個程序包可以支持數(shù)百萬個其他項目,以此我們能更好地看到社區(qū)間的相互連接。
平均而言,超過360萬的存儲庫都依賴于前50個開源項目,諸如 rails / rails, facebook / jest和 axios / axios之類的項目也被數(shù)百萬其他存儲庫使用。203個程序包依賴項通過啟用的依賴關系圖支持所有公共和私有存儲庫。平均每個開源項目具有180個程序包依賴項,但是這個數(shù)字的范圍可以從幾個軟件包到1000個以上。
今年有35萬人為前1000個項目做出了500萬以上的貢獻(按星星數(shù)排序)。130萬開發(fā)者首次加入開源社區(qū),并為開源項目做出了首次貢獻。
每個語言生態(tài)系統(tǒng)(JavaScript,Python,Ruby等)中排名前50位的開源程序包都有數(shù)量眾多的依賴項目。例如,盡管平均每個直接貢獻者少于40人,但流行的 npm 軟件包仍可能是數(shù)百萬其他存儲庫的依賴項。
項目依賴程度最高的十大開源軟件包,有超過四百萬個存儲庫分別依賴于 lodash /lodash,expressjs /express 和 visionmedia /debug。
TensorFlow 匯聚25000貢獻者,以開源項目連接更大軟件社區(qū)
作為GitHub上最受歡迎的項目之一,TensorFlow 可以向我們展示開源項目如何連接更大的軟件社區(qū)。依賴 Python 軟件包的存儲庫的社區(qū)貢獻者平均數(shù)量約為19000萬。TensorFlow 的社區(qū)也不例外。成千上萬的人為其依賴項做出了貢獻,例如 Numpy,Pytest 等。
去年,有 9900 名貢獻者為 TensorFlow 做出了貢獻,pull requests,打開issues等。2200 位開發(fā)者為 TensorFlow 直接做出了貢獻。25000 位社區(qū)貢獻者為 TensorFlow 相關項目作出了貢獻。現(xiàn)在,在項目依賴關系網(wǎng)絡的基礎上,有 46000 個依賴存儲庫依賴于 TensorFlow 。
(貢獻包括但不限于創(chuàng)建拉取請求,提出問題或進行提交)
社區(qū)內(nèi)部協(xié)同,解除 760 萬個安全警報
代碼重用可以幫助每個人以前所未有的速度構建軟件,但同時也使開發(fā)者面臨從其依賴項分發(fā)安全漏洞的風險。當發(fā)現(xiàn)潛在的漏洞時,我們會看到維護者,開發(fā)者,研究人員和工具生態(tài)系統(tǒng)一起工作,以確保代碼安全。
今年,社區(qū)中的開發(fā)者、維護人員和安全研究人員解除了 760 萬個安全警報。自 2019 年 5 月發(fā)布以來,通過 Dependabot 提出的拉取請求將 20.9 萬個自動修復程序合并到 GitHub 存儲庫中。
最受歡迎的項目、語言和工具:Python首次擊敗Java位列第二
GitHub上的項目可謂種類繁多,從重新設計機器人到檢測疾病等等。不過,報告發(fā)現(xiàn)的一個趨勢是,無論開發(fā)者是測試游戲還是訓練算法,他們今年的工作效率都比以往任何時候都要高。
以下是2019年最受歡迎的項目,以及最受歡迎、增長最快的編程語言和工具。
今年GitHub上新增的開源項目達到4400萬個,占GitHub上所有倉庫的30%。
貢獻者最多的開源項目TOP 10
今年,最流行的開源項目貢獻者有超過10000名。其中兩個自2016年就在榜單中了,它們是microsoft/vscode 和 ansible/ansible。
2019年新進入這個榜單的是flutter/flutter, firstcontributions/first-contributions, 以及 home-assistant/home-assistant.
貢獻者最多的開源項目TOP 10
貢獻者增長最快的開源項目TOP 10
跨語言和平臺構建應用程序和網(wǎng)站的工具包和框架在今年的增長很快。自2018年12月發(fā)布1.0版本以來,flutter/flutter的增速排名第二。
值得關注的新項目
有一些項目雖然增長不是最快的,不過很值得關注。包括:
- TrillCyborg/fullstack
一個full-stack樣本,供用戶學習一些很酷的東西,或構建你的下一個應用程序(注:程序員被拖欠工資,怒將這個項目開源了……)
- jesseduffield/lazydocker
docker和docker-compose的一個簡單的終端UI,用gocui庫和Go編寫
- practicalAI/practicalAI
使用機器學習從數(shù)據(jù)中獲得有價值的見解
- pomber/git-history
一種快速瀏覽任何Git存儲庫中文件歷史的方法
最受歡迎的編程語言TOP 10
今年,開發(fā)者們在GitHub上使用了370多種主要語言。
年度使用人數(shù)最多的編程語言仍然是JavaScript,連續(xù)6年穩(wěn)坐第一寶座!
而今年新爬上本榜單的是C#和Shell。而且,史上第一次,Python超過Java,成為GitHub上使用人數(shù)第二多的編程語言。
增長最快的編程語言TOP 10
隨著Flutter進入GitHub趨勢庫,Dart今年獲得更多貢獻者也就不足為奇了。
報告還發(fā)現(xiàn),面向類型安全和互操作性的靜態(tài)類型語言:Rust,Kotlin和TypeScript的社區(qū)仍在快速發(fā)展。
Jupyter Notebooks增長超過100%
如何判斷GitHub上數(shù)據(jù)科學正在快速發(fā)展?在過去三年中,使用Jupyter Notebooks(按以Jupyter為主要語言的倉庫的數(shù)量)的同比增長超過100%。
NLP 增長迅猛
自然語言處理(NLP)在GitHub上的增長也非常迅猛,部分原因是因為NTLK之類的軟件包降低了NLP入門的門檻。
最后,從今年的全球趨勢、熱門項目和最受歡迎的編程語言可以看出,軟件發(fā)展很快。有著30年歷史的語言正在尋找新的應用程序,而新的框架正在獲得成千上萬的貢獻者,人們正在提交來自世界各地的一切,從Python包到學術論文。
隨著管理、集成和支持新工作流的方式越來越多——通過應用程序、GitHub Actions等等——我們已經(jīng)迫不及待地想要看到構建軟件的下一步將如何發(fā)展。
感謝4000萬開發(fā)者在2019年一起貢獻開源,不管是為了工作還是娛樂,使軟件比以往任何時候都更容易訪問、更安全、連接更緊密。你們創(chuàng)建的代碼、社區(qū)、工具和技術將推動我們的世界在未來幾年向前發(fā)展。
完整報告地址:
https://octoverse.github.com/