Microsoft, the good open source citizen
November 16th, 2009Development, Open Source, Windows 15 Comments
What a difference a few years can make. For a long time, Microsoft was seen as public enemy #1 of those who liked to promote, produce and consume open source (I’m deliberately not describing it as a ‘movement’ here – that implies political motivations which I assert that only a vocal minority have). It was entirely their own fault of couse; blustery, really quite bizarre tirades from the only two CEOs their company has ever had cemented their position as the McCarthy’s of the modern era. It wasn’t helped, of course, by extremists on the opposite end of the spectrum, but still – the way the company behaved in previous years has at times been utterly shameful.
The reason it wasn’t sustainable is that they started to lose the very people they’ve always done a pretty good job of nurturing – developers. Even reasonable, level headed developers who have few extremist tendencies but who could see the many benefits of open source (I count myself among them) began to turn away from the company as they seemed hell-bent on protecting their vested interests using whatever means possible, and irrespective of the collatteral damage – mostly through lies and threats.
I developed my early career around the time that Microsoft was rising, with their software replacing the mainframes and minis that were so tricky to work with at times, and I really appreciated them for it. They made my life easier as a developer in the 90’s. In the new millennium though, when they started rattling sabres over open source, and trying to bind me and my products into ever more of a restricted, Microsoft-only environment, they did precisely the opposite. The notion that you could use their really nice tools, so long as you only targetted Windows & Office, and with constant posturing over whether using open source was ‘communism’, drove me and probably plenty of other developers in precisely the opposite direction.
For as long as Steve Ballmer is in charge, I’ll have a healthy amount of skepticism about whether Microsoft can really, genuinely change its stance at its core. Like Bill Gates before him, these are agressive 80’s-style businessmen who I can never hope to understand or remotely trust. But what’s clear is that either he’s learned how out of step he is with his potential customers, or he has been forced by others in the company to accept a changing stance on open source.
2009 is for me the year that Microsoft became a regular citizen of the open-source environment. Sure, before that they set up Port25 and CodePlex, but these were mostly self-serving and didn’t necessarily demonstrate MS’s ability to play well with others, which is precisely what open source is about. What really changed in 2009 is that Microsoft began to use external open source, intentionally and unintentionally, and crucially played it squarely by the rules with little or no fuss. This is a very big deal.
One of the first steps was Visual Studio using jQuery, which is entirely sensible. Historically Microsoft has had a terrible tendency to reinvent the wheel unnecessarily, which ends up being more hassle for everyone. Re-use of mature components for everyone’s benefit is what open source is about.
This year though, Microsoft has issued code under the GPL, something I’m sure many people thought would never happen. Firstly there was contributing code to Linux for Hyper-V, and most recently they (unintentionally) used some GPL code in a USB/DVD boot tool for Windows 7, an issue that was raised by a third party but which on investigation Microsoft confirmed – leading them to commit to releasing the full code under the GPL to customers.
Of course, this is precisely what they are bound to do legally. But the fact that it is being resolved in an open and completely unemotive manner, in the same way that any other responsible company would deal with it, is quite significant. This is Microsoft, the company that said the GPL was anti-American and borderline communist – openly and contritely resolving a GPL issue in the correct way with no sleight-of-hand or posturing. I respect that a great deal.
Welcome back to the community Microsoft, it’s about bloody time. Congratulations to all the reasonable people inside the corporate beast who are finally managing to turn the supertanker. I really hope you convince Ballmer to retire soon though, he’s a relic of a bygone age and an impediment to the new image you’re trying to create.









