Microsoft is to promise not to sue developers who implement its C# programming language and the Common Language Infrastructure, both of which underpin its .NET framework.
On Monday, Peter Galli of Microsoft's Open Source Community project wrote in a blog post that the software maker will apply its Community Promise to the Ecma 334 (C#) and 335 (CLI) standards. The Community Promise is an irrevocable assurance that Microsoft will not sue those who implement specifications that are covered by the promise.
"The Community Promise is an excellent vehicle and, in this situation, ensures the best balance of interoperability and flexibility for developers," .NET developer platform chief Scott Guthrie is quoted in Galli's post as saying.
Richard Stallman, the founder of the GNU project, warned last week that developers should avoid using Mono, the Novell-sponsored open-source implementation of .NET, due to its reliance on C# and CLI. "The danger is that Microsoft is probably planning to force all free C# implementations underground someday using software patents," he said at the time.
However, the application of the Community Promise extends to all developers, including those coding under open-source licensing models such as LGPL or GPL.
"A few months ago we approached [server and tools chief] Bob Muglia and [web platform and tools product manager] Brian Goldfarb at Microsoft with a request to clarify the licensing situation for the Ecma standards covering C# and the CLI," Mono lead Miguel de Icaza wrote on his blog on Monday. "Previously Microsoft had detailed the patent-licence plans and today they have delivered on those plans. Thanks to everyone at Microsoft that worked to get this approved and released."
De Icaza noted, however, that Mono's code contains more than the Ecma standards. "In the next few months we will be working towards splitting the jumbo Mono source code that includes ECMA + A lot more into two separate source code distributions," he wrote. "One will be ECMA, the other will contain our implementation of ASP.NET, ADO.NET, Winforms and others."