An impossible-to-resolve set of contradictions? Not to Microsoft.
Sure, Microsoft people have spent the past couple of months saying nasty things about open-source software in general and Linux in particular. Open source is "an intellectual property destroyer," says Jim Allchin, Microsoft's vice president for platforms. Beating Linux "really is job one for us," says Microsoft CEO Steve Ballmer.
So what is Microsoft doing now? Letting lots of people eyeball its source code to find bugs — just like open-source developers do — and promising .Net support for Linux, the open-source standard bearer.
Is it a scam? A trick? Is Microsoft trying to pollute the purity of the open-source movement? Oh, maybe. What's more likely is that Microsoft, having spent its requisite time hissing and spitting at something new, is now proceeding to do "open source" the Microsoft way.
That means rubbing up against open source just enough to get some benefits, but never losing any control of Microsoft's intellectual property. For example, the large customers in Microsoft's "open-source" programme will be able to look at some Windows source code, but they're prohibited from making any changes. They can report bugs and figure out work-arounds, but that's it.
And though Microsoft says it will officially announce Linux .Net support this week, don't expect it to come in the form of open-source software. No cost to download, maybe; open, no.
That's what it comes down to, despite all the gasifying we'll hear over the next few months from pundits, open-source advocates, Microsoft allies and the rest of the usual suspects. No, Microsoft isn't jumping on the open-source bandwagon. It's just hoping to follow the parade all the way to the bank.
What's wrong with that? Nothing — as long as nobody gets the wrong idea. It's still business as usual for Microsoft — with a few open-sourceish bits grafted on.
And for big corporate IT shops, that's not such a bad thing. It might even be good news if you want to experiment with .Net applications or join the chosen few who get to see the Windows 2000 source code. If it means you can dodge some shaky function calls or choose your platform for applications, so much the better.
Just remember what it won't mean. This isn't open source — it's "open source".
So you can't count on your business partners being part of the programme, and you can't share what you know about the code with anyone but Microsoft. For example, in joint applications, you can work around problems — but you can't explain the work-arounds to your partners.
You can't count on Microsoft acting on any bugs you find. Microsoft says bug reports will be handled the same way as always.
You can't count on the source code programme to continue. Microsoft has a history of cutting off source code availability when it no longer suits Microsoft's purposes.
And of course, you can't count on Microsoft's .Net Linux support to do everything the Windows version does — or everything you'd want it to do.
What you can count on is that Microsoft isn't really confused about open source.
Microsoft believes that giving customers a peek at source code and connecting with Linux is a way of selling more software.
And open source or "open source," that's the Microsoft way.
Hayes, Computerworld US' senior news columnist, has covered IT for more than 20 years. Send email to Frank Hayes.