Microsoft is a company that built its name — and its profit — on selling the software it creates. So it came as a surprise to many that Microsoft is further embracing open source practices with the company’s long-running .NET framework.
On Friday, Microsoft announced they are throwing open the doors to open source the full server-side .NET Core stack. The importance of this — both to developers and as a change in direction for Microsoft — cannot be overstated.
Last April, at the company’s annual “Build Developer Conference” in San Francisco last, Microsoft began this journey by announcing the formation of the .NET Foundation. Created to be autonomous and independent from Microsoft (yet still with an undeniable Microsoft connection), this new foundation was designed to be focused around the .NET framework, and its mission is to oversee its open source use.
According to the original roadmap Microsoft laid out, the .NET Foundation will oversee all of the existing open source parts of .NET, with plans to release much more under an open source license in the near future. Now, the full extant of those plans can be seen. With the huge addition of the full .NET technology stack to its open source portfolio, the work of the .NET Foundation has become more important than ever.
As part of its mission, the .NET Foundation will also manage these open source projects and “foster open development, collaboration, and community engagement on the .NET platform,” their website states.
In October, the .NET Foundation announced it would be expanding its community involvement with new forums and the creation of an advisory council. As first reported by ZDNet, a draft of the advisory council proposal states that its formation will help the .NET Foundation "establish its own credibility through independence and impartiality."
Powered by the community, the advisory council will be "tasked with making real decisions and policy recommendations" for the growing portfolio of open source projects the .NET Foundation shepherds.
Now, with open sourcing the full .NET stack, Microsoft has handed the .NET Foundation the stewardship to even more of its code. Code that, until recently, was closely guarded. This is a big change for Microsoft, and the further changes they have mapped out down-the-line show even more collaboration with the developer community and open source movement.
A new open-source direction for Microsoft and the .NET platform — 2015 and beyond
In a post titled, "Announcing .NET 2015 - .NET as Open Source, .NET on Mac and Linux, and Visual Studio Community," popular Microsoft speaker Scott Hanselman outlined the big changes for Microsoft in its approach to open source this year.
"It's happening," Hanselman wrote. "It's the reason that a lot of us came to work for Microsoft, and I think it's both the end of an era but also the beginning of amazing things to come."
Writing for Forbes, Ben Kepes, said Microsoft "plans to open source most of the full server-side .NET core stack, beginning with the next version." This is a striking change for a company that has long held its software stack as a near-sacred intellectual property. While others were embracing open source, Microsoft continued to keep its work in-house.
According to Soma Somasegar, vice president of Microsoft's developer division, Microsoft is now working "to make the entire .NET Core server stack open source." The formation of the .NET Foundation in April was a first step to this process, and now Microsoft is releasing the full "breadth of .NET open source projects."
Somasegar went on to cover Microsoft's announcement in detail. "Over the coming months, we will be open sourcing the full server-side .NET Core stack, from ASP.NET 5 down to the Core Runtime and Framework, and the open source .NET will be expanded to run on Linux and Mac OS X in addition to Windows."
"With these releases," Somasegar said, "we are broadly opening up access to our industry leading platform and tools to every developer building any application in today's mobile-first, cloud-first world."
Developers! Developers! Developers!
— once more, with feeling
Speaking at the Build Developer Conference, Microsoft executive vice president Scott Guthrie said, “We’re taking the next step in terms of open source, and we’re announcing a new .NET Foundation that were going to use as the umbrella for how all these projects get contributed.
The .NET Foundation will serve as stewards to 24 .NET open source projects to begin. This will include all of the ASP.NET open source projects as well as the Entity Framework, .NET Compiler Platform, .NET WebClient, Microsoft’s Web Protection Library, and several others.
While Microsoft may be jumping into open source on the basis of one technology stack, the company said they would be open to adding more in the future as they judge the results of the .NET Foundation and its impact on the community.
“It’s going to be the foundation on which we can contribute even more of our projects and code into open source,” Guthrie said. “We’ve taken all of the Microsoft contributions we’ve already done with open source and are putting them under the foundation’s umbrella.”
Guthrie said that all of the Microsoft contributions will have standard open source licenses, typically Apache 2. But what’s most important is what he said next: “None of them have any platform restrictions — meaning you can actually take these libraries and you can run them on any platform and take advantage of them.”
This is a far contrast from the Steve Ballmer days. It’s one thing to scream “Developers! Developers! Developers!” It’s quite another to actually open the source code and hand it to the developers who are using the framework.
Microsoft’s formation of the .NET Foundation, and encouragement of open source projects, may seem dichotomic to its original business model of “selling software.” However, this is just the latest change that seems to be fueled by new Microsoft CEO Satya Nadella.
What does this mean for .NET?
The developers who use .NET — in any of its incarnations — have had access to a handful of tools. With the formation of the .NET Foundation, Microsoft is opened another tray in toolbox to developers. Now, with the huge announcement of the .NET core stack becoming open source, Microsoft has thrown open the toolbox and handed developers the key to the shop.
"Today, we had the opportunity to share our vision for the Microsoft developer platform," Somasegar said about Friday's announcement. "As part of that vision, we aspire to enable every developer and any application to have access to Visual Studio, .NET, Azure and Visual Studio Online."
Such freedom should allow for faster adoption and faster bug fixes. It should foster a restructuring of the Microsoft community — and it’s needed that for a long time.
This takes off some of the padlocks on the Microsoft framework. Developers can now look directly at the code. When they have a problem, they don’t have to wait forever for a fix. They can simply fix it themselves and post their solution to the .NET Foundation to be included directly into the platform.
However, Guthrie was quick to point out that just because they are expanding the scope of their open source projects, this does not mean that Microsoft will stop investing in them with their own capital.
“We obviously still have lots of Microsoft engineers working on each of these projects,” Guthrie said, speaking about the future of the open source program, “but … this now gives us the flexibility where we can actually look at suggestions and submissions from other developers, as well, and be able to integrate them into mainline products.”
On Friday, Somasegar expanded on that future. "Today, we are taking the next big step for the Microsoft developer platform, opening up access to .NET and Visual Studio to an even broader set of developers by beginning the process of open-sourcing the full .NET server core stack and introducing a new free and fully-featured edition of Visual Studio. At the same time, we are releasing previews of the next generation of Visual Studio, .NET and Visual Studio Online."
Nadella’s ‘bold ambition’ for Microsoft’s future
Satya Nadella took the reins of office as Microsoft’s new CEO in February 2014; he hit the ground running with making the Microsoft Word Suite available on iPad (redesigned from the ground up), restructuring the company with 18,000 layoffs, and outlining his vision of a better future for Microsoft in his “Bold Ambition & Our Core” missive to employees.
And now Microsoft is embracing something they have always avoided: They are making one of their core technology stacks open source, along with a host of others. This is just the latest example of the kind of change, energy, and collaboration Nadella has been working hard to foster and spread within Microsoft.
All in all, we’ve been very impressed with how Nadella has been re-energizing Microsoft. We like the changes he has been making, and the formation of the .NET Foundation is just the next step of the massive company changes he’s implementing.
His engineering background is evident as he tackles complicated issues, and his willingness to listen to what people want, be open to change, and adapt with the fast-pace of the overly connected world has been a breath of fresh air to Microsoft — a respected brand which has suffered from stagnation the last several years.
He’s taking the company in a new direction, moving it down a road that Ballmer and previous leadership seemed to eschew; and with each positive step Nadella takes, it’s hard not to feel like this is the road Microsoft should have been on all the while.
Hanselman, writing in his blog, summed up the feelings of the .NET developer community with this announcement. "Open sourcing .NET makes good sense. It makes good business sense, good community sense, and today everyone at Microsoft sees this like we do."