Welcome!

.NET Authors: Liz McMillan, Tim Hinds, Pat Romanski, Steve Mordue, Kevin Benedict

Related Topics: .NET

.NET: Article

Major Deal Between Microsoft and Mono!

Take advantage of the controls now

Just as I'm finishing this column, Miguel comes on chat (#mono on irc.gnome.) and mentions that the media embargo on project "Barking Duck" will be lifted at midnight. "Project Barking Duck" is an inside joke at Mono and not actually a project.

But the media embargo was real.

At midnight, Microsoft announced the release of Silverlight 1.0.

And it announced a deal with Novell to have Mono provide Silverlight support for non-Microsoft platforms. Although Microsoft has worked with other open source projects, especially on the server side (Xen and PHP), this is the biggest involvement Microsoft has had with open source on the client side.

Silverlight 1.0 has been in beta, while 1.1 (due out next summer) is still in alpha. Mono started working on Moonlight, its version of Silverlight, back in late April, because it uses the .NET Runtime; it has since decided to support version 1.0 too because it wound up being just a subset of 1.1 (1.0 is based on JavaScript, 1.1 also supports CLR-based languages). I wrote about Mono's start with Silverlight/Moonlight back in the June "Monkey Business" column (DNDJ, Vol. 5, issue 6), including a 21-day hackathon to get a demo ready for Microsoft's MIX 07 conference in Paris. This got the attention of some folks at Microsoft and they started working on the deal.

In the deal, Mono gets:
1)  The Silverlight test suit to verify that Moonlight is Silverlight-compatible.
2)  Access to version 1.0 documentation beyond that available on the Web site, and early access to the version 1.1 documents.
3)  Microsoft will put the binary audio and video codecs on their Web site for Moonlight users to download (for use with browser-based applications, NOT for desktop applications, for those you'll need to use ffmpeg or another codec). This is a biggie because codecs are typically covered by patents and can be hard to get access to. Currently Mono uses the ffmpeg codec for Moonlight, but can't distribute it commercially because of licensing issues (ffmpeg is GPL, Mono is mostly XII). Those who want to continue to use ffmpeg or other codecs (such as OGG) with Moonlight will be able to do so.

Because few want to create a Web site that only Windows users can view, this deal helps Microsoft get its new technology accepted.

Due to limited resources, Mono will support Moonlight on Linux and Firefox on x86 and x86-64, and will work with others to support other operating systems, browsers, and processors; Microsoft provides support for OSX and the Safari browser. Don't be surprised if Mono eventually supports a wider range of operating systems, browsers, and processors.

Because 1.0 uses JavaScript, all you "need" to create SilverLight/Moonlight code is an editor, but a designer would be nice, and Mono is working on one. Actually, Alan McGovern, who worked on MonoTorrent (a BitTorrent API for Mono) as a Google Summer of Code student last summer, worked on the Moonlight designer this summer as a summer intern at Novell; Miguel blogged about it at http://tirania.org/blog/archive/2007/Aug-31.html.

The next version of Mono (1.2.6) will include both Moonlight and a C# 3.0 compiler; in the meantime, you can get a head start by downloading the latest code from the code repository.

For more information, see http://money.cnn.com/news/newsfeeds/articles/prnewswire/AQW07105092007-1.htm (one of the first news releases), Click Here ! (Scott Guthrie's blog on Silverlight/Moonlight. Scott runs the Silverlight project at Microsoft), http://halo3.msn.com/videosHD.aspx (a HD version of the Halo 3 demo), http://mlb.mlb.com/media/video.jsp (A Silverlight video on major league baseball's home page (www.mlb.com)), and the Moonlight home page at www.mono-project.com/Moonlight.

Summer of Code Ends
You can read some blogs on the summer of code at http://googlesummerofcode.blogspot.com/.

Michael Hutchinson, one of the original summer of coders (he worked on the Mono ASP.NET designer), has accepted a job with Novell/Mono where his first task will be working to improve MonoDevelop.

Also, Alan McGovern who worked with Mono last summer as part of the Google Summer of Code to build a BitTorrent API for Mono called MonoTorrent, was back at Novell this summer as an intern.

Odds and Ends
The URL (http://sharpos.org/) I listed last month for the SharpOS project (a managed OS written almost entirely in C#) is no longer valid. The other URL I listed, http://sharpos.sourceforge.net/cgi-bin/trac.cgi, should still work, as should http://sharpos.sf.net/ and http://sharpos.sourceforge.net/.

Mono has released version 1.2.5 with 1,907 new methods, including a new version of Moma, the utility that checks assemblies for Mono compatibility without Mono having to be installed, and a new version of the VMware Player that sets up a window with a virtual install of SUSE 10.2 with Mono 1.2.5 and Moonlight. I will cover more of 1.2.5 next month. In the meantime, you can check it out at www.mono-project.com/Downloads.

Last month I gave a presentation on Mono and Moonlight at the Alabama Code Camp at the University of Alabama in Birmingham. Next month I will have the exact URL of my presentation, but general information about the Alabama Code Camp can be found at www.alabamacodecamp.com/. You can also find a similar presentation (minus Moonlight) that I gave at the Atlanta Code Camp earlier this year at www.atlantacodecamp.com/ (click on the "sessions" link scroll down to my name).

More Stories By Dennis Hayes

Dennis Hayes is a programmer at Georgia Tech in Atlanta Georgia where he writes software for the Adult Cognition Lab in the Psychology Department. He has been involved with the Mono project for over six years, and has been writing the Monkey Business column for over five years.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.