In what probably never would have happened under the first two CEOs to lead the historic software company, Microsoft plans to announce on Wednesday that it is open sourcing the entire .NET framework, a symbolic move by the Redmond, Washington-based legacy technology company officially recognizing that the open-source model of software development is here to stay.
As part of the open-sourced version of .NET, Microsoft is also making the framework cross platform, meaning that developers should now be able to craft .NET applications that can run on either Linux or the Mac operating system.
Even though [company]Microsoft[/company] has open sourced bits and pieces of .NET over the years and created the .Net Foundation in April, whose purpose is to oversee open-source .NET initiatives, today’s news highlights the realization by Microsoft that it needs to make a full-court press in order to attract developers who are used to working with a variety of open-source technologies to build cloud applications comprised of multiple components. This modern-day world of software development is far different than it was a decade ago, when coders had to use propriety tools to craft applications that didn’t need to function across myriad environments.
“This is a huge change (for Microsoft) and a change that has been slowly and steadily building up for the last couple of years,” said S. “Soma” Somasegar, Microsoft’s corporate vice president of the Developer Division at Microsoft Corporation.
This move to open source .NET comes from a “fundamental realization of where the world is” and what application development now looks like, explained Somasegar.
“We have to meet developers where they are as opposed to saying ‘hey, you come to where we are,’” he said.
How Microsoft plans to open source .NET
The change to a completely open-sourced .NET will not take place overnight, and Somasegar said he expects the project to take a “few months” before it completes. As of today, Microsoft is creating .NET repositories and forums on GitHub and will be encouraging .NET developers to start participating.
To help with some of the legwork involved with such a big endeavor Microsoft will be working with the Mono project and community to help things go smoothly. Because the Mono project is an open-source project created to make .NET cross platform, Microsoft feels its expertise will be invaluable.
[pullquote person=”S. “Soma” Somasegar” attribution=”S. “Soma” Somasegar, Microsoft”]“This is a huge change (for Microsoft) and a change that has been slowly and steadily building up for the last couple of years.”[/pullquote]
The close collaboration between Microsoft and the Mono project also ties directly with a strategic partnership Microsoft has with [company]Xamarin[/company], the software company that oversees the Mono project. Earlier this year, there were rumors floating around that Microsoft was looking to buy Xamarin to bolster its cross-platform technology and today’s news will just add to the speculation.
Microsoft said it plans to add more of Xamarin’s tech in its Visual Studio developer tool and will be releasing more joint Microsoft and Xamarin go-to-market products in the future.
And speaking of Visual Studio, Microsoft is also rolling out a free version of the developer platform that’s tailored for the open-source community. Called Visual Studio Community 2013, the software will supposedly let open-source coders, students or small development shops to build a variety of cross-platform applications for free.
“Our core thesis is that in a world where developers are thinking about a mobile platform and a cloud platform, we want to be in the minds and hearts of developers no matter what they are building,” said Somasegar in reference to the free version of Visual Studio. “Once you have developer mindshare, then a lot of other movement happens.”
The roots of an open-source .NET
When Microsoft first released .NET in 2002, the programming framework was designed to make it easier for developers to craft applications tailored to run on Windows; it was a Windows world back then and open source was still considered a bit too hippy-dippy for the stodgy world of the enterprise.
“In general, open source kind of had a different political significance then than it does now,” said Andrew Brust, research director at Gigaom Research for big data and analytics, and a long-time Microsoft observer.
As .NET matured, there were internal struggles within Microsoft on whether the framework should run on both Windows or Mac, and there were strong opinions coming from both sides, explained Brust.
The company experimented with cross-platform technologies, such as the Silverlight framework, an implementation of .NET that could run on Mac, but ultimately, the cross-platform naysayers won and support for Silverlight was deemphasized.
“For years we’ve watched as first the .NET and then the Azure team struggled internally with the Windows team over whether Microsoft’s programming model should be cross platform or not,” wrote Forrester vice president and principal analyst Jeffrey S. Hammond in an email.
Around 2007 to 2008, Microsoft’s developer evangelists began to notice that developers were feeling less satisfied with .NET, said Brust.
This was also the time that open-source technologies started to pick up more steam in the marketplace, with [company]Google[/company] releasing the open-source Android operating system and GitHub opening up its repositories for open-source code being examples.
The world was changing and developers suddenly had new options that weren’t previously available, and Microsoft wasn’t making the right moves to win their hearts.
“The Windows team’s answer was ‘HTML 5 everywhere,’ coupled with it running better/faster on IE,” wrote Hammond. “That’s great for the client side, but didn’t really help the cross platform story on the server side.”
A new regime with a focus on the cloud
With former Microsoft bigwigs Bill Gates, Steve Ballmer and Steven Sinofsky now gone from prominent leadership roles, the company appears to be handling its business a bit differently than before under new CEO Satya Nadella. As my colleague Barb Darrow reported last week, the last eight months under Nadella have been rather remarkable considering how closed off to the world Microsoft was under a different regime. Who would have ever thought four years ago that we would see an actual working version of Office for iPad?
Both Brust and Hammond agree that open sourcing .NET represents another key move in a post-Ballmer Microsoft world, and Brust said that Nadella and Scott Guthrie, the executive vice president of the Microsoft cloud and enterprise group, are trying to “go back to the ethics of the time when Microsoft was all about developers.”
“We know that not every developer in the world is going to start on .NET and for that, we need to figure out what role we can play in that world,” said Microsoft’s Somasegar.
But it’s not just Microsoft that’s been changing; so too has the open-source development community.
Some of the most popular open-source communities have a commercial entity behind them, like Elasticsearch and MongoDB and “the lines are blurring,” said Somasegar.
This corporatization of open-source communities (which still has a lot of kinks to iron out) has made it easier for Microsoft to approach the open-source world; it’s similar to how the company traditionally forms its partnerships with various commercial companies.
Indeed, the recent deal Microsoft did with [company]Docker[/company] to make sure containers and the Docker engine can run smoothly on Azure and Windows Server was done with Docker, Inc. — not the Docker open-source community.
A long way to go to please developers, developers, developers
It’s going to take time for Microsoft to make amends with developers, however. Some developers abandoned .NET because its once-closed system made their resumes less attractive to potential employers who crave coders with varied programming experience. There’s also a whole new generation of developers who’ve come of age in an era when MongoDB and NodeJS are the technologies they need to master, not .NET, especially when it can’t run on Linux or Mac.
And there’s no guarantee that by open sourcing .NET Microsoft will gain an influx of coders. In a way, the company is playing with fire by exposing its own loyal .NET developers to new platforms that may have something they feel .NET or other other Microsoft technologies lack.
“In some sense the onus is on us to make sure that our platform and our technologies need to stay on the leading edge of innovation and value,” Somasegar.
But, with Microsoft now seeing more traction with Azure and it’s Office 365 cloud service, the company is more comfortable not having Windows or its off-the-shelf products as its main source of cash, explained Brust. You see, it’s all about the cloud and the potential Azure brings to Microsoft to become its new big business, and the way to grow the cloud is to make sure developers are happy to use it.
“The world is getting more complex but the goal is to make the developer’s life more easy,” said Somasegar.
The enterprise landscape has changed significantly in the years since Microsoft reigned supreme, and you can attribute that change to the rise of open-source technology. In order for Microsoft to gain back its influence, it’s realized that now’s the time to adopt open source or risk falling behind its new cloud competitors of Google and Amazon.
Picture of Steve Ballmer courtesy of Microsoft
Picture of Nadella and Guthrie courtesy of Jonathan Vanian