Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Microsoft & Open Source - a 'brave new world' - ProgSCon 2017

443 views

Published on

It's a 'brave new world' or 'hell has frozen over' (depending on your point-of-view). Microsoft is the top contributor on GitHub, they have opened-sourced their entire .NET platform and gone cross-platform!

In this talk we will look at what the new 'Open-Source' Microsoft actually looks like, what they've done, how they're doing it and what it all means. From new features to compiler design meetings, from TechEmpower benchmarks to increased community contributions, we will examine it all!

Published in: Software
  • Be the first to comment

  • Be the first to like this

Microsoft & Open Source - a 'brave new world' - ProgSCon 2017

  1. 1. Microsoft and Open Source a ‘brave new world’ www.mattwarren.org @matthewwarren
  2. 2. Microsoft and Open Source a ‘brave new world’ What happened when Microsoft Open-Sourced EVERYTHING* * Well, not quite everything, but pretty much all of the .NET Framework
  3. 3. Before
  4. 4. Microsoft takes .NET Open Source
  5. 5. Licensing
  6. 6. Licensing
  7. 7. https://blogs.msdn.microsoft.com/bethmassi/2015/02/25/understanding-net-2015/
  8. 8. https://blogs.msdn.microsoft.com/bethmassi/2015/02/25/understanding-net-2015/
  9. 9. CoreCLR & CoreFX CoreCLR – Runtime or Virtual Machine • Garbage collector • JIT compiler • Base .NET data types • Many low-level classes CoreFX - Core Libraries • System.Collections • System.IO • System.Xml
  10. 10. CoreFX Labs Future work Span<T> (a.k.a Slices) High-performance text processing
  11. 11. Cmd-Line Tooling (CLI) λ dotnet new Created new C# project in C:usersmattdotnet. λ dotnet restore log : Restoring packages for C:usersmattdotnetproject.json... log : Writing lock file to disk. Path: C:usersmattdotnetproject.lock.json log : Restore completed in 23512ms. λ dotnet build Compiling dotnet for .NETCoreApp,Version=v1.1 Compilation succeeded. 0 Warning(s) 0 Error(s) Time elapsed 00:00:01.9025293 λ dotnet run Hello World!
  12. 12. Roslyn (C# Compiler) C# compiler, written in C# Can be consumed by 3rd parties • Syntax highlighting • Analysers • Tooling Language Design Discussions
  13. 13. TypeScript
  14. 14. VS Code
  15. 15. Kestrel Web Server
  16. 16. During
  17. 17. The First PR
  18. 18. Comedy PRs
  19. 19. Good • Organisation and Process • Never let PR’s rot • Provide infrastructure • Allow the community ‘in’ • ‘Getting started’ guides
  20. 20. Bad • Some decisions made behind ‘closed doors’ (e.g. ‘project.json’) • Microsoft still the ‘gate-keepers’ • Issues slipping through the gaps
  21. 21. After
  22. 22. Do .NET developers care?
  23. 23. Do .NET developers care? Did going open-source make any difference?
  24. 24. The organization with the largest number of contributors to open- source projects over the past year on GitHub is, surprisingly, Microsoft, GitHub announced today. https://octoverse.github.com/
  25. 25. Are Microsoft telling the truth?
  26. 26. Are Microsoft telling the truth? There’s only one way to find out!!
  27. 27. async Task<SearchIssuesResult> RunQuery(GitHubClientInfo clientInfo, string query, int pageSize, int pageNumber) { var issue = new SearchIssuesRequest(query); issue.Repos.Add(clientInfo.Organisation, clientInfo.Repository); issue.SortField = IssueSearchSort.Created; issue.Order = SortDirection.Ascending; issue.PerPage = pageSize; issue.Page = pageNumber; var result = await clientInfo.Client.Search.SearchIssues(issue); return result; } C#
  28. 28. Open Source .NET – 2 years later http://mattwarren.org/2016/11/23/open-source-net-2-years-later/
  29. 29. Do .NET developers care? • Sustained contributions • Not just an initial bump • Opening issues and creating pull-requests • Bug fixes, entire features, future ideas • Across the entire stack • Runtime, Class libraries, Compiler, JIT and even GC
  30. 30. Questions? www.mattwarren.org @matthewwarren

×