We learned on Monday that incoming president Barack Obama's Presidential Inaugural Committee (PIC) selected Microsoft's Silverlight framework for the official Internet video stream of the inauguration ceremony. This choice has generated some controversy among Linux enthusiasts, because it requires Silverlight 2.0, which is not yet supported on the open source operating system.

Several developers on Novell's Mono team leaped into action and worked late into the night so that Linux users will be able to watch the stream with Moonlight, an open source implementation of Silverlight 1.0. Their efforts, which were undertaken in collaboration with Microsoft, have ensured that the PIC stream will be accessible to Linux users who download the Moonlight browser plugin from the project's web site, as well as to PPC Mac users who rely on Microsoft's Silverlight 1.0 plugin.

Novell's Aaron Bockover, who is well-known in the Linux community for creating the Banshee audio player, was one of the developers whose participation was instrumental in guaranteeing Silverlight 1.0 compatibility for the PIC stream. After he and his colleagues finished the project at 3AM (ET), he took some time to share some of the details behind the intense undertaking.

"It was quite an evening," he told me. "I was in a movie when [Mono project manager] Joseph Hill called me, asking if I could do the work. The movie had just started. I bailed, walked to the office, and got to work."

Seven hours later, he and his team rejoiced as they sent the final changes to Microsoft. The project involved building an alternate web player that is compatible with Silverlight 1.0 and is capable of supporting the PIC stream. To achieve this, Bockover adapted some existing code that he originally wrote for an ongoing Windows Media compatibility project that is connected with Novell's SUSE Linux Enterprise Desktop distribution. Developers Larry Ewing and Geoff Norton also participated in building the player and assisted Bockover with testing and debugging.

"Basically, we just wanted to make sure that while we don't yet support Silverlight 2.0 on Linux, this historic and much welcomed event would be accessible to Linux users," Bockover told me. "It was entirely a joint effort, and Microsoft was responding to a huge volume of input and concern from Linux users and Mac users."

Microsoft assisted the Moonlight developers by providing them with access to a test stream and by facilitating communication with iStreamPlanet. Bockover told me that he and his colleagues were in constant communication with Microsoft via e-mail during the entire process. The other side of the collaborative effort is documented by Microsoft's Ben Waggoner, who published a blog entry at 3AM with his own perspective.

"We've heard a lot of requests to add support for [Linux and PPC Macs], and so we teamed up with the Moonlight team at Novell and they've created a Silverlight 1.0 version of the player that works great in both Moonlight and PowerPC Macs," Waggoner wrote. "That something like this could come together on such short notice is a testament to the chops and passion of the Moonlight team and the great platform we're both implementing. I'm glad we got this chance to demonstrate how serious we are about this collaboration."

Some critics of Mono and Moonlight doubt Microsoft's commitment to interoperability, argue that Microsoft's technology in this area isn't dominant enough to justify replication, and believe that the open source implementations will never be able to achieve sufficient compatibility to provide practical value. Monday night's collaborative effort by Microsoft and Novell on defies the assessments of these critics and provides some compelling evidence of the need for an open source Silverlight implementation.

Microsoft clearly has the clout to get its format adopted for high-profile usage scenarios, which means that there is a very real need to have a Linux implementation. Microsoft has also demonstrated its willingness to facilitate the advancement of Moonlight and accommodate Linux users. The fact that Moonlight can be used today to stream the inauguration shows that the browser plugin has legitimate value to Linux users and sufficient compatibility to get the job done. Moonlight is improving all the time and, according to the project's roadmap, is on track to get preliminary Silverlight 2.0 support by March.

Although there are still some valid questions about the scope of Microsoft's long-term commitment, the company is definitely helping to make Moonlight a success today, and will likely be pressured to continue doing so for the foreseeable future in order to compete with emerging web standards and technologies from other vendors.

Late nights and preternatural dedication are the cornerstone of the Moonlight narrative. The earliest incarnation of the browser plugin originally emerged in 2007 after an epic 20-day hackathon, during which a small team of globally dispersed developers produced a functioning prototype in only 20 days by voluntarily working nights and weekends. The same degree of commitment and technical excellence went into the extraordinary effort Monday night to bring the inaugural to Linux users.

Further reading

