Today the Mono Project released the much-anticipated Mono 2.0 for Linux. After two-and-a-half years in development, Mono 2.0 is finally here and ready to run your .NET 2.0 applications, Windows Forms, ASP.NET content on Mac OS X, BSD and Linux. Mono is multi-language capable--choose your own path from C#, VB, Java, PHP, Python, Ruby, Eiffel, F#, Oxygene and more.
Mono is a cross-platform, open source .NET development framework.
Now the question is, why? Why would anyone want to use .NET for anything if you're still using PHP, Python, Java, etc. for development?
Mostly it's because Miguel de Icaza, the Mono Project's founder and leader, liked .NET after checking it out in December 2000. From his interest, the Mono Project was born in 2001. Three years later Mono 1.0 became available.
Another reason for .NET development on Linux is that developers are able to create .NET applications without having to spend money on Microsoft licensing for workstations or servers. Linux is also very stable and runs .NET applications with fewer problems than its Windows counterparts.
Mono isn't perfect, though, for example, if you port from Windows to Linux, you can only expect about 60% of your code to work as is. It certainly isn't drag-n-drop like true cross-platform languages like Python or PHP but it gets you a true .NET platform at no cost.
Novell owns the Mono project which may assist in its further development since Novell and Microsoft have become technology partners.
Mono developers are currently working on Mono 3.0 to support the .NET 3.0 environment and code.