I was intrigued when my RSS aggregator started popping up headlines last week about a new set of principles to guide the future development of Windows.
It would be nice of Microsoft to add some predictability to the process, I thought. Perhaps they were finally committing to base new tools and utilities on the .NET Framework? Or maybe they were putting an end to the maddening cycle of user interface changes just for the sake of emulating Apple?
Then I found out that the announcement came from Microsoft General Counsel Brad Smith, and suddenly things didn't look so rosy. As a general rule of thumb, you don't want the lawyers dictating the rules for software design. A little more digging reveals that Microsoft has posted a page titled Windows Principles: Twelve Tenets to Promote Competition, in which they lay out a set of practices they commit to (though I don't see any legally-binding teeth in this promise) to keep the Windows ecosystem competitive. So much for visions of better software tools.
What the heck is going on here? You have to remember that Microsoft does more than just write software. It competes vigorously -- sometimes too vigorously for the liking of regulators and governments -- and it's not above using press releases and high-sounding statements of principles to help it compete. I think it's relatively easy to distinguish three motives, beyond simple altruism, behind this announcement.
First, a number of the restraints imposed as part of Microsoft's antitrust settlement with the United States government are about to expire. If you read the statement of principles, you'll recognize that many of the principles are nothing more than the terms that Microsoft agreed to in order to get the U.S. government to stop suing it. As a practical matter, it would be difficult for Microsoft to go back to behavior that it already agreed to quit in order to get out of trouble. So on one level, this announcement is the equivalent of a criminal getting out of prison and calling a press conference to announce that he doesn't intend to go back to robbing banks.
Second, it's good to remember that what's good for the Windows developer community is good for Microsoft. Things like opening up APIs and communications protocols make it easier for developers to write software that runs on Windows. Making it easier to write Windows software means developers write more Windows software (and have less time to write Linux software). More Windows software and less Linux software means consumers have more incentive to buy Windows and less incentive to buy Linux. And hey, that's good for Microsoft's bottom line. It's hard to imagine a reason why Microsoft would decide to lock up development information to make it harder to develop for Windows, isn't it?
Finally, remember that Microsoft isn't out of the legal woods yet. The European Union just slapped them with a gargantuan fine for not being nice enough to their competitors. Microsoft has been fighting this with pretty much every available weapon, including public opinion. It's pretty clear that they'd like to have as many people as possible convinced that Microsoft is being perfectly reasonable, as opposed to those evil, rotten, unreasonable regulators.
I like Microsoft's software, and I'm glad the company is working to improve its public image. Still, I do wish we could get another set of twelve principles that was actually about Windows development. Maybe some of the Visual Studio evangelists could take their Windows colleagues out to lunch and explain things to them?
Mike Gunderloy is the Senior Technology Partner for Adaptive Strategy, a Washington State consulting firm. You can read more of Mike's work at his Larkware Web site, or contact him at MikeG1@larkfarm.com.