開源 .NET 一年后,ASP.NET 貢獻情況分析
在之前的文章我們討論了微軟開源 .NET 框架核心部分后一年的社區的貢獻程度。本文要繼續繼續分析這個問題,但是主要關注的是 ASP.NET 生態圈下的項目:
MVC - 構建動態 Web 網站的 模型-視圖-控制器 框架,包括合并 MVC,Web API 和 Web Pages w/ Razor。
DNX - DNX (一個 .NET 執行環境) 包括啟動和運行應用所需要的代碼,包括編譯系統,SDK 工具和原生 CLR hosts。
EntityFramework - 微軟為 .NET 新應用推薦的數據訪問技術
KestrelHttpServer - ASP.NET 5 基于 libuv 的 Web 服務器
方法論
在上一篇文章把 issues/PRs 創建者分為項目擁有者,協作者和社區成員。但是這會有一些質疑,有一些協作者并不是微軟員工。
所以,決定分為以下兩種角色:
微軟
社區
這是可行的,因為所有微軟員工都會在 GitHub 個人信息里面標記為微軟員工,比如:
結果
經過這個調查分析,“issues”超過 60% 是社區成員創建的,合并的“Pull Requests”有超過 30% 是社區成員完成的。但是,這個數據平均值已經被 EntityFramework 項目變得有點不真實,因為 EntityFramework 里面微軟員工完成合并的 PRs 比社區成員的多太多,如果忽略這個項目,社區成員完成的 PRs 數可以達到 44%。
Issues 創建 (2013 年 11 月 - 2015 年 12 月)
Project | Microsoft | Community | Total |
---|---|---|---|
aspnet/MVC | 716 | 1380 | 2096 |
aspnet/dnx | 897 | 1206 | 2103 |
aspnet/EntityFramework | 1066 | 1427 | 2493 |
aspnet/KestrelHttpServer | 89 | 176 | 265 |
Total | 2768 | 4189 | 6957 |
合并的 Pull Requests (2013 年 11 月 - 2015 年 12 月)
Project | Microsoft | Community | Total |
---|---|---|---|
aspnet/MVC | 385 | 228 | 613 |
aspnet/dnx | 406 | 368 | 774 |
aspnet/EntityFramework | 937 | 225 | 1162 |
aspnet/KestrelHttpServer | 69 | 88 | 157 |
Total | 1798 | 909 | 2706 |
注意:這里包括了 Kestrel Http Server 項目,因為這是非常有趣的一個事例,當前 #1 貢獻者并不是微軟員工,他是 Ben Adams,在改進內存使用做了很大的貢獻。
每個月創建的 Issues - By Submitter (點擊查看原圖)
每個月合并的 Pull Request - By Submitter (點擊查看原圖)
人們的貢獻總和
不同角色 GitHub 用戶對每個項目的總貢獻成都,issue 創建和 PR 合并:
Project | Microsoft | Community | Total |
---|---|---|---|
aspnet/MVC | 39 | 395 | 434 |
aspnet/dnx | 46 | 421 | 467 |
aspnet/EntityFramework | 31 | 570 | 601 |
aspnet/KestrelHttpServer | 22 | 95 | 117 |
Total | 138 | 1481 | 1619 |
FSharp
Isaac Abraham 指出了之前那篇文章的一些問題:
.NET 在一年之間開源的部分不僅僅是這么多,還有 F# 編譯器和 FSharp.Core。
為了確認這個,大概瀏覽了一下 FSharp 庫:
就像 Isaac 解釋的,他們的關系是:
... visualfsharp 是微軟的庫 Visual F#,另一個是社區所有。前者是直接集成到 Visual Studio 的 Visual F# 工具鏈;后者是類似 Xamarin 的工具。這里有一個 (過時) 關系解釋圖,其他內容請看 http://fsharp.github.io/。
FSharp - Issues 創建數 (2010 年 12 月 - 2015 年 12 月)
Project | Microsoft | Community | Total |
---|---|---|---|
fsharp/fsharp | 9 | 312 | 321 |
microsoft/visualfsharp | 161 | 367 | 528 |
Total | 170 | 679 | 849 |
FSharp - 合并的 Pull Requests (2011 年 5 月 - 2015 年 12 月)
Project | Microsoft | Community | Total |
---|---|---|---|
fsharp/fsharp | 27 | 134 | 161 |
microsoft/visualfsharp | 36 | 33 | 69 |
Total | 63 | 167 | 230 |
總結
社區越來越多的響應會促使微軟開源更多的項目代碼。
來自: http://www.oschina.net//news/70073/open-source-net-1-year-later-now-with-aspnet