Paul Krill
Editor at Large

Microsoft extends access to C#, CLI

news
Jul 7, 20093 mins

C# and CLI are now covered by Microsoft's Community Promise, enabling open source usage of the technologies without fear of reprisals

Microsoft is extending its “Community Promise” patent licensing to C# programs and Common Language Infrastructure (CLI), enabling open source usage of the technologies without fear of any reprisals.

With Community Promise, Microsoft assures it will not assert its “Necessary Claims” against anyone who makes, uses, sells, offers for sale, imports, or distributes any “Covered Implementation” under any development or distribution model, said Peter Galli, Microsoft open source community manager, in a blog post on Monday. This includes open-source licensing models such as the LGPL or GPL, he said.

[ Related: Microsoft in 2006 promised not to take patent-enforcing action against those using certain APIs. | Keep up with app dev issues and trends with InfoWorld’s Fatal Exception and Strategic Developer blogs. ]

The company, Galli said, will apply Community Promise to the ECMA 334 and 335 specifications. ECMA 334 specifies the form and establishes the interpretation of programs written in the C# language. ECMA 335 is a standard that defines the CLI, in which applications written in multiple high-level languages can be executed in different system environments without having to rewrite the applications to consider unique characteristics of those environments.

“It is important to note that under the Community Promise anyone can freely implement these specifications with their technology, code, and solutions,” Galli said. “You do not need to sign a license agreement or otherwise communicate to Microsoft how you will implement the specifications.”

Community Promise applies to developers, distributors, and users of covered implementations without regard to the development model used to create the implementations. The type of copyright license used to distribute software covered by Community Promise also does not matter.

“The Community Promise is an excellent vehicle and, in this situation, ensures the best balance of interoperability and flexibility for developers,” said Scott Guthrie, Microsoft corporate vice prresident for the .Net Developer Platform, in a statement included on Galli’s blog.

In response to Microsoft’s moves, Novell’s Miguel de Icaza, who has led development of Mono, an open source version of Microsoft’s .Net Framework, said in a blog post that Mono advocates had approached Microsoft with a request to clarify the licensing situation for ECMA standards covering C# and CLI.  Mono contains the ECMA C# specification.

“Astute readers will point out that Mono contains much more than the ECMA standards and they will be correct,” de Icaza said.

“In the next few months we will be working towards splitting the jumbo Mono source code that includes ECMA plus 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,” he said.

Some persons commenting on Galli’s blog were positive about the move. “This is very good. I know of people who have chosen not to use .Net because they wanted a cross-platform solution, but they were afraid that Mono had patent risks. Java doesn’t have this issue,” one commenter said. “This is good for Mono, of course, but good for .Net as well.”

In a somewhat cryptic explanation of the differences between Open Specification Promise and Community Promise, Microsoft on its Community Promise page said, “The CP (Community Process) requires that implementations conform to all of required parts of the mandatory portions of the specification. Also, in specified cases (such as where the specifications have uses that exceed those needed to achieve the interoperability needs for which the release under the CP is being made), the CP may have special terms concerning what kinds of implementations are covered.”

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author