Stallman says "Don't depend on Mono"
Richard Stallman, the founder of the GNU project, has said "Don't depend on Mono". Weighing into a debate over whether Mono, the free C# language and runtime which implements Microsoft's C# language, Stallman pointed to a "danger... that Microsoft is probably planning to force all free C# implementations underground someday using software patents".
Saying this was a serious danger and that "only fools would ignore it until the day it actually happens", Stallman suggests that "we should systematically arrange to depend on the free C# implementations as little as possible". He suggests that people should be discouraged from writing programs in C# and that to do this, distributions should not include C# implementations and recommends non-C# applications over C# applications.
The debate over Mono has simmered ever since the Mono C# implementation was announced. The suspicion has been that Microsoft have patents that are relevant to C# and are just waiting for Linux developers to become comfortable with Mono so they can pull the rug out from under Linux. Mono's defenders point out that Mono itself is an implementation of the ECMA standard for C# and that the patents that are usually referred to belong to the higher .Net layers which run on C# based systems, but aren't implemented as a core part of Mono. Microsoft made a statement in 2003 saying the patents which are relevant to the ECMA/ISO standard are "royalty-free and otherwise RAND"; a somewhat confusing statement without saying which technology falls under the royalty free and which is under RAND terms (Reasonable And Non Discriminatory).
The debate recently stepped up a notch when it was suggested that Debian may, or may not, include Mono in its live CD version. The GNOME desktop has been acquiring a number of well-liked applications which are written with Mono, such as Tomboy (a note manager), F-Spot (a photo manager) and Gnome-Do (a fast application launcher). One developer's response was to create Gnote, a C++ implementation of Tomboy, which in turn has led to calls to replace Tomboy with Gnote to remove that Mono dependency from the GNOME desktop. Mono-using developers in turn feel unhappy that a coordinated effort to block their code from being used, on the basis of what they consider a non-existent patent threat, is somewhat against the principles of free software, especially as their code, and Mono itself, is mostly licensed under the GPL, LGPL or MIT X11 licence.
In some ways though, the worries about Mono are of the Mono project's own making. By having the project implement both the ECMA/ISO covered elements and the more obviously patented ASP.NET, ADO.NET and Windows.Forms components, the lines have been blurred for many as to what is or is not patent safe. Stallman's statement says that all C# implementations are potentially unsafe from a patent attack from Microsoft.
Unlike the time when Stallman pursued Sun for its "Java Trap" which was resolved when Sun moved to the GPL for Java's licence, the issue is over the possibility of being sued over potential patent violations, so can't be resolved with a "simple" licence change. The issue is over trust in Microsoft, something that is in short supply in the free software community; the TomTom case was, for some, the final straw with regard to Microsoft and patents, even after the case was settled.
One route out of this situation would be if Microsoft made a definitive statement on the patent position of Mono, and by extension any future C# implementation by specifying which patents apply to Mono and officially publishing a royalty free, non-discriminatory licence for those patents. For transparency, the Mono project would have to split into two projects, one dealing solely with the Mono elements covered by that statement, the other dealing with the other patent encumbered elements, including the Moonlight port of Silverlight.
Until then, the suspicion that Microsoft could and would sue some Mono user over software patents will persist, and the duplication of effort, as developers port programs from Mono to non-Mono platforms, and the protests over the inclusion of Mono and Mono-based applications in Linux distributions will continue.