Mono (software) - Mono and Microsoft's Patents

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. Yet, in June 2009 the Ubuntu Technical Board stated that it saw "no reason to exclude Mono or applications based upon it from the archive, or from the default installation set."

The base technologies submitted to the ECMA, and therefore also the Unix/GNOME-specific parts, are claimed to be safe due to Microsoft's explicitly placing both ECMA 334 and ECMA 335 standards under the Microsoft Community Promise. 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, they are simply there for developers and users who need full compatibility with the Windows system.

Should patent issues ever arise, the Mono project's stated strategy for dealing with them is as follows:

  • Work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, they would
  • Remove the pieces of code that were covered by those patents, and also
  • Find prior art that would render the patent useless.

In addition, Mono is also included in the list of software that the Open Invention Network has sworn to protect.

On July 6, 2009, Microsoft announced that it was placing their ECMA 334 and ECMA 335 specifications under their Community Promise pledging that they would not assert their patents against anyone implementing, distributing, or using alternative implementations of .NET. However, their position regarding the non-ECMA components like ASP.NET, ADO.NET, and Windows Forms (which are the bone of contention) remains unclarified.

The Free Software Foundation's Richard Stallman has stated in 2009-06-25 that "we should discourage people from writing programs in C#. Therefore, we should not include C# implementations in the default installation of GNU/Linux distributions or in their principal ways of installing GNOME". In 2009-07-16, Brett Smith (also from the FSF) stated that "Microsoft's patents are much more dangerous: it's the only major software company that has declared itself the enemy of GNU/Linux and stated its intention to attack our community with patents.", "C# represents a unique threat to us" and "The Community Promise does nothing to change any of this".

Fedora Project Leader, Paul Frields, has stated "We do have some serious concerns about Mono and we'll continue to look at it with our legal counsel to see what if any steps are needed on our part", yet "We haven't come to a legal conclusion that is pat enough for us to make the decision to take mono out".

Read more about this topic:  Mono (software)