Mono and Microsoft’s patents
For more details on this topic, see Software patents and free software and Novell#Agreement with Microsoft.
Mono’s implementation of those components of the .NET stack not submitted to the ECMA for standardization has been the source of patent violation concerns for much of the life of the project. In particular, discussion has taken place about whether Microsoft could destroy the Mono project through patent suits.
The base technologies submitted to the ECMA, and therefore also the Unix/GNOME-specific parts, may be non-problematic. The concerns primarily relate to technologies developed by Microsoft on top of the .NET Framework, such as ASP.NET, ADO.NET and Windows Forms (see Non standardized namespaces), i.e. parts composing Mono’s Windows compatibility stack. These technologies are today not fully implemented in Mono and not required for developing Mono-applications. Richard Stallman of the Free Software Foundation has stated it may be "dangerous" to use Mono because of the possible threat of Microsoft patents.[18] For this reason, the FSF recommends that people avoid creating free software that depends on Mono or C#.[19]
On November 2, 2006, Microsoft and Novell announced a joint agreement whereby Microsoft agreed to not sue Novell’s customers for patent infringement.[20] According to Mono project leader Miguel de Icaza,[citation needed] this agreement extends to Mono but only for Novell developers and customers. It was criticized by some members of the free software community[who?] because it violates the principles of giving equal rights to all users of a particular program.
In a note posted on the Free Software Foundation's news website in June 2009, Richard Stallman warned that he believes "Microsoft is probably planning to force all free C# implementations underground some day using software patents" and recommended that developers avoid taking what he described as the "gratuitous risk" associated with "depend[ing] on the free C# implementations", including Mono.[21]