In case you were holding onto the idea that there's no difference between Satya Nadella's Microsoft and Steve Ballmer's Microsoft, consider Tuesday's introduction of .Net Core 1.0, ASP.Net Core 1.0, and Entity Framework Core 1.0. Each is a fully open source product that will allow developers to create applications on Windows, OS X, and Linux.
The products were announced at Red Hat's DevNation conference, taking place in San Francisco June 26-29. In addition, Microsoft released a new version of Visual Studio and announced a common protocol for language servers designed to make it easy for companies to add language support and components to the Visual Studio programming ecosystem. Taken together, the releases make up Microsoft's most comprehensive move yet into the open source world.
A subset of Microsoft's .Net Framework, .Net Core will allow the creation of complete, complex web-based applications on the .Net Framework. How open is .Net Core 1.0? The source packages are downloaded from GitHub rather than a Microsoft server. In a blog post announcing the availability of the 1.0 version, Microsoft program manager Rich Lander said more than 10,000 individuals have already contributed to .Net Core. He shared details about the communities they come from.
This moves shows .Net Core and ASP.Net Core and Entity Framework Core 1.0 to be open in more than name only. Microsoft is serious about open source software. The company's seriousness is indicated by the breadth of software accompanying these three new tools and the depth to which the releases have an impact on software development.
[Microsoft has been embracing many different platforms. Read Microsoft Flow For iOS Aims to Help Apps Play Nice.]
The question for many companies and developers is precisely what these new products will mean for them. First, and most important, it should be much easier to develop an application in Microsoft-centric tools and languages, and then have the application run successfully on other platforms with no need to re-develop the app.
It's also worth pointing out these tools make it much easier than previously possible for developers to build apps to mesh with Microsoft components and systems that are not open source.
Chief among these proprietary components is Microsoft Azure, the IaaS platform at the heart of many Microsoft offerings. Developers should also remember .NET Core is a subset of Microsoft's full .NET framework: If Windows is the sole target environment, then there are still substantial benefits that come with the "real" .NET.
Of course, one of the benefits to being a subset is having a smaller footprint. In addition, .NET Core is a modular system, so developers can download and use only those functions required for their app without having to carry the full weight of the .NET framework. ASP.NET Core is also smaller and more modular, thus eliminating the need for a number of large downloadable linked libraries (.dll files), which were required by earlier versions of the framework.
Tuesday's announcements show Microsoft is now very serious about bringing the Linux server world and Macintosh client world within the Windows family. By involving the open source community in the process before version 1.0 was released, Microsoft has taken steps to make it far more likely its new direction will be embraced.
Lander emphasized the company's appreciation for the community in his blog post. "We’d like to express our gratitude for everyone that has tried .NET Core and ASP.NET Core and has given us feedback," he wrote.
"We know that tens of thousands of you have been using the pre-1.0 product. Thanks! We've received a lot of feedback about design choices, user experience, performance, communication and other topics. We've tried our best to apply all of that feedback. The release is much better for it. We couldn’t have done it without you. Thanks!"