Novell's Mono project has been a lightning rod for comment and criticism, along with the company in general, primarily due to the Microsoft / Novell patent agreement. While the ideas behind Mono were noble in purpose, the association with Microsoft makes it a non-starter for a fairly substantial number of open source developers. But that doesn't change the fact that corporate America has a substantial investment in custom software developed using Microsoft development tools. (See this article for more information on the Mono project)
Microsoft announced Silverlight in May of 2007 at their MIX conference held in Las Vegas. The first Community Technology Preview (CTP) was released a few months after that. The design goal behind Silverlight was to make it possible to build applications for the Web that used essentially the same code as you would use for a desktop application. From an implementation perspective that translates to a version of Microsoft's Common Language Runtime (CLR) running inside the browser. The actual name is the Dynamic Language Runtime (DLR) with initial browser targets including Internet Explorer on Windows and Firefox and Safari on both Windows and Mac OS X.
Linux is obviously missing in the list of supported platforms--at least it was in the beginning. That's where Moonlight comes in. The need for Moonlight might be questioned by many Linux purists, but the fact remains that there will be websites developed using Silverlight, and unless there is an equivalent on the Linux desktop you won't be able to view that content. Miguel de Icaza explains:
"From my perspective, it is crucial for Linux to have good support for Silverlight because I do not want Linux on the desktop to become a second class citizen ever again."