< Back to Blogs
The ECMA C# and CLI Standards by Peter Galli on July 06, 2009 12:27PM

I have some good news to announce: Microsoft will be applying the Community Promise to the ECMA 334 and ECMA 335 specs.

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.

"The Community Promise is an excellent vehicle and, in this situation, ensures the best balance of interoperability and flexibility for developers," Scott Guthrie,  the Corporate Vice President for the .Net Developer Platform, told me July 6.

It is important to note that, under the Community Promise, anyone can freely implement these specifications with their technology, code, and solutions.

You do not need to sign a license agreement, or otherwise communicate to Microsoft how you will implement the specifications.

The Promise applies to developers, distributors, and users of Covered Implementations without regard to the development model that created the implementations, the type of copyright licenses under which it is distributed, or the associated business model.

Under the Community Promise, Microsoft provides assurance that it will not assert its Necessary Claims against anyone who makes, uses, sells, offers for sale, imports, or distributes any Covered Implementation under any type of development or distribution model, including open-source licensing models such as the LGPL or GPL.

You can find the terms of the Microsoft Community Promise here.

I told you this was good news!

Comments RSS
  1. Paul said:

    Anyone seen that Carfax commercial...'I have something better: a note from the previous owner. <quote>This is car is great. I promise</quote>'

    But it's a promise!

    posted at 05:46PM 07/06/2009
  2. Gabriel said:

    Awesome news!

    posted at 05:49PM 07/06/2009
  3. KeithCu said:

    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.)

    This is good for Mono, of course, but good for .Net as well.

    posted at 06:58PM 07/06/2009
  4. Congratulation! I am really impressed. Many kudos from any Mono users at least who were tired making worries about openness of .NET

    Bravo Microsoft! I really love .NET and all it brings!

    posted at 07:02PM 07/06/2009
  5. What does this line from the second paragraph of the promise mean, exactly?

    --------------------

    This is a personal promise directly from Microsoft to you, and you acknowledge as a condition of benefiting from it that no Microsoft rights are received from suppliers, distributors, or otherwise in connection with this promise.

    --------------------

    posted at 07:33PM 07/06/2009
  6. Gold said:

    Wait...  You're saying MS won't sue people for developing in C#?

    The fact that this needs to be said is just a little retarded.  What messed up sort of thought process would think that that would have been a good idea prior to this announcement?

    posted at 09:32PM 07/06/2009
  7. Jungle said:

    Good news?bad news? Who knows?

    posted at 11:37PM 07/06/2009
  8. AH said:

    This is great news; however, just to look this gift horse in the mouth.. :)

    i.  please ensure the promise always applies to the latest available specs.!

    ii. any chance of getting Silverlight under this as well?

    Point (ii) in particular is a real stopping point for take-up: there is a lot to like about the technology, but using e.g. Moonlight implementations atm. is a bit uncertain.

    posted at 01:54AM 07/07/2009
  9. Ke said:

    Back in Europe noone cares as noone accepted yours and others worthless imaginery property in form of 'e-patents'.

    "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."

    As long as these environments are any Windows version from X to Z :P

    Seriously how much of .NET is Windows-specific? And if Microsoft is serious about having a good Linux version why don't they make one themself. Mono is JOKE, always several versions and incompatibilities behind. It is the same with Silverlight.. but who am I kidding - you guys know it is not about interop.. it is about looking good and being able to say "HEY We were playing nice - it's them not wanting to play (by our rules)."

    posted at 03:40AM 07/07/2009
  10. John said:

    Yeah - and Microsoft never ever broke a promise... right?

    You know. A promise is something different than a contract or official written unbreakable declaration. You can promise anything, but as long as it is no official statement you can always declare someone is acting not right on some vague grounds, and declare the promise not longer binding. As long as there is no written contract a promise means nothing...

    And it's only a part of the story. Mono is partly tied to closed API's from Microsoft. Microsoft can easily "upgrade" those API's to make them incompatible with a part of Mono. They also can continuously "extend" those code to make mono always lag behind, making mono the second citizen ands less desirable than the "original". That last thing can then be used in the marketing FUD as a example how Linux is "not capable"...

    Just my 2 cents.

    posted at 04:27AM 07/07/2009