Forgot your password?
typodupeerror
Patents Microsoft Software

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

Posted by timothy
from the if-it's-a-trap-please-clarify dept.
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."
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • 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" ?

  • by gbjbaanb (229885) on Tuesday July 07, 2009 @07:18AM (#28606267)

    Its not just that its 'promised' to be added to the Community Promise, its only the ECMA 334 and 335 standards that will be added (possibly).

    According to TFA:

    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.

    however.. later on, he says about Mono:

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

    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.

    So really, even if MS adds the 2 standards to their Community Promise, that still doesn't mean you get anything useful - if you write a simple app that does nothing, you're fine. If you want DB access, or web serving, or a GUI.. you're still in the same problem as before.

  • ...and this means? (Score:4, Insightful)

    by filesiteguy (695431) <kai@perfectreign.com> on Tuesday July 07, 2009 @07:26AM (#28606335) Homepage
    Okay, first off - I'm a Linux user. I love FOSS. I'm also a realist - i put my trust in that my staff will be able to write C# apps in Wintendo that will function. I expect in the near future that portions may be converted over to mono so that we may host items on Linux servers:

    http://www.perfectreign.com/stuff/2009/20090312_secure_submitter.jpg

    http://www.perfectreign.com/stuff/2008/20080912_JEDI_Vitals_Screen.png

    http://www.perfectreign.com/stuff/2008/20081205_ie6_yoda_ii_ponte.jpg

    My question is this - does MS moving to a new license change my current licensing? How does it interact with those running SLES or Virtualized Windows 2008 under XEN?
  • From the Microsoft Community Promise [microsoft.com], 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.

  • by tolan-b (230077) on Tuesday July 07, 2009 @07:32AM (#28606391)

    As far as I understand it none of the Gnome Mono apps use those other libraries. Perhaps ADO.net, I'm not certain.

    Certainly they don't use Winforms, they use the GTK bindings.

  • Re:It's about time (Score:3, Insightful)

    by paiute (550198) on Tuesday July 07, 2009 @07:33AM (#28606405)

    My first response to this news was: "assurance"? WTF? That's like, "My dear, I assure you that I will pull out in time."

    But then I read the post about this action being promissory estoppel. And I am most definitely not a lawyer, but in the link provided, all the cases included "the court decided". So it is not some magical binding spell put on Microsoft. If it is in their best interest to suck portions of the community into their trap and then bring legal action later, they can. And probably will. And they have the money to buy lawyers who can find ways around their previous "assurance" and their promises.

  • by CritterNYC (190163) on Tuesday July 07, 2009 @07:39AM (#28606465) Homepage

    This is nothing new and nothing we didn't already know. It still says nothing about ASP.NET, Windows Forms and all the other parts of .NET that are not part of the ECMA standard. Mono implements many, many things outside the ECMA standard, so anybody but Novell who distributes or otherwise uses Mono is at risk of patent shenanigans.

  • It's not FUD. One of the goals of the Mono project is compatibility with .NET applications and that means supporting things like Windows Forms.

  • Re:It's about time (Score:3, Insightful)

    by bmo (77928) on Tuesday July 07, 2009 @07:47AM (#28606517)

    You're not allowed to encourage a behavior and then sue because someone took you at your word later.

    That is "setting us up the bomb" and what promissory estoppel is supposed to rectify.

    And I'm not a lawyer. Maybe NYCL or someone else can come here and explain further.

    --
    BMO

  • by gwking (869658) on Tuesday July 07, 2009 @07:48AM (#28606527)
    I love C# as a language, and .NET has been one of my favorite products from MS, it's great to use for development and seems to be what Java should have been. My concern with this announcement though is that I can't get The Lord of the Rings out of my head... Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone, Nine for Mortal Men doomed to die, One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. One Ring to rule them all, One ring to find them, One Ring to bring them all and in the darkness bind them In the Land of Mordor where the Shadows lie.
  • by Anonymous Coward on Tuesday July 07, 2009 @07:54AM (#28606591)

    They're letting you implement the specs, but in exchange you're not allowed to challenge their ownership of the patents or copyrights involved. I don't really know if you'd call this open source or just a benevolent gesture on their part.

  • by FTWinston (1332785) on Tuesday July 07, 2009 @08:02AM (#28606667) Homepage
    Hi, I've worked extensively with both and think that they're quite different. Can I presume that Java and C# are the only languages that you've worked with? And C# pretty minimally, at that?

    C++ programmers and Java programmers can all feel quite at home after only a short time in C#. It was designed that way. Saying that, coming to it only knowing C/C++, it didn't take much longer for me to develop an initial familiarity with Java. In fact, pretty much by definition, and for obvious reasons of programmer portability, most strongly typed, high-level programming languages are remarkably similar.

    To say that C# is identical to Java, though, is bollocks. There are some pretty significant differences, and in many cases I prefer C#'s implementation.
  • by Ed Avis (5917) <ed@membled.com> on Tuesday July 07, 2009 @08:03AM (#28606673) Homepage

    So really, even if MS adds the 2 standards to their Community Promise, that still doesn't mean you get anything useful - if you write a simple app that does nothing, you're fine. If you want DB access, or web serving, or a GUI.. you're still in the same problem as before.

    There are a few flaws with this argument. Firstly, if you want a GUI then Winforms is not the only choice. In fact, GTK# is a lot nicer, on Windows and Mac as well as on Linux, and all the free Mono apps such Banshee use GTK#, and C# bindings to other standard Linux libraries. They do not use ASP.NET, Winforms or other more Windowsy stuff.

    Secondly, the software patents that Microsoft owns and which people are worried about are the ones on the .NET runtime engine itself (part of the ECMA standards). I'm not aware that they hold enforceable swpats for more pedestrian things like database bindings (though like every large company, they have a portfolio of crappy software patents for 'mutual assured destruction' purposes).

    I think it's a good idea, though, to split the Mono distribution into the ECMA-standard part (which is now demonstrably safe from patent attacks by Microsoft, though sadly not from other software companies and patent trolls) and a more Microsoft-flavoured, free-reimplementation-of-proprietary-APIs part, which is more like Wine and other libraries used to port existing Windows apps to Linux. If you are worried that the classes for database access or Winforms GUI expose you to patent risk, don't install them - few free programs use them anyway. That should keep everyone happy.

  • by geordie_loz (624942) on Tuesday July 07, 2009 @08:05AM (#28606691) Homepage
    This doesn't make Stallman wrong all along. The issue Stallman raised is that the situation was not clear enough to have confidence that freedoms would be safe. If this announcement clears that up (as it appears to do), then the situation is *now* clear, and he can change his view based on new facts. That does not mean that he is then made wrong in his previous statements. This statement has brought the information that many in the community were asking for, it doesn't make them wrong for wanting this.
  • by mrpacmanjel (38218) on Tuesday July 07, 2009 @08:11AM (#28606771)

    I have been following Mono for a while but I am currently still using Java.

    The question is which do I commit to?

    The way I understand it is:

    Java has less "patent liability" than Mono.
    All of Java is under an open license including "essential" libraries (e.g. data access, gui).
    Only the "core" (including the framework libraries?) of .net are covered by the Communtiy Promise but not some of the supporting libraries (e.g. ado.net, winforms).

    I know that these .net libraries have been implemented in Mono but would we have to write new open-source libraries to replace thier functionality and remain "patent-threat" free?

    If this is the case then I would imagine that Java would be the preferred choice IF you had to chose one.

    What are the overheads of both the Java and Mono virtual machines running at the same time? Would we be better getting behind just one environment and using that.

    For what it's worth I really like and prefer Mono - especially Banshee (is there an equivalent for Java?) and I want to develop for it but the Community Promise only covers the ECMA part of .net. Without the other libraries I fear Mono is hamstrung.

    At least with Java I know where I stand, all the libraries are included and the functionality is already there.

  • by SpoodyGoon (1574025) on Tuesday July 07, 2009 @08:26AM (#28606931)
    Yes they really are that good. Thanks for asking.
  • by kripkenstein (913150) on Tuesday July 07, 2009 @08:27AM (#28606937) Homepage

    It sounds promising, and it may end up meaning Stallman was wrong all along

    You've got the causality exactly wrong. If it wasn't for Stallman and other FOSS people making a lot of noise about this recently, it wouldn't have happened. (Note that I'm not saying Stallman himself is to be thanked for this, it's the general noise about the topic, which he was a part of.)

    There are always two levels to statements such as those Stallman etc. made about Mono. On the first level, they are meant to be taken at face value - their arguments are either valid or not, in and of themselves. On the second level, they are intended to cause an effect of some form, such as motivating certain people to do certain things. In this case, the second level was meant to motivate Microsoft to make the first level (the direct arguments against using Mono) invalid. That appears to have worked (well, once Microsoft formally announces this, presumably soon, but all we have so far is a blog post).

  • by Ed Avis (5917) <ed@membled.com> on Tuesday July 07, 2009 @08:33AM (#28606985) Homepage

    Java has less "patent liability" than Mono.

    Are you sure? It has less noise made on Internet discussion forums about patents, that is certain. That doesn't mean the risk is less. Don't assume that only Sun holds patents relevant to Java, or that only Microsoft holds patents relevant to .NET.

    For what it's worth I really like and prefer Mono - especially Banshee (is there an equivalent for Java?) and I want to develop for it but the Community Promise only covers the ECMA part of .net. Without the other libraries I fear Mono is hamstrung.

    It depends what you want to do. I assume you are developing on Linux? In that case you will probably want to use Linux native libraries with C# bindings, not the Winforms implementation shipped by Mono.

    At least with Java I know where I stand, all the libraries are included and the functionality is already there.

    I think this is the big difference: in Java you tend to program in a 'pure Java' bubble where almost all the libraries you use are in Java. Mono/C# applications like Banshee link to a lot of native Linux libraries like GTK+ and GStreamer. Of course there is nothing to stop Java using native libraries too (see java-gnome) but so far, this hasn't caught on to the extent it has for Mono. Remember that Mono was originally created by Linux desktop programmers as an easier way to make GNOME applications, while Java's heritage is as the One True Platform for writing code that runs on any OS, and so needs a complete set of Java libraries.

  • by dzfoo (772245) on Tuesday July 07, 2009 @08:36AM (#28607035)

    I'm sorry, but wasn't part of the point of Mono (and .NET, actually) compatibility and cross-platform independence? So if I require Mono-specific libraries to use Mono, and Microsoft-owned libraries to use .NET, what is the advantage of using the framework? It is then just another environment among myriad, more mature, others.

            -dZ.

  • by nschubach (922175) on Tuesday July 07, 2009 @08:48AM (#28607225) Journal

    The fact that they worded it "Microsoft provides assurance that it will not assert its Necessary Claims" still freaks me out. It's either open, or it's your claim. It' can't be both.

  • by Mr2cents (323101) on Tuesday July 07, 2009 @08:55AM (#28607341)

    I have very strong reservations against C#, not for the language itself but because it has this name of being a "dot-net language". Everywhere C# is promoted, dot-net is mentioned in the same breath. This is a real issue because if I know anything about Microsoft, it is that they like to keep targets moving. This means dot-net will evolve so quickly that there will only be one complete implementation: Microsofts own one. Combine that with the (wrong) assumption in the heads of many developers that dot-net will always be available, and you get a great recipe for a hell called lock-in. With C++, there is no vendor with this amount of power, and that's the way I like it.

  • by nschubach (922175) on Tuesday July 07, 2009 @09:04AM (#28607479) Journal

    As I read in the antitrust documents, Microsoft feels that a "win" in the "war" is for the competition to use their standards. In several email messages and presentations given at MS, they outline this philosophy. They compare it to owning the competition by making them play the game by their rules.

    http://antitrust.slated.org/www.iowaconsumercase.org/011607/3000/PX03096.pdf [slated.org]

  • by mvdwege (243851) <mvdwege@mail.com> on Tuesday July 07, 2009 @09:08AM (#28607543) Homepage Journal

    Yes. Stallman. Have you read his comments on Java lately?

    Sheesh. The Stallman bashing gets really ridiculous at times.

    Mart

  • by mvdwege (243851) <mvdwege@mail.com> on Tuesday July 07, 2009 @09:12AM (#28607599) Homepage Journal

    So Miguel is finally admitting there is potentially dodgy code in Mono? After all the invective he threw at people concerned about patents, I think it would behoove him to apologise, now that he is doing exactly what he was being criticised for not doing before.

    Given Miguel's online temper tantrums and obvious unwillingness to concede being wrong, I hope you don't mind if I don't hold my breath.

    Mart

  • by Locutus (9039) on Tuesday July 07, 2009 @09:20AM (#28607741)

    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
     

  • by Blakey Rat (99501) on Tuesday July 07, 2009 @09:20AM (#28607745)

    Considering your entire "question" is basically slamming it, I doubt you'll care what people answer.

    But for the record, yes, it is *that* good.

    The controversy is all over political crap, not the quality of the language or runtime. If you want to write software, and don't care about political crap, there's virtually nothing out there better than C# and the CLI right now.

  • by Xtravar (725372) on Tuesday July 07, 2009 @09:28AM (#28607901) Homepage Journal

    nobody would write a new free application with Winforms starting from scratch (GTK# is a lot better).

    I think you're making a leap of faith there. Especially since Visual Studio doesn't have a GTK builder.

  • But of course... (Score:4, Insightful)

    by SpinyNorman (33776) on Tuesday July 07, 2009 @09:39AM (#28608051)

    This isn't meant to be helping Microsoft's competitors, such as Linux. Quite the opposite - it's meant to be helping Microsoft.

    Proprietary lock-in the key to Microsoft's business model, whether we're talking about Office document formats, proprietary Internet Explorer extensions and incompatabilities or C#/CLI.

    In this case it seems Microsoft accrues multiple benefits from open source developers who can't resist the free candy being offered:

    1) It helps spread adoption of Microsoft's proprietary standards

    2) It stops open source developers from pushing and developing alternative open source standards

    3) It sets anyone (Mono) reimplementing these standards up for the future rug-pull when they change and/or extend the standard in the future, which will be done according to the needs of Microsofts business model

    There's a reason the document format for Microsoft's office applications often changes from release to release, and it's not simply because new features are added. This is to force people to upgrade - which is the basis of Microsoft's business model. You can be sure that C#/CLI will be managed in the same way - don't expect Microsoft to keep these standards static now that they have "kindly" encouraged you to adopt/reimplement them. Quite the contrary, once there is significant open-source reliant upon them, then they have more incentive than ever to churn them.

  • by idontgno (624372) on Tuesday July 07, 2009 @10:15AM (#28608621) Journal

    Yeah, the implied threat is quite menacing.

    "We have this big hammer. Really big hammer, actually. Just acknowledge that it's our hammer, and that's it's a really big hammer, and that we are allowed to hit you with it at any time, and we promise not to hit you with it."

    Makes me wanna rush right out and start developing Mono applications.

  • Re:It's about time (Score:1, Insightful)

    by Anonymous Coward on Tuesday July 07, 2009 @10:27AM (#28608803)

    Probably not SCO..

    ... but maybe ex-Microsoft-CTO Nathan Myhrvold [wikipedia.org]'s Intellectual Ventures [cnet.com]

  • by mvdwege (243851) <mvdwege@mail.com> on Tuesday July 07, 2009 @10:31AM (#28608855) Homepage Journal

    Erm. No. He is saying he is now splitting potentially dangerous code from the main project. That means that there was potentially dangerous code before, something which Miguel and his fanbois were disclaiming all along.

    Of course, pointing out that he made a one-eighty is considered Flamebait these days. Sigh.

  • by Xtravar (725372) on Tuesday July 07, 2009 @10:48AM (#28609093) Homepage Journal

    Even for a Linux enthusiast, the Visual Studio/Winforms stack is much more tempting for ambitious projects. The MonoDevelop/GTK# stack has a way to go for stability and features... gets better every release, though.

    I'm a Windows developer by day and a Linux user by night, and I've got probably half and half MonoDevelop and Visual Studio projects at home. Pick the best tool for the job, they say...

  • by Requiem18th (742389) on Tuesday July 07, 2009 @11:29AM (#28609767)

    I'm not aware that they hold enforceable swpats for more pedestrian things like database bindings

    The Orwellian flavor of "swpats" is right on topic. Any other company will give you a license to use their patent, they don't. They give you a "promise not to use our necessary claims".
    As if using Mono is technically illegal but they are nice enough not to sue.
    Quite frankly
    DO NOT WANT

  • I'm confused (Score:2, Insightful)

    by ThatsNotPudding (1045640) on Tuesday July 07, 2009 @12:43PM (#28610855)
    Does this announcement fall under the Embrace phase, or the Extend phase?
  • Re:It's about time (Score:3, Insightful)

    by shutdown -p now (807394) on Tuesday July 07, 2009 @12:46PM (#28610917) Journal

    Actually, it will be:

    4. Mono forks the standard and implements their own, not patent-encumbered version.

    We are actually already there with Gtk# and stuff. Using Mono as a platform to get existing .NET apps working isn't really viable anyway (even though they keep trying). The real issue at stake is being able to use the language, and the core class library, as a foundation for a FOSS stack, together with frameworks like Gtk and GStreamer. Compatibility with "C#+N" is not a big deal there.

  • by ZachPruckowski (918562) <zachary.pruckowski@gmail.com> on Tuesday July 07, 2009 @02:24PM (#28612469)
    To be fair, it's not necessarily a concession that the code is dangerous. There's a distinction between "known safe" and "believed safe". If Miguel was arguing that all of Mono previously fell under "believed safe", then splitting into "known safe" and "believed safe" packages is not a 180. I'm not saying that I believe the rest of Mono to be safe, but Microsoft has now come out and declared some things to be "definitively safe", a change which would cause any responsible person to split the packages to reflect that, regardless of previous legal standing.
  • by nschubach (922175) on Tuesday July 07, 2009 @02:31PM (#28612593) Journal

    If you read that document and you still feel that a "win" for Microsoft isn't the worst thing that could happen to the computer industry, then I feel bad for you, your children, and society as a whole for raising you to think that it's a good thing.

    The only "win" that would be beneficial to the world would be for Microsoft to quit playing these legal games and release the patents, open the spec up for input from the community and quit trying to "own" everything. They won't do that because they still have the patents up their sleeves and by not releasing the rights in full only shows me that they intend to use it if they suddenly see their monopoly hold start to dip below recovery.

    They want to maintain control over the standard so they can always be ahead of everyone else. They keep the language under a veil of legal battles to discourage anyone from doing anything constructive with it. If the Linux/Mac desktop becomes dependent on .NET, you can kiss them goodbye. Why would anyone want to use the substandard protocols legally available to those systems if they can get first party cutting edge tech on Windows? That's what they want, and that's why I won't install Mono on my Linux machine until all patents are off or nullified by the courts. This is the same for Office document standards, the same for SQL standards, the same for Web standards...

    That's why a "win" for Microsoft is a bad thing in this case. A majority market holder should not also be the standards designator. It's asking for antitrust violations out the wazoo. It doesn't matter what the credentials of the language are. It's solely on the credentials of the organizer.

  • by TrekkieGod (627867) on Tuesday July 07, 2009 @07:00PM (#28615971) Homepage Journal

    Yeah, the implied threat is quite menacing.

    "We have this big hammer. Really big hammer, actually. Just acknowledge that it's our hammer, and that's it's a really big hammer, and that we are allowed to hit you with it at any time, and we promise not to hit you with it."

    Makes me wanna rush right out and start developing Mono applications.

    As a huge fan of the GPL, I gotta say that's no different than the GPL. "We have the copyright to the software, and we allow you to copy, modify, and distribute the code, but if you ever violate our conditions, we still own the copyright and reserve the right to sue you for breaching." That's perfectly reasonable. So is microsoft's statement. They're basically saying, "you can reimplement this stuff without worrying about our patents, as long as you don't challenge our patents or don't sue us for violating yours. If you do, the claws are coming out." That's pretty defensive.

    Honestly, a "promise not to sue" is legally binding. If they sued you without you violating the terms you literally could show that to the court and they would tell MS to fuck themselves. They have given you an expectation that you won't be sued, so the doctrine of Estoppel [wikipedia.org] applies.

There is no opinion so absurd that some philosopher will not express it. -- Marcus Tullius Cicero, "Ad familiares"

Working...