Short bio: Computer Scientist, FOSS supporter (read more)
Tux Machines (TM)-specific
There has been a lot of press recently about the Open Source "Mono" project, arguing about whether it is safe to use by the Free Software community, and even comparing it to the project I work on, Samba. Given all this controversy I thought I might as well write down my own thoughts on the matter, and even try and change a few minds into the bargain.
Mono is controversial as it is a re-implementation of Microsoft's .NET technology, in much the same way as Samba is a re-implementation of Microsoft's Server Message Block (SMB) file sharing protocol. The genesis of each project and how they have developed over the years is somewhat different however.
Samba was initially written by the original developers to "scratch our own itch" . It was code that was specifically useful to us, and originally had no wider purpose than that. We have gotten a little more ambitious over the years, but one of our primary purposes is still to write code that's useful to us - or to me at least . Witness our development of a UNIX variant of the SMB protocol, which has no use for Windows clients or servers, but is a great way of networking Linux boxes together.
Miguel de Icaza, the original creator of the Mono project, would argue the same for Mono. Miguel was one of the original creators of the Gnome Linux desktop code, and personally wrote some of the large Gnome desktop applications in C. I once asked Miguel why he decided to create Mono, which re-implements Microsoft's C# language and the runtime environment that goes with it, whilst we were stuck on a bus together traveling to an evening event in some godforsaken Linux World event in Boston. "It's simple," he replied, "I'm fed up of writing memory garbage collection code for C applications. There had to be an easier way to write Linux desktop applications than that."