When I first heard that Microsoft was beginning to ramp up their open source contributions, I initially felt this was good news. Despite Microsoft's rocky past with open source software and Linux in general, anyone who wishes to contribute to the open source community should be able to do so.
As of this article, Microsoft is actually one of the most active contributors to the Linux kernel. Yes, these contributions all benefit them in one way or another. But after I had a chance to ponder this issue a bit more, I began to question Microsoft's motivation in the long-term.
Still a fan of software patents
Just because Microsoft formed a new company strictly for handling open source code doesn't mean they've suddenly had a change of heart regarding software patents. Fact is, there's big money in patent ownership within the software space. And while I'm personally not a fan, Microsoft is quite content in pursuing software patents as part of their business.
After looking at the issue, I feel that Microsoft first began embracing open source because they had to. While I doubt we'll see much of it on the desktop, they're embracing it quite heavily within the enterprise space. Hyper-V is one such example of how Microsoft has seen the value in working closely with the open source community.
But despite this cooperation between the open source community and Microsoft, the idea is that Linux will be the guest operating system in this equation.
When the chips are down, Microsoft has no intention of reversing their views on software patents. And this is why the opening of the new Microsoft subsidiary for open source projects is relatively meaningless to the community as a whole. It's purely something designed to benefit Microsoft only.
In my view, any side benefits felt throughout the community will be purely incidental.
If I was a betting man, I'd suggest that Microsoft might take their new open source-based subsidiary and begin tinkering with new and exciting ways to lock its users in, even more than they are already.
Right now, the open source endeavors are merely a way to get open source users running with Microsoft technologies. Down the line, however, one might speculate that Microsoft might take things a step further by rethinking the licensing for their other products as well.
No matter how "great" some users might think their products are, the fact is many people are seeking out cheaper or free alternatives to the same software Microsoft currently sells. Assuming Microsoft as a company has looked ten years down the road, chances are reasonable that they've begun tinkering with ideas of how they might be able to give away their technologies while still making money on services, perhaps even in the non-enterprise space.
Now Microsoft has been tinkering with cloud-based operating system concepts for sometime. Thus far, the target market has been limited to the enterprise arena. And with recent lowered prices on their Azure cloud OS, one might think this is great news. In reality though, Azure is a proprietary platform and if Microsoft was successful in gaining widespread adoption, it would mean even further vendor lock-in.
Coming back full circle to Microsoft's open source efforts, one must remember that this is a company that enjoys control of the desktop PC market. They've been fighting like mad to maintain some position in the server space and anything they offer to get Linux onto their proprietary platform(s) is a danger to open computing. Even worse, imagine this same concept on workstations in every home.
Windows monopoly revisited
Long before Microsoft knew what was happening in the cloud space, Google knew that someday the software of the future was going to be made available via the Web. In contrast, Microsoft currently maintains a solid hold on the desktop OS market, which largely depends on non-web based software.
While it has seen more competition over the years, Microsoft is still very much in the drivers seat. Anything they offer to the community in the way of open code should be looked at with great care. What is the motivation? Is it worth it to accept the code provided by Microsoft? The answers to these questions remain unknown.
Now let's consider the possibility that Microsoft begins offering (down the road) code to be used on the Linux desktop. And not just the same old stuff we've seen spats over in the past, like the fat32 file system. I am talking about technologies that haven't been released yet.
So in this "tinfoil hat” type of example, Microsoft releases code that is an intricate part of what will be Linux on our desktops in, say, 10 years time. Going along with the idea that this code is released by the Microsoft Open Technologies subsidiary, we then learn that Microsoft suggests some kind of a license payment.
Now I realize that the above example is based on speculation, however don't think for a second that something similar isn't possible on a lesser level. All one needs to do is examine Microsoft's history and realize how the company prefers to position itself.
Despite not being a fan of Microsoft's Hyper-V or any other alleged "open source cooperation" coming from them, at least we can agree that CodePlex isn't a threat. < p> As a matter of fact, I've actually heard from projects that swear by CodePlex saying that they're easier to work with than other legacy project hosting alternatives. Even the terms of service for CodePlex are extremely reasonable and attractive if you're looking for a Google Code or SourceForge alternative.
Now as one might expect, when you browse through CodePlex, much of the Linux-related offerings are centric to .Net and Windows. That’s understandable, as this is a project that is very Microsoft oriented. But this is completely fine by me, since no one is forced into hosting their projects with this service versus any other alternatives out there. It is interesting to see what the little ecosystem CodePlex has going for it.
I did manage to find some interesting projects like an imitation Gnome panel developed for Windows and designed with Visual Studio. But I can't say where the value in many of these projects are for Linux enthusiasts. Then again, I don't see Linux advocates as being the primary market for many of these applications.
No Microsoft Threat
Putting aside my own reservations about using any code coming from Microsoft, I don't see the company's contributions presenting an immediate danger to the open source community.
At the same time, in many ways it's fascinating to watch Microsoft's efforts. They appear to be trying to develop their own brand of an open source community, based solely on their own technologies. It's similar to the community we participate in, with the exception of the code and tools being used to build up applications within it.
Where Linux users use technologies that don't encompass any kind of vendor lock-in, allowing us to port our work to competing companies, Microsoft takes a different approach. Despite their best efforts, Microsoft's open source efforts are only as strong as their weakest link. So long as they're relying on proprietary platforms and development tools, there will be a locked environment that many of us won't want to participate in.