Thursday, April 3, 2014

Why Microsoft Open Sourced .NET

20:26 derive: Troll Harder

That's the response from an IRC channel chatter after the news came out about Microsoft's .NET. It left a lot of developers in shock, some in disbelief... But mainly a lot in curiosity. Obviously something provoked Microsoft, a vehemently anti-Open source entity, to Open Source .NET, but what was it? By looking into the technical, political, and commercial implications of what this means, their reasoning becomes obvious.

The announcement for the relicensing of most of the .NET stack came on April 3rd, 2014, which is exactly 5 days before the XPocolypse, Microsoft's termination of their most widely used, widely popular desktop operating system. They need to gain market leverage again, and no legal paradigm has risen to popularity quicker during XP's reign than Open Source. A lot has changed in the decade since XP, and now Microsoft is being forced to catch up to companies like Apple and Google, who learned far sooner than Microsoft that Open Source technologies have technical and managerial advantages over closed source development.

However, the motivation isn't all an act of kindness. Microsoft's watching its Empire be chipped away by community projects that recreate Microsoft functionality. The Mono project, for instance, was a (somewhat) successful attempt at an open source .NET. With Microsoft filling this niche, the only card that Mono has to play is cross-compatibility, a technical feat not far off from possibility with the .NET source code released today.

Let's follow this tangent a little bit more. This isn't a one-off thing. Open source code is part of the new .NET foundation goals. What could the future hold for other community projects similar to Mono, like, say, MingW, if the source for other development tools gets released?

Is it a positive thing that Microsoft is moving into Open Source? Absolutely. But do not confuse business strategy with kindness, for the motives for the move are clouded by the drive for market dominance in a post-XP era.

Microsoft Open Sources Key parts of .NET Stack

git clone

If you've ever dreampt about being able to type that command, your dream got a little bit closer today. During Microsoft's conference today (April 3rd 2014), Microsoft announced that Roselyn, the codename of the .NET Compiler Platform, would be open sourced. To put this into layman's terms: One of the most widely developed platforms in the world now mostly uses permissive licensing. It's more than a gift, it's straight out of left field. But what does this mean for developers, consumers, and the company?

It means an increase in quality for sure. The advantages of open sourcing code as a commercial strategy have been well documented in Eric S. Raymond's "The Magic Cauldron", and now Microsoft is finally learning to follow his advice two decades after the fact. Bugs will be fixed sooner, the number of auditors for the source will skyrocket, reducing the chance of vulnerabilities and malfunctions, and innovations can be made at a much more accelerated pace than previously possible.

So, you're aware of the benefits of Microsoft's decision and want to jump in? Getting the sources for .NET (a line I thought I'd never write on this blog) is as simple a process of just typing this line:
git clone
It's hosted on Codeplex, but it wouldn't be surprising to see a github mirror appear within the week.

Wednesday, April 2, 2014

ReactOS Community Edition Announced

So, after a 5+ day Hype Clock, the ReactOS Project announced their (R)evolutionary new project goals with their community-based operating system. Before the goals behind it can be explained, it's important to learn what ReactOS is:

ReactOS is a clean-room reverse engineering of NT, Microsoft's kernel used in Windows. Through binary compatibility, ReactOS is attempting to create a Free (libre) operating system compatible with Windows, in particular Windows XP. After Microsoft announced the impending EOL for XP later this month, ReactOS kicked off their new marketing campaign for this community edition.

The different between the version of ReactOS that already exists and the community edition is a democratic voting system for compatibility. In a system where compatibility is the selling point, not just an added bonus, being able to gauge what your users want finagled into compatibility is of the utmost priority in the project, so this is a step in the right direction for ReactOS, in my opinion. However, I was in a way disappointed that no new technology was being brought along with this release. Hopefully the community addition is a launchpad for the more daring works that the ReactOS devs have in the work, like their proposed Thorium Core Commercial Web OS.

What does this mean for Windows XP users, who will surely be looking for a new home this April? Probably not much, despite what most of us would like to believe. Even with the hype clock, the proof of concept, and the promise for community input, the interest in ReactOS is projected to be at an all time low according to Google Analytics.
Furthermore, if a user is still on a dying system such as XP, it's probable that if they are in the ReactOS echo chamber, they're probably in Linux's as well, and their loyalty to XP through hearing about alternatives proves their resolve to resist change. And what if a Windows user were to install ReactOS, only for it to panic on their hardware?

This is an example of good marketing from the ReactOS community, and fantastic work from the ReactOS devs. I'm sure that most of us are downloading qemu or Virtualbox this very moment, priming ourselves to give the new (R)evolution project a chance. Whether or not (R)evolution works now is irrelevant. The beauty in the project is the hope that in the near future, having to dual-boot an operating system with ethical and monetary implications will be a thing of the past.