This is a sign of what appear to be some remarkable seismic shifts at Microsoft. To be fair, Microsoft has long been a contributor to open source initiatives but .NET was, until fairly recently, seen as one of the crown jewels only slightly less significant than Windows and Office, which makes me and the writer of this article wonder whether they might be heading towards open sourcing these at some point (Windows mobile version is already free, albeit with many provisos, terms and conditions, but that’s just common sense otherwise no one would use the substandard pile of pants at all).
Note that they are apparently only open-sourcing the core of .NET, which is not that wonderful without all the accompanying framework and goodies. The open source Mono project has provided this functionality for many years thanks to Microsoft’s wisely open approach to treating it and C# as a specification rather than a completely closed technology in the first place but, and it’s a big but, there are few Windows .NET apps that can run on Mono under Unix without some significant tweaking or acceptance of limitations and bugs, because so much relies on the premium libraries, controls and other proprietary closed tools that only paying Windows users can take advantage of. It’s much better than it used to be, but Mono is still a shim rather than a solution. I’m guessing there are few that would use it in preference to, say, Java unless their primary target were Windows machines or they were inveterate C# or VB fans.
This is probably not a sign of deeper openness, however. Microsoft, like most others in the industry, clearly see the future is in net-delivered cloud-based subscription services. Azure, Office365, Skype, Exchange Online etc etc are likely to be where most of the money comes from in the years ahead. .NET is nothing like as effective at locking people in than providing a service that handles all the data, communication and business processes of an individual or organization. Moreover, if more .NET developers can be sucked in to developing for other platforms, that means more that can be pulled in to Microsoft’s cloud systems though, to be fair, it does mean Microsoft has to actually compete on even ground to win, rather than solely relying on market dominance. But it does have a lot of cash to outspend many of its rivals, and raw computer power together with the money to support it plays a large role in achieving success in this area.
The cloud is a new (well, extremely old but now accepted and dominant) form of closed system in which the development technology really shouldn’t matter much any more. I worry a great deal about this though. In the past we were just locked in by data formats, closed licences and closed software (perniciously driven by upgrade cycles that rendered what we had purchased obsolete and unsupported), but at least the data were under our control. Now they are not. I know of no cloud-based services that have not at some point changed terms and conditions, often for the worse, few that I would trust with my data any further than I could throw them, and none at all that are impervious to bankrupcy, take-overs and mergers. When this happened in the past we always had a little lead time to look for an alternative solution and our systems kept running. Nowadays, a business can be destroyed in the seconds it takes to shut down or alter a system in the cloud.
Address of the bookmark: http://www.wired.com/2014/11/microsoft-open-sources-net-says-will-run-linux-mac/