There's been interesting news about Microsoft support for the Novell Moonlight project this past few days. Miguel de Icaza as community leader around Mono and Moonlight best tells the news on his blog, and points to Scott Guthrie's supporting blog post from Microsoft. Tim O'Reilly points out that Microsoft will (predictably) support open source software for competitive advantage, in this case against Adobe. Matt Asay supports Tim with the observation that Microsoft will use open source "where it's weak" and chides the two companies to just consummate the marriage.
All the Moonlight support from Microsoft is a Very Good Thing for Moonlight and Novell, but let's be clear: Microsoft's participation in Moonlight is NOT Microsoft doing open source software.
No code has been contributed to a community under a liberal license. (As Miguel says, "Microsoft will give Novell access to the test suites for Silverlight to ensure that we have a compatible specification.") No IP has been contributed to a community under a liberal license. ("The codecs will be binary codecs, and they will only be licensed for use with Moonlight on a web browser".)
Novell is doing the heavy lifting with help from Microsoft. And in return, Novell is actually being pretty savvy (despite Matt's regular swipes at them for a lack of open source creativity and strategy).
- Novell is anchoring itself rapidly as the other cornerstone for cross-platform programming between Windows and Linux. This gives them a valuable community center of gravity with respect to the enterprise that is much more valuable with customers than "we're not Red Hat". Miguel has demonstrated himself as a brilliant community leader over the years. Influence and IP control — It's all good for business.
- It allows Novell to move Mono beyond the patent FUD and "science experiment" label Microsoft has traditionally thrown at it. [Mary Jo Foley correctly called this one out.] For Microsoft to renege on this very public initiative, or to try to claim behind closed doors that they like Moonlight but not Mono will demonstrate to customers once and for all that Microsoft doesn't understand the customer cross-platform/interop needs. While Moonlight may be a great desktop experience, Mono is also all about server-side applications.
- Before Microsoft gets any [BROKEN!] ideas around trying to jam yet another unproved specification through the standards process, Novell is anchoring the specification with a second high profile external implementation on another platform. [This is a Very Very Good Thing for everyone.]
Microsoft certainly gains in the bargain as well. They get to maintain a position on a multi-platform field they would otherwise forfeit to Adobe's open source maneuvering and market history around Flex and Flash. They get to be seen publicly collaborating on Linux-based technologies so as to foster the belief with customers that they do genuinely care about cross-platform interoperability (and anchored around C# and .NET technologies). They may even be in a GREAT position with respect to some customers to be the single source vendor of platforms when one considers the other collaboration deals in place with Novell. It's win:win for each of them.
But it's not Microsoft doing open source. When we start to see Microsoft developer participation in the public code contributions for Moonlight, then they can claim to be "doing open source." Regardless of the open sourcery of it all, however, it will be fascinating to see where this initiative goes.