.NET 開源一年以后......

微軟已經開源 .NET framework 的核心部分一年多了,之前 Scott Hanselman 做了一個 非常好的源代碼分析工具,基于微軟的 Power BI 實現。本文也是通過這個分析工具得出的結論,.NET 框架核心部分開源一年多了:
自從微軟開源之后,究竟社區參與了多少?
這里會以 3 個 .NET 生態系統中最主要的三個部分來說明,這些項目也是 .NET 基金會最活躍/最多 star 和最多 Fork 的項目:
Roslyn - .NET 編譯平臺 ("Roslyn") 提供開源 C# 和 Visual Basic 的編譯器,支持富代碼分析 APIs。
CoreCLR - .NET Core 運行時,名為 CoreCLR,包括一個基礎庫 mscorlib。CoreCLR 包括垃圾收集器,JIT 編譯器,基礎 .NET 數據類型和大量低級別類。
CoreFX - .NET Core 函數庫,包括集合,文件系統,工作臺,XML,異步等等。
現有數據
GitHub 自身也有一些內置圖表,以下就是整一年中的 Commits per Month:
還有一個很清晰的儀表盤可以查看 Monthly Pulse
但是要回答那個問題還需要更多的數據,幸運的是,GitHub 還提供一個非常不錯的 API,完美的結合了 Octokit.net library 和 LINQPad,這樣可以輕松的獲取想要的數據。這里有個示例 LINQPad 腳本。
但是,即使知道每個月的 "# of Issues" 或者 "Merged Pull Requests" 也沒有用,因為不能知道是誰創建了 issue 和提交了 PR。但是 GitHub 還有一個功能,可以識別不同的用戶。請看 Roslyn Issue #670,可以清楚的識別用戶是項目所有者還是協作者,沒有任何說明的就是社區參與人員。
結果
數據已經到手,結果就在數據里面:
總 Issues 數 - By Submitter
Project | Owner | Collaborator | Community | Total |
---|---|---|---|---|
Roslyn | 481 | 1867 | 1596 | 3944 |
CoreCLR | 86 | 298 | 487 | 871 |
CoreFX | 334 | 911 | 735 | 1980 |
Total | 901 | 3076 | 2818 | 6795 |
在 這里可以看出,在某些情況下,擁有者和協作者貢獻占主導地位。例如:Roslyn 幾乎 60% 的 issues 是擁有者和協作者開啟的。但是在另一些方面,社區表現會很活躍,特別是在 CoreCLR,這個項目社區成員開啟的 issue 比較多。還有一部分原因是不同的項目,CoreCLR 是 .NET 最明顯的部分,包括微軟的一些網絡框架,.NET 開發者日常開發經常用到,所以社區會有比較多的建議,改進和修復,而且 CoreCLR 是比較有歷史的一個庫。相對來說,Roslyn 是一比較新的項目,平常比較少用,而且在編譯器找錯誤也是比較困難的。
總合并 Merged Pull Requests - By Submitter
Project | Owner | Collaborator | Community | Total |
---|---|---|---|---|
Roslyn | 465 | 2093 | 118 | 2676 |
CoreCLR | 378 | 567 | 201 | 1146 |
CoreFX | 516 | 1409 | 464 | 2389 |
Total | 1359 | 4069 | 783 | 6211 |
但是當我們看合并的 Pull Requests 數,社區成員無疑是參與比較少的,只有大概 12%。但這并不意外,因為不是所有的 pull request 都被接受。首先,項目會使用他自己的機制, "up for grabs",所以 12% 已經很不錯了。h
更新: "up for grabs" 并不是必要的。
每個月的 Issues 數 - By Submitter
每個月合并的 Pull Request - By Submitter
issue 標簽 Top 20
最常使用的 issue 標簽 TOP 20
這是根據結果的一些觀察:
列表里面的 CodeGen 很高,但也不意外,因為 RyuJIT - 下一代 .NET JIT 編譯器才發布了兩年。
3 個項目都包括大量的 "Up for Grabs" issues,詳情請看 Roslyn, CoreCLR 和 CoreFX
Performance 和 Optimisation 一直都被重視,總而言之 Performance is a Feature!!
來自: http://www.oschina.net//news/70072/open-source-net-1-year-later