Hardly a day goes by that I don’t see an article on Linux Today about Moonlight and what a horrible person Miguel de Icaza is. So I thought I’d go ahead and do some exploration of what’s going on with Moonlight and Silverlight. First of all, what’s Silverlight? Check out the Silverlight article on Wikipedia. Basically, Silverlight is Microsoft’s answer to Adobe’s Flash. MS is pretty peeved they haven’t been able to get people off of PDF and onto their own format. They waited way too long while the rest of us realized that PDF is great if you want to make sure that the document you create is displayed the same way on everyone’s computer regardless of the fonts they have or which version of Office they have installed. (Or if they even have office installed)
Flash has been around since the dial-up days when most people would get mixed feelings when they came upon a flash website. We knew it would take orders of magnitude longer to load than an HTML website, but it would also look really cool. But Microsoft is once again playing catchup. This time, however, they are using their huge bank accounts to make it look like a really good idea to use Silverlight. Many of the Olympics websites were available in Silverlight. Not only does this get Silverlight into the vernacular during a huge event, but it also gets it installed onto tons of people’s computers. These people might have otherwise skipped websites that required them to install yet another plugin.
Having Silverlight used on such a massive event like the Olympics also helps MS help to convince people who switched to Macs that they are on the wrong platform. After all, all they have to do is release a new version of Silverlight and not release it to the Macs on the same day. Bam, people start jonesing for Windows again.
This brings us to Moonlight, Novell, and Miguel de Icaza. Miguel works at Novell. Novell signed the pact with Microsoft that caused them to become radioactive to a certain portion of the free software community. Not only did it seem like an admission of guilt from Novell, but it also creates two classes of Linux users. Novell users, who are protected from MS lawsuits and everyone else. (Not that I believe for a second that MS has a leg to stand on with those lawsuits) So the first sin Miguel has committed (in the public eye) is to be working at Novell.
Second, he helped to create Mono. Mono is an open source implementation of Microsoft’s .net framework and the main C# interpreter in Linux. There are quite a few reasons why people don’t like this. C# is an example of Microsoft’s embrace, extend, extinguish strategy. It’s basically a bootlegged version of Java because they couldn’t get anyone to use their jacked up version of Java. Why they couldn’t just play nice with Sun is beyond me. They have such a need to control. Reminds me of Apple and the iPhone. So C# is a Microsoft creation. However, it is an ECMA standard (and maybe an ISO standard) so C# isn’t patent-encumbered. .Net, on the other hand, is a MS technology which is full of patents. People fear that MS could one day sue Linux distributions for including Mono because it infringes on their patents. Thus, there are some that have taken to uninstalling all traces of Mono from their distributions. Is this a rational fear? I don’t know. I’ve read stuff that says it is and stuff that says it isn’t. I really like Tomboy and Beagle.
So now Miguel and Novell have created Moonlight – an open source version of Silverlight. This is what has lots and lots of people mad and talking about it. Microsoft has been really, really (uncharacteristically) nice when it comes to Moonlight. They have been providing the Novell team with reference specifications, test suites to ensure compatibility, and binary codecs. Previous MS technologies which have been reverse engineered like CIFS and Pre-2007 Office formats have have no help from MS. So should people be worried?
I guess it all comes down to intention. Why is Microsoft being so nice? How can it backfire? Miguel has been making a very reasonable argument recently. He has been saying that we don’t want Linux users to get left behind again. It took us a long time to get proper Flash support and because of that we couldn’t properly experience some of the web. So why not work together with MS to ensure we can view the inevitable websites created with Silverlight. Seems perfectly reasonable. After all, if Joe Blow decides to make his website with Silverlight, we shouldn’t necessarily boycott his website. Perhaps it’s all he knows how to do. Now lets look at the worst case scenario. Microsoft helps Linux and Mac out by providing Silverlight. “Look,” they say to web developers, “this will work on everyone’s computer and you can do all these cool things.” More and more web developers use it where they would use Flash. Eventually you can’t get on the web without using Silverlight. Then they decide to suddenly stop helping Linux and Mac. Now what? I doubt they would sue us. That’s really the least of our problems. It’s that once again someone helped MS get to the top when they were having problems and then when they achieved dominance, they left everyone else behind.
Have they ever done this before? Sure – providing Internet Explorer for Macintosh then suddenly abandoning it once they had soundly defeated Netscape.
So, what’s the final verdict? What should we do? Generally speaking, I happen to be a computing realist. Although I rip all of my CDs to OGG Vorbis, I have MP3 decoders on my Linux computers because the Amazon format is MP3. I have videos in mpeg, avi and other non-OGG theora formats. I’m able to view the non-OGG video formats on more computers and they encode much more quickly. I use Adobe’s Flash instead of Gnu Gnash because I want my web pages to work correctly. Finally, I use nVidia’s Linux drivers because I want to have the full functionality of my graphics card whether it’s for something frivolous like Compiz or some 3D computer game. And, I do not have any problems with using Mono on my computer. Although I’m not a huge fan of MS, I don’t see how Mono could hurt me. C# is usable by anyone and if Microsoft decides to stop cooperating with .Net, there’s nothing that says we have to continue compatibility. We can just continue with our own version which is optimized for Linux.
With Moonlight, I am a bit more hesitant. Microsoft has a horrible track record of stabbing people in the back. I don’t want to help them once again achieve hegemony on the web and muck about with the standards again. I want sites to be viewable to everyone whether or not they choose to buy a Windows computer. If they choose to exercise their right to use Mac, Linux, BeOS, AmigaOS, Haiku, or BSD, they should also have the right to access the information on the Internet. I think for now I will keep Moonlight off of my Linux computers and even Silverlight off of my Windows computers. Hopefully, I will never need it for some website I love and, therefore, will never install it.