Silverlight was originally a competitor to Adobe Flash. Microsoft wanted to spread Silverlight across the web and replace all that Flash content with a different plug-in. To this end, Microsoft promised Silverlight would be open so all platforms could use it. Microsoft still offers Silverlight plug-ins for both Windows and Mac OS X today.
Silverlight was supported on Linux through Moonlight, an open-source implementation of Silverlight developed by the Mono Project. Microsoft offered official support for the Moonlight project while it was being developed. In 2007, Microsoft announced:
"After a great deal of work between the Moonlight and .NET teams, we're ready to formally announce that we (Microsoft and Novell) will be bringing Silverlight to Linux, fully supported and including application and media codec compatibility.
The expansion of the existing work between Microsoft and Novell to include support for Silverlight on all Linux platforms is a major step in the journey of interoperability that we are on. We've heard clearly from the community that a full cross-platform web development solution is not only Windows and Macintosh, but must include Linux."
Microsoft talked the talk, but they didn't walk the walk. Version 2.0 of Silverlight included "PlayReady DRM," which Netflix required to play its videos. Microsoft wouldn't license the DRM code to Moonlight so they could use it, even though Microsoft provided a binary codec pack for the original version of Moonlight. Microsoft's time of making nice with Linux users was over.
In 2011, Moonlight development was ended. Developer Miguel de Icaza said Microsoft had "cut the air supply" to Moonlight by adding Windows-only features to Silverlight and not fulfilling its original vision of being properly cross-platform. Silverlight itself is now basically abandoned by Microsoft, so it's beginning to look like we can leave this sad period behind. The shift to HTML5 technologies that actually are cross-platform means Netflix can now work on Linux.
Why Netflix doesn't work in Firefox: HTML5 video DRM controversy
Many Linux users prefer Firefox — in fact, it's Ubuntu's default browser. But Netflix only works in Google Chrome on Linux — not Firefox, not Chromium, not Opera, and not anything else.
But why? Well, Netflix isn't just using plain-old HTML5 video for this; they're also using a technology called "Encrypted Media Extensions." Essentially, this is a DRM technology built into web browsers that allows Netflix and other media sites to download a small, closed-source plugin that runs in your web browser. The closed-source plugin attempts to protect Netflix content from piracy, just as Silverlight and Adobe Flash do. It's likely that Netflix's contracts with content providers require this sort of DRM. Netflix wasn't willing to support HTML5 video until the appropriate DRM technologies were available.
Sign up for Computerworld eNewsletters.