The Mono project has released Mono 2.0. As most of you will know, Mono is an open-source implementation of Microsoft's .NET framework for Linux, Mac OS X, Windows, and other operating systems. The 2.0 release comes packed with new features, the main ones being the compiler upgrade to C# 3.0 with support for LINQ, as well as the inclusion of ADO.NET 2.0, ASP.NET 2.0 and System.Windows.Forms 2.0. The release notes detail all the changes and new features.

Say what you want about legality, these guys are making great progress on fairly complex technology. Support for ASP.NET and Linq will allow lots of companies to actually consider the move to non-windows (non-IIS) servers.

I'd love to start seeing third parties, like Telerik, compile some of their libraries under mono (or at least check for mono compadiblity).

Imagine MS said "ntfs is open, you just have to reverse engineer it." Why are MS not releasing some of the code to Mono? To duplicate work is just plain stupid. Mono will never catch up with the latest MS .NET version.

Imagine MS said "ntfs is open, you just have to reverse engineer it." Why are MS not releasing some of the code to Mono? To duplicate work is just plain stupid. Mono will never catch up with the latest MS .NET version.

MS have said that parts of .NET are open specifications. These parts are ISO standards even.

In typical MS fashion, though, only parts of the .NET framework are open:

Specifically, CLI and the C# programming language are ECMA standards (ECMA 335 and ECMA 334) which later became ISO standards.

However:

However, this does not apply for the part of the .NET Framework which is not covered by the ECMA/ISO standard, which includes Windows Forms, ADO.NET, and ASP.NET. Patents that Microsoft holds in these areas may deter non-Microsoft implementations of the full framework.

Interestingly, Microsoft has made available much of the source code for the .NET Framework Base Class Library (including ASP.NET, ADO.NET and Windows Presentation Foundation) under the shared source Microsoft Reference License.

This is the most restrictive of the Microsoft Shared Source licenses. The source code is made available to view for reference purposes only. Developers may not distribute or modify the code for commercial or non-commercial purposes.

Since Mono 2.0 includes Systems.Windows.Forms 2.0, ASP.NET 2.0 and ADO.NET 2.0 I'd say pretty much that anyone who installs Mono 2.0 on their Linux system has what Steve Ballmer refers to as an "undisclosed liability" to Microsoft right there.

Good for mono developers.
but i am afraid Mono usage in server side is nearly zero. My belief is, .Net is (has been and most likely will be) an MS-Windows thing. Mono may be fine for some gnome desktop applications but thats it. Sure mono will be used and fed by MS as "hey look we are multi platform" to the end. but thats another story..

Say what you want about legality, these guys are making great progress on fairly complex technology. Support for ASP.NET and Linq will allow lots of companies to actually consider the move to non-windows (non-IIS) servers.

Why would anybody want to do that though? If you have an ASP.NET app, why not just run it under IIS?

I believe that things are best run under the platform they were designed for. I recently wrote two web apps for organizations who, for whatever reason, insisted on running them on IIS. One app was written using RoR and the other using Django; neither of which were designed to run on IIS.

I got the apps to run, but the configuration was a pain in the butt and the organizations both had to buy a 3rd party application to make IIS emulate mod_rewrite. It would have been cheaper and easier to just run the apps on something like Apache or Lighttpd (and on an OS that supports symlinks) instead of trying to shoehorn them into Windows and IIS. I would think the opposite would be true with ASP.NET on Apache (or some other web server) running on a Linux box.

"Say what you want about legality, these guys are making great progress on fairly complex technology. Support for ASP.NET and Linq will allow lots of companies to actually consider the move to non-windows (non-IIS) servers.

Why would anybody want to do that though? If you have an ASP.NET app, why not just run it under IIS? I believe that things are best run under the platform they were designed for. I recently wrote two web apps for organizations who, for whatever reason, insisted on running them on IIS. One app was written using RoR and the other using Django; neither of which were designed to run on IIS. I got the apps to run, but the configuration was a pain in the butt and the organizations both had to buy a 3rd party application to make IIS emulate mod_rewrite. It would have been cheaper and easier to just run the apps on something like Apache or Lighttpd (and on an OS that supports symlinks) instead of trying to shoehorn them into Windows and IIS. I would think the opposite would be true with ASP.NET on Apache (or some other web server) running on a Linux box. "

You make an excellent case.

I have but one query ... doesn't Microsoft charge a "Client Access License" fee for every separate connection to one of its IIS servers?

If you have an ASP.NET application, isn't it the case that you will have to pay Microsoft (in terms of CALS for IIS) for each user of the application ... even if the ASP.NET application is actually your own in-house developed application?

It would have been better to develop your application on a LAMP stack ... but given that you haven't, isn't there now a business opportunity to provide a way to run an ASP.NET in-house developed application hosted from a Linux server?