November 16th, 2009 at 7:09 pm
Amen @ Ballmer
It would be downright awesome if MS developer tools would either fully support or activley contribute to common open standards and tools…imagine .NET being fully open-source – that would really rock my world.
November 16th, 2009 at 7:25 pm
Step 1. Use GPL code by accident, without releasing source.
Step 2. Be caught
Step 3. Release source code (become GPL compliant) (or face legal expenses and bad publicity)
Step 4. Receive good publicity
VS.
Step 1. Use GPL code and release source code.
Step 2. Receive publicity.
Which do you think benefited MS more?
I personally think they just took the least expensive route and got some publicity for the ride.
November 16th, 2009 at 7:59 pm
As if on cue…
http://port25.technet.com/archive/2009/11/16/microsoft-to-open-source-the-net-micro-framework.aspx
November 17th, 2009 at 1:57 am
Yeah, while it’s true what you’re saying, I can’t stop thinking what if they did what Burner said (get caught, play nice)
I’ve been thinking for a while lately, when I see they come up with new libraries to do what Open Source software has been able to do for ages, why they just don’t use it?
FreeImage is far a better library than bitmap-loading GDI/GDI+ routines will ever be.
Expat & TinyXML are better than MSXML.
Windows should come with Firefox by default, and forget about further developing MSIE, it’s a waste of resources.
The list could go on, and none of them uses a restrictive license.
There are some notable exceptions (Direct3D beats the hell out of OpenGL, MS Office is quite good).
But reinventing the wheel and forcing to use their wheel isn’t attractive, as you say. And I’m glad in the last 3 years MS started to show up signs of joining the club, but it still has a long way to go (very distant from say, Intel, Sun or IBM).
November 17th, 2009 at 9:22 am
It’s very easy to be cynical about this just because it’s Microsoft, given their track record. But my take on this is that everyone screws up sometimes, and assuming it was a deliberately crafted situation strays dangerously into conspiracy theory territory, crediting MS with a mastery of devious scheming that is not really very probable. It’s still worth being as cautious about the company’s motives as you are about any other large organisation – Google, Apple, IBM – but given what’s happened in the last couple of years I think the time has now come that we shouldn’t automatically be more suspicious of Microsoft than anyone else. I do think it was completely justified to take that line in the past, when MS seemed to want to make itself our enemy, I don’t think it is anymore.
Yes, they have some way to go to match the likes of Google and IBM on open source – these guys have a huge portfolio behind them and critically a lot of trust built up over the years. But I do think that MS has done enough to move themselves from ‘evil’ to ‘neutral’ now.
@Damien: Very cool that the .Net Micro framework is open source now – not quite the major impact that open sourcing the ‘proper’ .Net would be, but it’s another good move.
November 17th, 2009 at 7:06 pm
I don’t think in this particular case MS used GPL code on purpose, it’s their extraction from a bad situation that I’m not going to give them extra credit for. They handled it in the best way possible, but they aren’t becoming open in any way.
I have not seen MS do anything to ingratiate themselves with the OS world. All I’ve seen is MS make false claims, pay for false reports, do their best to make open standards their own property, be the broker to support any OS troubles (SCO, trying to sell patents to non-OS companies), basically do everything an evil corporation would do. Yes they have done some things to support their products in the marketplace, like open source the .Net Micro framework but I think that is more market positioning then coming around to embracing OS.
Take any popular system that has had troubles with MS and look carefully at how MS has attacked that system.
You should view any large company with scrutiny when dealing with OS, but in my view MS has a ways to go before it even begins to approach level with google, rim, novel, nokia etc etc etc.
BTW Qt 4.6 and Qt Creator 1.3 Release Candidates Available today. GPL and open. Should be just as news worthy as MS no?
November 17th, 2009 at 8:41 pm
Actually Qt is LGPL and I covered that as a big deal in this blog when they released 4.5
Of course MS is serving their own needs with everything they do. That’s what companies do – you really think Google and IBM are doing OS out of the goodness of their hearts? It works for their businesses. What is important is the tone and the manner in which things are done, and personally I see a significant shift in that at MS in the last couple of years. I completely agree that they’re not at the level of so many others yet, but that doesn’t mean the shift in attitude has not been noteworthy, from the biggest anti-OS stance around to a basically neutral one.
November 17th, 2009 at 11:13 pm
I think it’s the perception of neutrality that I disagree with. That is their agenda, and I believe that they still have the biggest anti-OS stance, they are just posturing at the moment.
I know you blogged about QT, but it was basically ignored by the news media, yet MS decides to abide by an OS license and it’s major news. Give me a break.
November 18th, 2009 at 1:11 am
I’m probably repeating an already well-represented sentiment, but Microsoft is far, far from becoming nominally benign to the parts of the software industry that, uh, aren’t Microsoft.
IIRC, a vast majority of MS’s money comes from its Windows and Office lock-in monopolies. All of its other products/services provide very little net income (relatively speaking), or no income at all because they are merely expenditures that serve their wider strategy.
If MS truly starts to play nice, the stagnant pools of Windows and Office will bust wide open and Microsoft will suffer a massive drop in revenue as people stop paying the MS tax and jump off the forced upgrade treadmill. They won’t let that happen willingly; and their customers will continue to have no leverage because of the lock-in (and because nobody ever got fired for buying Microsoft).
Their OS-friendly moves probably do play into a long-term strategy (they must know the Windows/Office cow won’t give milk forever), but in terms of the immediate future it is all little more than a PR stunt.
November 18th, 2009 at 2:59 am
LOL – just before reading this blog, I caught a re-run of the Matrix Reloaded. Anyone willing to plug themselves into the MS Azure “cloud”? Gulp!
I need to visit the oracle.
November 18th, 2009 at 11:59 am
I think you have to consider what ‘neutral’ means. It’s a region between hostile and favourable, and is neither one nor the other. I think that accurately describes MS right now, and that’s an improvement. Yes, they’re entirely reliant on Windows and Office and that hampers their ability to fully embrace open source in the way IBM and Google do. But, at least they’re starting to deal with their problem in more positive ways rather than just blustering threats at everyone else in the industry. They’re in the ‘acceptance’ phase of the grief curve, having gone very publicly through denial and anger.
You do know that MS has been a ‘Platinum’ sponsor of Apache for a couple of years now, right? That’s a weird one considering the existence of IIS, and that the ASF oversees many component projects that compete directly with .Net. It’s arguable that they do it just to get the regulators off their backs a bit, but if you’re going to examine motivations of why companies invest in open source, then look at ALL companies – they all do it to further their own agendas, and that doesn’t have to be a bad thing; most of the open source economy runs on ‘halo’ benefits from what are hard-headed business decisions. You can’t realistically say now that, as of today, Microsoft’s investments in open source are any more self-serving than those from other companies – it’s just that the business models of other companies were a more natural fit from the start. And some other companies are better at looking holistically at the “long game” – Google in particular, who benefit hugely in business terms from open source and invest heavily too via programmes that are less directly connected, like Summer of Code – because they know that in the round it will all come back positive for them, both in terms of code and community support. They’re firmly in the ‘positive’ camp for open source of course, but they’re still doing it for their business benefit too. They’re just far, far more pro-active.
The majority of the hate for MS these days is either about Vista or IE (both sub-standard and deserved), about dodgy behaviour over standards (deserved) or because of their historical stance on open source. I’m only talking about their stance on open source, and like I say, they totally deserved their reputation of being total assholes on that front. But while we should bear in mind history and definitely keep a skeptical eye on things, you can’t let historical wrongs colour your judgement forever. I’m certainly not being a cheerleader for MS here, they’ve done a lot of bad stuff in the past and I have a lot of lingering mistrust. But I am saying that you cannot deny their stance has changed dramatically – from an absolutely terrible base, but it’s still a change. To deny that, or its significance, is to deny reality because of an emotive argument. If it’s a PR stunt, it as to be the most costly and disruptive one in history.
When the biggest software company in the world and probably the #1 enemy of open source changes strategy, even if that’s just away from the negative rather than strongly into the positive, is that news? Hell yes. Does it mean everyone in open source wants to hug MS now? Hell no – but maybe the less predjudiced ones no longer dream of seeing them burn in hell.
November 18th, 2009 at 4:05 pm
“I’m certainly not being a cheerleader for MS here”
I read your blog very often, and I never thought I’d see the day you would have to type that in a response on your blog
.
November 19th, 2009 at 11:34 pm
On the open source front they’re improving, perhaps, but on the open standards front they’re not – and, at least IMO, that one is more important.
On that front, I think they did in any credibility when they recently tacitly acknowledged that no version of Office will ever generate documents that are fully understandable by a conforming OpenXML Strict implementation (The standardized version – not the “Office 2007 like but not actually like” Transitional version).
November 20th, 2009 at 10:50 am
Absolutely – MS’s record on open standards is still pretty bad. Luckily their influence in this area appears to be diminishing though, Office is probably the only remaining place they can do that kind of thing (well, and .Net where standards only cover the bare infrastructure).
The Vista balls-up meant more people are using Macs than ever before, more people are using their phones for things they would have used a PC for previously, and Windows is a minority player there, and more traditional desktop tasks are moving to the web, where MS trails Google. Open source gives people more options almost everywhere. Microsoft doesn’t dominate every aspect of our digital life like it once did, which I think means it won’t be able to pull the old stunts anymore: paying lip-service to standards and trying to block off interop work like it tried with Samba. Microsoft was once the filter through which the vast majority of people saw IT in general, but that’s no longer the case. They’re still hugely important, but they no longer have the power to do whatever they want and expect people to toe the line – the bloody noses they got over Vista and their unsustainable open source stance proved that. Microsoft hit probably their weakest point a couple of years ago, and I think that’s been a real shock to them. I think they’ll think twice before trying their old tricks again, their illusion of invulnerability has been shattered by the events of the last few years.
November 20th, 2009 at 4:52 pm
I remember reading about how, in the Vista release time frame, the MS devs actually reported a Samba bug to the Samba devs.
Unfortunately, the feature this bug interferes with now has to be left off in both Windows and Samba because buggy Samba versions are everywhere inside NAS appliances! (That feature was fast transfers… the bug caused them to become very slow transfers)