A Peek into .NET Open Source Contributions
During the dotNetConf virtual conference, Scott Hanselman shared a map and some charts that were constructed based on participation in Microsoft owned GitHub repositories. In the comments and social media since, we have heard your questions and we would like to provide some additional information about the data and some additional images.
We wanted to answer the question: “Is Open Source .NET receiving contributions from the community?” Fortunately, all of the .NET source we wanted to measure was located in GitHub and accessible with the amazing Octokit.NET library. Yes, this is the same tool that Jasmine Greenway showed us during dotNetConf.
I wrote a set of simple data extraction methods that would copy data from GitHub to an Azure SQL database. Specifically, we extracted information about the aspnet/*, dotnet/*, xamarin/*, mono/mono, and Microsoft/vscode repositories. These extracts take a long time to run, having to analyze almost 200 repositories, so I turned the extraction process into a scheduled webjob and sent it off to Azure to run on a nightly basis.
Once the data started accumulating, I spent some time learning PowerBI. I had not used the tool before, and after spending some time learning about it and writing a few reports, I was hooked. Its so easy to attach to my Azure SQL database and start returning data.
Here’s the difficult part: to collect and identify user profile information, I used the GitHub API to query the publicly accessible user profile information for name, company, and location data. MANY individuals do not provide 100% accurate information in these fields, and that’s their choice. For those records that did have appropriate location information, I used the Bing Geocoding Helper with Bing Maps services to generate a latitude and longitude. Not everyone spells their locations in a way that Bing understands, but we took our best shot to get accurate data.
I took those locations Bing returned and using the PowerBI map visualization plotted every .NET repository participant that doesn’t work for Microsoft. The results for June 9th 2016 are pretty amazing:
Where to from here?
We think there’s a lot of data about the .NET Community that would be amazing to share. Over the next few weeks, we’re going to investigate how we can share this information and make it interactive for you. Keep an eye on this blog for more about the .NET open source ecosystem. We thank everyone who is involved whether by opening issues, commenting on issues, writing code, writing tests, and writing documentation.