微軟開源 .NET 一年後,ASP.NET 情況分析
方法
在上一篇中,我們首先把 問題 / 拉取請求 分成 擁有者 、 協作者 或 社區 三類。然而這有一些問題,正如在評論中指出的那樣,有幾個人並非微軟僱員,但是由於其在某個項目上的積極貢獻也被列為了協作者,比如 @kangaroo 和 @benpye。
為了解決這個問題,我決定分成兩類:
- 微軟
- 社區
這是可行的,因為(基本上)所有的微軟僱員都會在其 GitHub 個人頁面上標記其為微軟僱員,比如:
這種情況有一些例外,比如 @shanselman 顯然是在微軟工作,不過這種情況很好解決。
結果
在結束了所有分析之後,我得到了結果。總的來說,超過 60% 的「 發現的問題 」和 33% 的「 合併的 PR 」來自社區。然而,PR 的佔比受到了 Entity Framework 項目中微軟僱員超高的 PR 數量的影響,從而有些不能準確反映情況。如果忽略這個項目,社區貢獻的 PR 將佔到 44%。
發現的問題(2013/11 - 2015/12)
項目 | 微軟 | 社區 | 合計 |
---|---|---|---|
aspnet/MVC | 716 | 1380 | 2096 |
aspnet/dnx | 897 | 1206 | 2103 |
aspnet/EntityFramework | 1066 | 1427 | 2493 |
aspnet/KestrelHttpServer | 89 | 176 | 265 |
合計 | 2768 | 4189 | 6957 |
合併的 PR(2013/11 - 2015/12)
項目 | 微軟 | 社區 | 合計 |
---|---|---|---|
aspnet/MVC | 385 | 228 | 613 |
aspnet/dnx | 406 | 368 | 774 |
aspnet/EntityFramework | 937 | 225 | 1162 |
aspnet/KestrelHttpServer | 69 | 88 | 157 |
合計 | 1798 | 909 | 2706 |
備註:我包括了 Kestrel Http Server 項目,因為它是一個有趣的例子。當前它的第一號貢獻者 Ben Adams 並非微軟僱員,他為改善其內存使用做出了很大的貢獻,讓 Kestrel 可以每秒鐘接受更多的請求。
通過觀察隨時間推移的變化,可以很清楚的看到社區(淺色條)在過去兩年(2013/11 - 2015/12)來的參與情況,看起來並不像是趨於停止。
每月發現的問題數 - 按提交者
此外,雖然社區參與情況可以很容易地從每月發現的問題數上看出來,不過從合併的 PR 數上也可以再次印證這兩年來的趨勢。
每月合併的 PR 數 - 按提交者
貢獻總數
每個項目的貢獻人數也很有意思。通過這個你可以看到社區貢獻者的實際規模,並不是少量的人做了大量的工作,而是這些工作由大量的人分散完成的。
這個表格展示了每個項目中發現問題和提交了被合併的 PR 的人數:
項目 | 微軟 | 社區 | 合計 |
---|---|---|---|
aspnet/MVC | 39 | 395 | 434 |
aspnet/dnx | 46 | 421 | 467 |
aspnet/EntityFramework | 31 | 570 | 601 |
aspnet/KestrelHttpServer | 22 | 95 | 117 |
合計 | 138 | 1481 | 1619 |
FSharp
在我的第一篇文章的評論中,Isaac Abraham 指正說:
所以,為了解決這個問題,我去了解了一下主要的 FSharp 倉庫:
按 Isaac 的解釋,他們之間的關係是:
... visualfsharp 是微軟自己的 Visual F# 版本倉庫。而另外一個是社區管理的一個。前一個是直接作為 Visual Studio 其中的 Visual F# 工具;而後一個則是類似 Xamarin 的東西。這裡有個(稍微過時的)解析它們關係的圖表,以及另外一個有用的資源:http://fsharp.github.io/ 。
FSharp - 發現的問題(2010/12 - 2015/12)
項目 | 微軟 | 社區 | 合計 |
---|---|---|---|
fsharp/fsharp | 9 | 312 | 321 |
microsoft/visualfsharp | 161 | 367 | 528 |
合計 | 170 | 679 | 849 |
FSharp - 合併的 PR(2011/5 - 2015/12)
項目 | 微軟 | 社區 | 合計 |
---|---|---|---|
fsharp/fsharp | 27 | 134 | 161 |
microsoft/visualfsharp | 36 | 33 | 69 |
合計 | 63 | 167 | 230 |
結論
我認為,公平地說社區已經對微軟越來越多地開源其代碼的動作做出了回應。在幾個項目上社區花費了大量時間,做出了顯著的貢獻。雖然你可以說微軟也花費了大量的時間來開源,但是看起來 .NET 開發人員很喜歡他們做的事情,體現了可觀的社區響應。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive