Depending on how strictly you define complete, there are currently no complete implementations of DotNet for GnuLinux publicly available. There are several efforts to create one, in varying stages of completion:
Cross-platform support in mono:
Note: The interesting part of .NET lies in the cross-platform libraries. Once the compiler and tools are ported, the libraries can be used with them.
Unless Microsoft changes the implementation of said compiler and/or tools, of course. But they wouldn't do a thing like that, would they?
It doesn't matter if Microsoft change their implementation - the C# and .Net specifications are standards. The things to keep an eye on are the non-standardised bits like WindowsForms and AspDotNet. Of course, if someone were to build competing GUI frameworks for .Net, there would be no need to track those moving targets. - JimArnold
DotNet is such a large endeavor that I don't see how it makes sense to try to replicate all of it.
The CommonLanguageInfrastructure's inter language use and extension of classes, unified loader and debugger and the like seem interesting. I would like to see a comparison of the underlying VirtualMachine with the JavaVirtualMachine. I also wonder if there is any good reason why the loading, debugging etc. features couldn't detect whether CLI or Java ByteCode is being presented, and invoke the appropriate JustInTimeCompiler.
I think the open source world could do better than simply cloning Web Forms and WindowsForms. Why couldn't there be a single description of the ideal user interface, with hints for rescaling from desktops through handheld devices or dial-up phone prompts? (Combine Berlin with MozillaXul and you're really close...) The business, database, XML processing functionality looks useful in a variety of environments.
Aren't the OS services too closely tied to Windows semantics to be generally useful in Linux, Palm, and EROS environments? Why in the world would the OpenSource world want to attempt to replicate Passport?
Southern Storm Software's Portable.NET
http://www.southern-storm.com/portable_net.html
Southern Storm Software is working on a portable implementation of DotNet with Linux as their initial target platform. The primary goal of this project is to build a stable and portable interpreter for .NET platform binaries, together with a suite of open source tools to build .NET applications.
As of May 2001, Portable.NET is not really usable. A few simple utility programs seem to work. But if you point the C# compiler toward a simple HelloWorld it does not produce any output files. So the download is mainly only useful if you want to contribute to writing a DotNet compatible interpreter. But do not be discouraged by that.
The question is, then, what incentive do FreeSoftware developers have to contributing? With Kaffe, we've already made significant inroads into Java, which certainly gives us more that we can do now, as opposed to what .NET promises.
Another interesting question: How is Southern Storm's work being licensed under the GnuGeneralPublicLicense is going to mesh with MicroSoft's license for the portable libraries?
What can we expect from Microsoft?
Gartner Group analyst David Smith, in a piece on CNET on June 18, 2001 entitled "Why Microsoft is wary of open source" (http://news.cnet.com/news/0-1003-200-6291224.html):
And now MicroSoft is making veiled threats against Ximian's Mono, implying there really cannot be even a clean-room implementation without violating MicroSoft's IP
To me the bottomline is whether I have develop competitive (on cost, functionality) solutions using this platform. The next question is whether the DotNetForLinux combination is going to last long enough for upfront costs (including opportunity costs) to be recovered. If the endusers who fund IT projects demand solutions and if the solutions meet other minimum criteria (e.g. security, robustness) then it has a chance. A very steep uphill battle because MicrosoftDotNet is not a stationary target. Checkout WindowsLonghorn in the news and the current DotNet is looking obsolete already. --DavidLiu