Microsoft Keeps C# and CLI Community Promise

Microsoft is keeping its Community Promise to open up its C# language and Common Language Infrastructure (CLI) to developers

Microsoft has announced that it will be applying its Community Promise to its C# language and Common Language Infrastructure (CLI), which in essence frees up developers from any patent or other claims Microsoft might exercise over the use of its intellectual property (IP).

In a 6 July blog post, Peter Galli, Microsoft’s open-source community manager, said the Community Promise will be applied to standards body’s ECMA 334 and 335 specifications. Said Galli:

“ECMA 334 specifies the form and establishes the interpretation of programs written in the C# programming language, while the ECMA 335 standard defines the Common Language Infrastructure (CLI) in which applications written in multiple high-level languages can be executed in different system environments without the need to rewrite those applications to take into consideration the unique characteristics of those environments.”

Of key importance to developers is that the Community Promise does not require the developer to sign a licence agreement or tell Microsoft how they plan to use the specifications. An FAQ attached to the Community promise document, said: “No one needs to sign anything or even reference anything. Anyone is free to implement the specifications as they wish and do not need to make any mention of or reference to Microsoft. Anyone can use or implement these specifications with their technology, code, solution, etc. You must agree to the terms in order to benefit from the promise; however, you do not need to sign a licence agreement, or otherwise communicate your agreement to Microsoft.”

Meanwhile, an overall description of the Microsoft Community Promise to developers reads: “Microsoft irrevocably promises not to assert any Microsoft Necessary Claims against you for making, using, selling, offering for sale, importing or distributing any implementation, to the extent it conforms to one of the Covered Specifications, and is compliant with all of the required parts of the mandatory provisions of that specification…”

Galli noted that these privileges apply to “any type of development or distribution model, including open-source licensing models such as the LGPL or GPL.”

Miguel de Icaza, vice president of developer relations at Novell and founder of the Mono project to deliver an open source equivalent to .NET, said the Mono team had lobbied Microsoft to make the moves it has made with the Community Promise regarding C# and the CLI.

In his own blog on the subject, de Icaza said: “A few months ago we approached Bob Muglia [president of the Server and Tools Business at Microsoft] and Brian Goldfarb [director of developer platforms at Microsoft] with a request to clarify the licensing situation for the ECMA standards covering C# and the CLI (also ISO standards, for the ISO loving among you).”

Galli quotes Scott Guthrie, Microsoft’s corporate vice president for the .Net Developer Platform as saying: “The Community Promise is an excellent vehicle and, in this situation, ensures the best balance of interoperability and flexibility for developers.”

Moreover, de Icaza said: “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. One will be ECMA, the other will contain our implementation of ASP.NET, ADO.NET, Winforms and others.”