Software architect Nic Wise of Auckland software house Orbiz has plenty of experience working with both open source and closed source tools and development environments and is enthusiastic about .Net.
"Open source ‘devheads’ should take notice of .Net because it’s an environment much like Java, but backed by a much larger company," says Wise, recognising that the mere mention of Microsoft is enough to make some of the more zealous open source developers bristle. Furthermore, he says, .Net has been properly designed and architected and comes with "an excellent set of development tools which offer major productivity gains compared to anything else that’s out there".
Wise draws another parallel between .Net and Java. Java itself is closed source but it is surrounded by open source tools and products, he says. Some of these tools, like ANT, JUnit and JavaDoc, are already being ported over to .Net. With the addition of efforts like Mono (go-mono.com), Wise expects that .Net developers will have a similar infrastructure to draw upon.
However, Wise believes that until the open source .Net initiatives mature, developers probably have to use Windows to get the most out of it.
Mono was started by Ximian (of the Ximian GNOME desktop fame), as an open source implementation of the .Net development framework. Thanks to the hard work of open source luminaries like Miguel de Icaza and 90 other developers around the globe, Mono already offers a C# compiler, a common language runtime (CLR), plus a set of class libraries that follow specifications from standards body ECMA and should be compatible with Microsoft’s implementation of .Net.
The interesting thing about Mono is that it works on both Linux and Windows. As a parallel, perhaps, Microsoft has released a beta of its "shared source" common language interface, with C# and Jscript compilers, for Windows XP and FreeBSD.
However, the shared source CLI licence bans it and any derived work from being used in commercial projects, thus limiting its usefulness.
Open source developer Mark Derricut says that Mono looks “very promising”, though it’s still early days. Derricut says that getting Windows Forms (a Win32 programming framework) support into Mono would make it a “killer”, as it would enable Windows and Linux developers to develop for each other's platforms with ease. It will give developers the functionality of .Net without having to use costly Microsoft platforms, a major drawcard for cost-conscious IT shops.
Derricut is dipping his toes into .Net waters “to keep up” and points out that there are already plenty of tools available for free, like #develop (SharpDevelop), a free GPL licensed integrated development environment specifically designed for C$ and Visual Basic .Net. #develop is actually completely written in C#, and comes with a rich set of features, but without the huge overheads of Microsoft’s Visual Studio .Net IDE.
As more people become aware of .Net’s advantages, Derricut expects there will be even more tools available, and notes that many of the existing Java ones are being ported to .Net already.