GNU project founder Richard Stallman has called on developers to pull back from Mono, arguing that increasing use of the open-source toolset could prompt legal action by Microsoft.
Mono is a .Net-compatible set of tools designed to allow applications based on Microsoft's C# programming language to run on platforms including Linux, BSD, Unix, Mac OS X, and Solaris. A number of popular open-source applications, such as the note application Tomboy and the photo manager F-Spot, depend on Mono to run. As a result, Linux distributions such as Debian have said they are considering including Mono in the operating system's default install.
But this is a "risky direction," Stallman wrote in an article published by the Free Software Foundation on Friday.
"It is dangerous to depend on C#, so we need to discourage its use," he wrote. "The danger is that Microsoft is probably planning to force all free C# implementations underground someday using software patents. This is a serious danger, and only fools would ignore it until the day it actually happens. We need to take precautions now to protect ourselves from this future danger."
Stallman said writing and using applications that depend on C# is "a gratuitous risk," and called on developers to write alternative applications that do not depend on C#.
"We should systematically arrange to depend on the free C# implementations as little as possible," he wrote.
Microsoft did not respond to a request for comment on Monday.
Stallman's article is part of an ongoing controversy around Mono, an open-source project sponsored by Novell. Some, such as Stallman, have argued that Mono presents a legal risk for the open source community, while others have downplayed this risk.
Mono project founder Miguel de Icaza said in a 2006 blog post that developers intended to continue following policies designed to minimize the risk of any legal threat from Microsoft.
For example, the Mono project includes a Microsoft compatibility stack that implements proprietary Microsoft technologies such as ADO.NET, ASP.NET and Windows.Forms, but this code is kept separate from the main Mono stack, de Icaza said.
"We will... continue to keep the Microsoft and Mono stacks separated, as there is no need to add dependencies between them," de Icaza wrote.
Stallman said that his Friday article was inspired by the possibility that the popular Debian Linux distribution might include Mono by default. Debian developers have said in recent weeks that the distribution may include Mono by default simply because it is necessary for certain high-quality applications, such as Tomboy and F-Spot.
"As long as Tomboy and F-Spot are best-of-breed, they should be included--and with that, whichever libraries they happen to use," wrote Debian developer Jo Shields in a blog post earlier this month. "Mono is not a threat."
Correction, July 1, 5:04 a.m. PDT: This story has been edited to clarify Miguel de Icaza's position on Mono and the risk of patent infringement.
Matthew Broersma of ZDNet UK reported from London.