Friday 4 January 2008
So how does boosting Microsoft's chances of platform domination in the next generation serve the interests of free software? I really have no idea. Miguel can't be so naive as to imagine that Microsoft will allow their control of the Silverlight and .NET platforms to ever be eroded. (Sure, a subset of the .NET documentation got an ECMA stamp, but Miguel sees clearly that .NET evolution happens behind Microsoft's closed doors (ditto OOXML).)
It should be obvious how bad that would be for free software and competition in general. But in case it isn't: Microsoft gets to evolve the platform to suit its strategy, its constraints and its implementations, and no-one else does. Microsoft's products are always more up to date than any other implementations. And Microsoft's products are always the de facto reference implementations, so competitors have the extra burden of reverse engineering and implementing Microsoft's bugs and spec-ambiguous behaviours that authors depend on --- and even so, competitor implementations are by definition always less compatible. This is not theory, we've seen it happen over and over again. Microsoft even has a phrase for it --- "keeping the competition on a treadmill".
This is why true multi-vendor standards are so important, despite their inconvenience --- giving that power to any single company is dangerous. (Although if the dominant implementation is free software, the transparency of source code and the possibility of forking greatly reduce the dangers.)
There's also an interesting video codec issue here. Silverlight is a vehicle for pushing Microsoft's VC-1 codec. Microsoft is making that available for Moonlight as a binary blob with very restrictive licensing. Those people who like Moonlight because they can run it on BSD or some weird hardware platform are in for a surprise; in practice Moonlight will always be exactly as cross-platform as Microsoft wants it to be. I'm sure Microsoft would love to have their patent-protected codec ascendant and shoring up their platform lock.
A lot of these arguments apply to Mono itself of course, and have been thrashed out for years. But Mono at least had the promise of bringing Microsoft's existing captive developer community to Linux and free software platforms. Now Miguel is helping Microsoft enter a market where they aren't currently strong. I like and respect Miguel (this post was hard for me to write) but this strikes me as a very poor strategic move.