2. About Me
Senior Engineer @ CRITICAL Software
Blogger @ Development With A Dot
Contributor @ NHibernate Community
MVP @ ASP.NET/IIS
Interests: .NET, ASP.NET, SharePoint, NHibernate, Entity
Framework, Design Patterns
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
3. Agenda
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
Wow!
When
What Who
Why
What’s
Next
5. Microsoft is now embracing open source!
Most current APIs are open source!
Others will follow!
Public statement: Microsoft & Open Source Software
But… is this really new?
Microsoft ♥ Open Source
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
7. Timeline
2001: Open source is bad for business, says Microsoft
Linux is a cancer
2007: Microsoft Will Support ODF If It Doesn't 'Restrict Choice Among Formats‘
2010: Microsoft Oxite launch
Visual Studio 2010 includes jQuery
2013: Git support for Visual Studio
2015: Microsoft: An Open Source Windows Is ‘Definitely Possible’
Visual Studio Code
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
2006: AJAX Control Toolkit released
2009: Microsoft ASP.NET MVC 1.0 is now Open Source MS-PL
Microsoft counted as key Linux contributor -- for now, anyway
2012: ASP.NET MVC, Web API, Razor and Open Source
2014: Dead and buried: Microsoft's holy war on open-source software
10. Why
Trust the source: companies will respect more a package if they can
see what’s inside and even change it
Gain from community: attract respected developers from the open
source communities; have others fix bugs and contribute new
features
Build bridges: join communities with similar concerns together
Reach other markets: sell software to other platforms; profit from
support
Everybody else is doing it!
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
13. Standards
ECMA-334: C# Language Specification
ECMA-335: Common Language Infrastructure (CLI)
ECMA-372: C++/CLI Language Specification
ECMA-376: Office Open XML File Formats
OData: Oasis Open Data Protocol
Member of ISO C++ Committee
Member of W3C HTML Working Group
Member of HTTP/2 Working Group
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
14. Framework: .NET
Open source @ GitHub:
http://github.com/microsoft/dotnet
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
15. Framework: .NET Core
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
.NET version optimized for the cloud
Open source @ GitHub: http://github.com/dotnet/corefx
16. ASP.NET MVC, Web API, Web Pages, Razor
Open source @ GitHub: http://github.com/aspnet
Framework: ASP.NET
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
17. Framework: Entity Framework
Data access framework
Open source @ GitHub:
http://github.com/aspnet/entityframework
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
18. Framework: WCF
Web services framework
Open source @ GitHub: http://github.com/dotnet/wcf/
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
20. Library: Open XML SDK
Office format
Open source @ GitHub:
http://github.com/officedev/open-xml-sdk
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
21. Library: Enterprise Library
Application building blocks
Open source @ CodePlex: http://entlib.codeplex.com/
Open Development Model: http://aka.ms/entlibopen
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
22. Library: Managed Extensibility Framework
Composition layer for .NET
Basis for Visual Studio extensibility
Open source @ CodePlex: http://mef.codeplex.com/
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
23. Library: Toolkits
AJAX Control Toolkit
Open source @ CodePlex:
http://ajaxcontroltoolkit.codeplex.com
Silverlight Toolkit
Open source @ CodePlex: http://silverlight.codeplex.com
Windows Phone Toolkit
Open source @ CodePlex: http://phone.codeplex.com/
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
24. jQuery, Modernizr, Bootstrap, Respond are included by
default in ASP.NET projects
AngularJS, jQuery, Bootstrap, CoffeeScript, Less, are
supported by Visual Studio IntelliSense
jQuery Templates, jQuery Data Link and jQuery
Globalization were contributed by Microsoft
Bower, Gulp, NPM, Grunt are first-class citizens in Visual
Studio 2015
Microsoft Ajax Content Delivery Network hosts jQuery,
AJAX Control Toolkit, Modernizr, JSHint, Knockout,
Globalize, Respond, Bootstrap and Hammer
Library: JavaScript Libraries
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
25. Language: F#
Functional language with OOP features
Open source @ GitHub: http://github.com/fsharp/
http://fsharp.org/
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
26. Language: TypeScript
OO JavaScript superset: http://www.typescriptlang.org
Open source @ GitHub:
http://github.com/microsoft/typescript
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
27. Language: IronPython & IronRuby
Scripting languages: IronPython.NET, IronRuby.NET
Open source @ GitHub: http://github.com/ironlanguages
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
28. Language: PHP and Node.js
Supported in IIS and Azure
Integrates with IDEs WebMatrix and Visual Studio and
Visual Studio Code
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
29. Tool: Compilers
Roslyn
.NET Compiler Platform
Open source @ GitHub: http://github.com/dotnet/roslyn
LLILC: LLVM based MSIL Compiler
Just-in-time compiler for .NET Core
Open source @ GitHub: http://github.com/dotnet/llilc
RyuJIT
Just-in-time compiler for Windows and Linux (.NET 4.6)
Open source @ GitHub: http://github.com/dotnet/coreclr
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
30. Tool: MSBuild
General-purpose build tool used by Visual Studio
Open source @ GitHub:
http://github.com/microsoft/msbuild
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
31. Tool: Visual Studio Community Edition
Integrated Development Environment
Not open source but free for open source projects
(Windows, Android, iOS)
https://www.visualstudio.com/en-us/news/vs2013-
community-vs.aspx
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
32. Tool: WebMatrix
IDE for web applications
Not open source, but uses parts of open source projects
Good integration with open source frameworks and tools
https://www.microsoft.com/web/webmatrix
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
33. Tool: Web Platform Installer
Package manager
Not open source, but installs open source software
https://www.microsoft.com/web
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
34. Tool: Git
Git plugin for Visual Studio
Supported natively in Visual Studio Online
Supported natively in Azure
Supported natively @ CodePlex
Supported natively in TFS 2013
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
35. Tool: Visual Studio Code
Code editor
Not open source but free for open source projects
Based on GitHub Atom
Cross platform (Windows, Linux, Mac OSX)
https://code.visualstudio.com/
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
36. Tool: Visual Studio Tools for Node.js
Visual Studio integration with node.js
Open Source @ GitHub:
http://github.com/microsoft/nodejstools
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
37. Tool: Visual Studio 2015 Tools for Docker
Integrates Visual Studio with Docker
Available @ Visual Studio Gallery
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
38. Tool: Revolution R Open
R implementation from Revolution (now part of
Microsoft)
Open source
http://mran.revolutionanalytics.com/
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
39. Azure
Microsoft Azure Marketplace
MSOpenTech VM Depot
Azure SDK and Tools
Open source @ GitHub: http://github.com/azure/
Hadoop
Microsoft contributed code from SQL Server to Hadoop
It also has an implementation: HDInsight
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
What
41. Sites
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
.NET
Foundation
Microsoft
Open
Technologies
Outercurve
Foundation
Microsoft
Open Source
CodePlex
GitHub
42. Sites
Microsoft Open Source: “openness at Microsoft – open source, standards,
interoperability”
Microsoft on GitHub: Microsoft projects hosted at GitHub
Microsoft Open Technologies -> Microsoft Open Technology Programs Office
.NET Foundation: “foster open development and collaboration around the
Microsoft .NET development framework”
CodePlex: “Microsoft's free open source project hosting site”
Outercurve Foundation: “enable the exchange of code and understanding among
software companies and open source communities”
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
44. Who
Satya Nadella
https://twitter.com/satyanadella
S. Somasegar
https://twitter.com/ssomasegar
Scott Hanselman
https://twitter.com/shanselman
Scott Guthrie
https://twitter.com/scottgu
David Fowler
https://twitter.com/davidfowl
Mads Kristensen
https://twitter.com/mkristensen
Sayed I. Hashimi
https://twitter.com/sayedihashimi
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
Who
Jon Galloway
https://twitter.com/jongalloway
Stephen Walther
https://twitter.com/swalther
David Ebbo
https://twitter.com/davidebbo
Damian Edwards
https://twitter.com/DamianEdwards
Arthur Vickers
https://twitter.com/ajcvickers
Rick Anderson
https://twitter.com/rickandmsft
Andrew Arnott
https://twitter.com/aarnott
But most important…
YOU!
45. You
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
Who
It is YOUR responsability to keep open source
alive by:
Reporting issues & providing fixes if you can
Suggesting improvements & implementing them if
possible
Discussing where the project is going
Helping other developers
47. What’s Next
Windows Live Writer?
Internet Explorer?
SharePoint Designer?
Expression Blend?
Visual Studio Code?
Windows Phone?
Windows?
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
48. Thank You
Thank you for your presence!
Porto Tech Hub – May 30th 2015 Microsoft ♥ Open Source
@RJPeres75