開源 .NET 一年後,ASP.NET 貢獻情況分析

發表於2016-01-22

之前的文章我們討論了微軟開源 .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 個人資訊裡面標記為微軟員工,比如:

David Fowler Profile

結果

經過這個調查分析,“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 (點選檢視原圖)

Issues Per Month - By Submitter (Microsoft or Community)

每個月合併的 Pull Request  – By Submitter (點選檢視原圖)

Merged Pull Requests Per Month - By Submitter (Microsoft or Community)

人們的貢獻總和

不同角色 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

總結

社群越來越多的響應會促使微軟開源更多的專案程式碼。

相關文章