Slashdot Mirror


Microsoft Puts C# and the CLI Under "Community Promise"

FishWithAHammer writes "Peter Galli of Microsoft posted a blog entry on Port25 today, regarding the explicit placement of C# and the Common Language Infrastructure (the ECMA standard that underpins .NET) under their Community Promise: '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. ... 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.'" Adds reader anshulajain: "Understandably, Miguel De Icaza is jumping with joy."

10 of 465 comments (clear)

  1. No Really Definite Confirmation of This Yet by eldavojohn · · Score: 5, Insightful
    So after reading the article, the source seems to be Peter Galli's blog:

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

    Ok, I certainly hope he received more than just that before he began proclaiming to the world that Microsoft is doing such a thing.

    The optimist in me is excited. The skeptical in me is dubious, confused and does not trust blogs. It's not listed on Microsoft's list of products under the Community Promise so I'm going to refrain from breaking out the champagne until all the facts are finalized.

    Anyone else got a better source for this than a loosely affiliated blog that bills itself as "Communication from the Open Source Community at Microsoft" ?

    --
    My work here is dung.
    1. Re:No Really Definite Confirmation of This Yet by Plug · · Score: 5, Informative

      If you want a GUI on Windows, or using the Windows libraries, sure.

      GTK# is entirely developed by the Mono project, and requires none of the aforementioned Microsoft parts. That means applications like Tomboy and Banshee should now be fully RMS-friendly.

      Mono is more than just 'running Windows applications on Linux'. There is a large ecosystem of utilities developed with it, because (a) a properly object-oriented language with native bindings is much better than the C-with-Gobject alternative, and (b) Java was not Free at the time.

    2. Re:No Really Definite Confirmation of This Yet by Locutus · · Score: 5, Insightful

      it was said, "that still doesn't mean you get anything useful - if you write a simple app that does nothing, you're fine." and then goes on to mention doing a GUI, amongst other types of applications is going to require using some .Net tied libraries. While it was not _that_ clearly stated, the OP was really saying that using C# and the CLI to write more complex applications is very likely to be leveraging libraries instead of every aspect being written from scratch and those libraries are based on Microsoft's .Net patented designs.
       

      The fact that Microsoft is mentioning this stuff about C# and the CLI while saying nothing about the .Net patents and libraries should be a red flag because the issue is Mono. Mono is C#, CLI and .Net libraries. They are dancing around the main issue and almost everyone is missing this.
       

      LoB
       

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
  2. This shows by Hal_Porter · · Score: 5, Funny

    Microsoft love us and want us to be happy :-)

    --
    echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
  3. It's about time by bmo · · Score: 5, Informative

    Now Microsoft is estopped from going after people using c# and .net technologies.

    This is the answer I've wanted from Miguel ever since the Novell brouhaha.

    Promissory estoppel serves as a "consideration substitute" in contract law that renders certain promises otherwise lacking in consideration binding and enforceable. In such cases, the promisee's reliance is treated as an independent and sufficient basis for enforcing the promise. Promissory estoppel can be viewed as a legal device that prohibits the promissor from denying the existence of a contract for lack of consideration.

    http://www.lawnix.com/cases/promissory-estoppel.html

  4. FYI, this IS legally binding by Vahokif · · Score: 5, Informative

    "Q: Is this Community Promise legally binding on Microsoft and will it be available in the future to me and to others?

    A: Yes, the CP is legally binding upon Microsoft. The CP is a unilateral promise from Microsoft and in these circumstances unilateral promises may be enforced against the party making such a promise. Because the CP states that the promise is irrevocable, it may not be withdrawn by Microsoft. The CP is, and will be, available to everyone now and in the future for the specifications to which it applies. As stated in the CP, the only time Microsoft can withdraw its promise against a specific person or company for a specific Covered Specification is if that person or company brings (or voluntarily participates in) a patent infringement lawsuit against Microsoft regarding Microsoft's implementation of the same Covered Specification. This type of "suspension" clause is common industry practice."

    tl;dr they can't sue you, ever, unless you sue them over patents.

    Also, Mono contains
    1) parts that are covered by the ECMA standard (C# and the CLI)
    2) original namespaces (like Mono.Simd)
    3) open-sourced Microsoft stuff (like ASP.NET, under the OSI-approved MS-PL license)
    4) parts that are in .NET but not covered by the standard (like Winforms)
    which is why Miguel de Icaza says they'll be splitting their distribution up into now definitely safe (1 and 2) and potentially dodgy (3 and 4) packages, which is what already happens on Ubuntu for instance.

  5. This makes no real difference! by bogaboga · · Score: 5, Interesting

    Here's why:

    There is no mention of other components the extend .NET!

    From the document...

    "...We introduce instructions newdata, lddata, stdata, castdata, isdata and
    switchdata to create and manipulate classunion values..." (emphasis mine).

    In fact, this announcement is not much different compared to the one 7 years ago!

    Watch out folks. Microsoft's classic Embrace, Extend, Extinguish paradigm is very possible here.

  6. Implementations in progress appear not covered by tepples · · Score: 5, Insightful

    From the Microsoft Community Promise, with my emphasis:

    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 ("Covered Implementation") [...] The CP applies only if the implementation conforms fully to required portions of the specification. Partial implementations are not covered.

    Free software is often distributed to the public while in an incomplete state. This Community Promise appears not to apply to such an implementation that is published before it is completely compliant.

  7. Re:No more FUD by Anonymous Coward · · Score: 5, Informative

    Maybe you pro-Mono FUDites should read what they are really promising. It only covers the core language and run-time, not anything useful like the libraries.

  8. Promissory estoppel ftw by QX-Mat · · Score: 5, Informative

    The lawyers amongst us are leaping for joy. I happen to be a law convert. So ill try and explain why we're happy!

    Promissory estoppel is a legal defence (a so called shield). When a party (A) intending legal relations promises not to assert their strict legal rights, and another party (B) moves to rely upon this promise, that party (A) is estopped from enforcing their rights (against B) by way way of promissory estoppel.

    It goes something like this: Now MS has promised not to enforce their C#-rights , and people rely on this promise, such as start development/deploying C# applications because of this promise, if the case came to court, MS's argument would be estopped by a defence of promissory estoppel.

    It's a little more complicated. For instance it must be inequitable for B if A reneges on their promise (fairly clear if they suffer a disadvantage or loss as 'one who comes into equity must come with clean hands'), the promise must be clear and unequivocal (I'd say yes), there must be a change in reliance on the promise (yes), and it is a shield not a cause of action (in other words, we can't sue MS for revoking the promise, we can simply aovid being sued).

    However, things get a little confusing. MS have declared that this promise is unilateral, in other words, it is a promise to the world without the need for a formal agreement. Such things are valid in the eyes of the law, and enforced by the fact promissory estoppel acts as an equitable remedy - there is no need for consideration, a key ingreediant to the traditional offer/acceptance/consideration contractual model.

    Promissory estoppel is a common law principle. It's basis in England is from Lord Denning's High Court decision in High Trees.

    Law bit:

    In High Trees, due to WW2, the claimant ("High Trees") agreed to reduce rent for a block of flats. After the war, the claimant brought action seeking the past and future rent. Lord Denning said "When a promise is made that is intended to be acted upon, and is acted upon, you are estopped from going back on it."

    In High Trees Denning referred, not to a previous case of Foakes v Beer (about the part payment of debt), but Hughes v Metropolitan Railway to establish his basis for promissory estoppel. In Hughes, it was held that the opening of negotiations for sale of a property had an implied promise not to enforce an outstanding notice of repair that would forfeit the respondents lease.

    Key to the criticism over Denning's decision is that Hughes only suspended rights, whereas High Trees may extinguish them. This position has recently been approved in the UK by the House of Lords in Tool Metal Manufacturing Co. Ltd - the promisor may revive rights by formal notice, unless it is impossible for the promisee to resume his original position.

    Is it impossible to resume the original position prior to this agreement? We're talking about computers here. The agreement has come now, not several years ago. Consider Mono as it is now, as the original position. This is such a contentious area when you consider MS can revoke the promise, creating ambiguity, and because under Coombes v Coombes promissory estoppel is not a cause of action, the Mono community cannot sue MS to enforce this promise!

    Matt