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

465 comments

  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 ThisIsAnonymous · · Score: 2, Interesting

      Every blog/news article that I've found about this story links to: http://www.microsoft.com/interop/cp/default.mspx
      And I can't find anything on that page that mentions C#. Perhaps I'm reading it wrong...

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

      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.

    3. Re:No Really Definite Confirmation of This Yet by Presto+Vivace · · Score: 1

      even so, it looks like a positive sign, that the open source business model is gaining ground.

    4. Re:No Really Definite Confirmation of This Yet by the+linux+geek · · Score: 4, Informative

      Sorry, but you're spreading FUD. You can write a GUI in Mono without Windows Forms, and its generally even a good idea anyway since WinForms on anything but Windows looks and works horrible. On Linux its generally done with GTK#.

    5. Re:No Really Definite Confirmation of This Yet by Vahokif · · Score: 1

      It's not "loosely affiliated", Port25 is a Microsoft site and the guy who announced it works for them.

    6. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      As it always is with convicted antitrust abuser Microsoft, the devil is in the details. Be sure to spread the particulars of those details far and wide!

      Focus on the exceptions to their Community Promise, as those will almost certainly be where the useful features are. They're not about to give away their goods at this point, people. Dream on.

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

    8. Re:No Really Definite Confirmation of This Yet by tolan-b · · Score: 2, Insightful

      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.

    9. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      which means nothing if it's not an official communicate

    10. Re:No Really Definite Confirmation of This Yet by Vahokif · · Score: 2, Informative
    11. Re:No Really Definite Confirmation of This Yet by Coryoth · · Score: 1

      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.

      I believe it means that if you want DB access, or web serving, or a GUI, you will have to use other libraries that Mono offers, such as GTK# for the GUI instead of WinForms etc. You don't have to use the windows libraries -- it's just convenient to have them available for Mono for cross-platform purposes.

    12. Re:No Really Definite Confirmation of This Yet by Antique+Geekmeister · · Score: 1

      So it's still powerfully patent and copyright encumbered: if this blog turns out to be correct, Microsoft will have merely freed up one hand of the prisoner so they can scratch their nose, but not do anything really useful like unlock the other chains.

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

      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.

    14. Re:No Really Definite Confirmation of This Yet by ByOhTek · · Score: 4, Informative

      If you install libgdi+, Winforms works just find on FreeBSD.

      As for looks that's a matter of taste, I never minded how Windows looks, but Gnome never really suited me. With libgdi+, winforms tend to look a lot like plain old Windows.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    15. Re:No Really Definite Confirmation of This Yet by sfraggle · · Score: 1

      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.

      Not true. The main controversy recently (which presumably was what prompted this "promise") was after RMS warned people against using Mono to develop Gnome applications under Linux. This uses C# as a convenient high level language for Gnome development, with none of the Windows-only library like ADO.NET or Winforms. Assuming that Microsoft keep to their patent promise, this is a big win in that respect.

      --
      were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
    16. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 1, Interesting

      The latest ECMA spec covers C# version 2, the version from Visual Studio 2005. The new features in C# version 3 (in Visual Studio 2008) are not described in any independent standard.

      If you program to the latest version of the language (which is the default in Mono) you are not covered by this announcement.

    17. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      *sniff* *sniff*

      Do I smell FUDge? I'm hungry.

    18. Re:No Really Definite Confirmation of This Yet by Ed+Avis · · Score: 3, Informative

      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.

      According to a comment by Miguel on his blog,

      Brian Goldfarb at Microsoft has said that the update will be coming, it was just not done on time for the Peter Galli's announcement.

      --
      -- Ed Avis ed@membled.com
    19. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      Right, but the linux geek's parent said writing a GUI requires Microsoft properietary crap. It doesn't. Thus, FUD.

    20. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 4, Insightful

      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.

    21. Re:No Really Definite Confirmation of This Yet by Ed+Avis · · Score: 2, Insightful

      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.

      --
      -- Ed Avis ed@membled.com
    22. Re:No Really Definite Confirmation of This Yet by Ed+Avis · · Score: 3, Informative

      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.

      You're right, but the most common criticism of Mono before this announcement was that free software distributed with Linux carried a patent risk. The Winforms stuff is still a goal of the Mono project, but there is no reason for Linux distributions to install it. The non-ECMA parts of Mono are still very useful for companies migrating existing Windows legacy apps to Linux, but nobody would write a new free application with Winforms starting from scratch (GTK# is a lot better).

      So the Windows.Forms and other Microsoft APIs move to a separate 'Mono-non-ECMA' package, which can be treated a bit like Wine: you wouldn't really want to install it by default or develop against it, but it can be invaluable if you have existing Windows software you want to run.

      --
      -- Ed Avis ed@membled.com
    23. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      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.

      Well, there's always NHibernate and iBatis for .NET, as well as a couple of .NET-only solutions (which I'm not very familiar with).

    24. Re:No Really Definite Confirmation of This Yet by Ed+Avis · · Score: 2, Interesting

      If you program to the latest version of the language (which is the default in Mono) you are not covered by this announcement.

      Only if there are enforceable patents held by Microsoft which are specific to C# (the language) version 3. You see, C# 3 compiles to the same bytecode as C# 2, and runs on the same virtual machine. The MS patents that people worry about are on implementation techniques for the virtual machine. You use the same ECMA-specified virtual machine to run bytecode compiled from C# 2 and C# 3, so it's covered.

      If there are (enforceable) software patents covering the language itself, specifically the new features in C# 3, then you have a point.

      --
      -- Ed Avis ed@membled.com
    25. Re:No Really Definite Confirmation of This Yet by samkass · · Score: 2, Interesting

      That was my immediate reaction. Microsoft like to play "the version game"... remember when they traded a license to the Mac GUI in exchange for a specific version of Office, then immediately revved the version? (No, probably not-- that happened in the 80's and 90's.)

      So now that they've come out with a new version, they're freeing up the previous version. While that's a nice step, it doesn't exactly make Mono free and clear, nor does it allow Mono to create a runtime that will run any .NET app on any platform other than Windows. The old argument that C# locks you in to Windows is still largely true.

      --
      E pluribus unum
    26. Re:No Really Definite Confirmation of This Yet by dzfoo · · Score: 3, Insightful

      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.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
    27. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      On Linux its generally done with GTK#.

      But it should be doen with Qt.

    28. Re:No Really Definite Confirmation of This Yet by dzfoo · · Score: 3, Informative

      Almost. I present to you, the Mono Project FAQ:

      The Mono Project is an open development initiative sponsored by Novell to develop an open source, UNIX version of the Microsoft .NET development platform. Its objective is to enable UNIX developers to build and deploy cross-platform .NET Applications. The project implements various technologies developed by Microsoft that have now been submitted to the ECMA for standardization.

      (my emphasis)

      That was the main concern of RMS: that the attraction to the project was the promise of cross-platform .NET development, but that such development is ultimately encumbered by patented technologies.

              -dZ.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
    29. Re:No Really Definite Confirmation of This Yet by nschubach · · Score: 4, Insightful

      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.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    30. Re:No Really Definite Confirmation of This Yet by Xabraxas · · Score: 1

      Actually it does mean something. As a representative of Microsoft making a promissory statement has legal implications.

      --
      Time makes more converts than reason
    31. Re:No Really Definite Confirmation of This Yet by Mr2cents · · Score: 4, Insightful

      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.

      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
    32. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      Mr. Balmer, the FUDge is in the top drawer of your desk, remember?

    33. 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
    34. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      Presumably the C# language itself could now be forked, as long as it wasn't marketed under "C#" or any other Microsoft trade name. If the concern you mention is compelling enough, someone will likely do just that, just to keep from losing control over what is in reality a pretty nice language.

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

      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.

      --
      Buckle your ROFL belt, we're in for some LOLs.
    36. Re:No Really Definite Confirmation of This Yet by Bill,+Shooter+of+Bul · · Score: 1

      But you can do that, without using any Winforms or ADO.NET. GTK# works just fine on windows.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    37. Re:No Really Definite Confirmation of This Yet by Ed+Avis · · Score: 1

      Hmm, you are right since SharpDevelop is a free app using Winforms, and so is Paint.NET. I was thinking of free Linux apps (that might also be ported to Windows one day) rather than free Windows apps (that might be ported to Linux). I meant to say that nobody would write *Linux* free applications using Winforms.

      --
      -- Ed Avis ed@membled.com
    38. Re:No Really Definite Confirmation of This Yet by Ed+Avis · · Score: 1

      Nowadays there's a case to be argued that Mono is 'the' C# and CLR implementation which runs everywhere (Linux, Playstation 3, iPhone, Windows, etc) and can be easily adapted to your needs, while Microsoft's implementation is a reasonable alternative for people who are stuck on Windows. Kind of like how gcc is the standard C and C++ compiler, even though most Windows native programs are still built with proprietary compilers. This is overstating the case a bit - Mono isn't there yet, and new developments in the C# language still come out of Redmond - but Mono is certainly a strong enough competitor to stop C# being synonymous with Microsoft's implementation.

      --
      -- Ed Avis ed@membled.com
    39. Re:No Really Definite Confirmation of This Yet by xoluxo · · Score: 0, Flamebait

      Listen son, come here and sit by me, and I will explain this to you.

      As you grow up, it is normal that you will have some questions, for example "what is that hair doing in my face" or "but wasn't part of the point of Mono to be cross-platform?"

      Although this might seem odd to you, there are no problems in these goals.

      What you have is:
      (a) A foundation, ECMA that can be used to build application from the tiniest embedded device to the largest data center.
      (b) A set of APIs that are not covered by ECMA to access databases, build web servers, make your servers communicate and build GUI applications that look like Windows.
      (c) A portable set of APIs created by the mono group that is cross platform and was built from scratch, this includes GUI APIs, database APIs and many more.

      In fact, you can get a good list from Mono's www.mono-project.com/Libraries

      Today the desktop applications that were the source of the controversy are built with (a) and (c), that is Tomboy and the rest of the gang.

      Some people might be interested instead in (a) + (b) or (a) + (b) + (c) but the patent license that was issued today does not cover it.

      There are a few options for the (b) loving person (now with roman numerals):
      (i) They can ignore the patent issue, probably on the grounds that it does not really matter anyways.
      (ii) They could ask Microsoft for a license, but this seems like a lot of work and it is hard to tell where to start.
      (iii) They could purchase Novell's SUSE Linux which already licenses the patents/technologies.

    40. Re:No Really Definite Confirmation of This Yet by Ed+Avis · · Score: 1

      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?

      Mono runs on Windows and Mac OS X too, so even if you are using something totally Mono-specific, you still have a cross-platform application. (Banshee and Tomboy have been ported to Windows without too much bother.) If you're talking of a pure C# library (for example, Mono.Addins) rather than a native binding, then it can easily be used with either runtime. Finally, you can use Winforms, ASP.NET and ADO.NET with Mono, which provides its own free implementation; you won't be covered by the patent promise in today's announcement, but you may not think that matters.

      --
      -- Ed Avis ed@membled.com
    41. Re:No Really Definite Confirmation of This Yet by xoluxo · · Score: 0

      The goals merely have been upgraded, from its humble beginnings to the juggernaut that it is today.

      This is a 2001 interview that was very limited in scope back then:

      http://msdn.microsoft.com/en-us/library/ms973826.aspx

    42. Re:No Really Definite Confirmation of This Yet by idontgno · · Score: 3, Insightful

      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.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    43. Re:No Really Definite Confirmation of This Yet by oldhack · · Score: 1

      The non-ECMA parts of Mono are still very useful for companies migrating existing Windows legacy apps to Linux ...

      Do people really do this? If I'm migrating .net apps to Linux, I would target Java or other known Linux platform, rather than Mono with unknown status in terms of .net framework compatibility. Sorting out the discrepancy would be worse headache than refactoring the code for a new platform, unless your tactic is throw-it-out-there-and-see-what-happens.

      This notion that Mono provides .net migration path to Linux is not even half-cooked.

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    44. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      (iii) They could purchase Novell's SUSE Linux which already licenses the patents/technologies.

      <reallysmallprint>license valid until 2011 or so</reallysmallprint>

    45. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 1, Interesting

      That was of interest to some people, but to many of us we only cared about having a better development platform to Linux software. It turns out that GTK+ bindings for Mono are fucking beautiful, because GObject maps very nicely to Mono's object model (unlike, say, C++ which has multiple inheritance or Haskell which doesn't really work in this type of model). But you've had FUD machines like RMS and these guys from "Boycott Novell" telling us what languages we should be allowed (or not allowed) to write in, and to get acceptance you'd have to write in something more tedious like C. So instead of writing great code quickly, you've been stuck in this ridiculous political situation because people who don't even write the code are freaking out about code written in C# (and even in some cases going so far as to try to get open source hackers fired from their jobs for using C#).

    46. Re:No Really Definite Confirmation of This Yet by recoiledsnake · · Score: 1

      According to information posted elsewhere, that page hasn't been updated yet and will be updated soon.

      --
      This space for rent.
    47. Re:No Really Definite Confirmation of This Yet by Xtravar · · Score: 2, Insightful

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

      --
      Buckle your ROFL belt, we're in for some LOLs.
    48. Re:No Really Definite Confirmation of This Yet by UncleTogie · · Score: 1

      ...which still leaves the question of "just what IS that hair doing in my face?" unanswered. -sigh-

      --
      Don't tell me to get a life. I'm a gamer; I have LOTS of lives!
    49. Re:No Really Definite Confirmation of This Yet by Chester+K · · Score: 1

      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.

      Unless you're saying that you need Microsoft technology to provide useful software in the general sense, there's no reason to say that not being able to use ADO.NET makes C# any less useful of a language or Mono any less useful of a platform than the fact you can't use ADO.NET with C++ in GCC. Or with CPython. Or with Perl.

      The CLI outlines a pretty thorough P/Invoke system which Mono supports, so you can use any DB library or GUI library you want with Mono. You're in no worse of a situation than you are with any other language.

      --

      NO CARRIER
    50. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      Are the commenters to this item living in a fantasy world where they make so much money from a Mono application that they imagine it is worth Microsoft's effort to go after them? I for one would love to have so much money that Microsoft sues me. And the ultimate sign of success is having the Justice department investigate me just like Google.

    51. Re:No Really Definite Confirmation of This Yet by recoiledsnake · · Score: 4, Informative

      Writing GUI-based GTK# applications does not require any libraries not covered by this promise. There are FOSS database access libraries available for Mono that interface with MySQL etc. without needing ADO.NET. In fact, none of the high profile C# complex(!) applications for Linux like FSpot, Banshee or Tomboy require any libraries not covered. And Mono is separating the source code into two parts in a future release so that you can run the libraries in doubt at your own discretion and risk. You're the one who's missing it, not everyone else. Here is a figure for clear delineation. http://primates.ximian.com/~miguel/tmp/two-stacks.png

      --
      This space for rent.
    52. Re:No Really Definite Confirmation of This Yet by Directrix1 · · Score: 1

      Refarctoring the code for a new platform? Uhh, if you are changing languages, you are throwing away your entire codebase. There is no refactoring.

      --
      Occam's razor is the blind faith in the natural selection of least resistance and in universal oversimplification. -- EF
    53. Re:No Really Definite Confirmation of This Yet by Dragonslicer · · Score: 1

      Refarctoring the code for a new platform? Uhh, if you are changing languages, you are throwing away your entire codebase. There is no refactoring.

      In the specific case of translating from C# to Java, though, you might end up being surprised at how much of it can be copy/pasted, possibly with a few simple find/replace operations.

    54. Re:No Really Definite Confirmation of This Yet by dzfoo · · Score: 1

      You don't get it. ".NET" is much more than just C# and CLI, it is the platform comprised of Winforms, ADO.NET, ASP.NET, and other frameworks. Using those does not allow for patent-hassle-free, cross-platform development as Mono purports to offer.

      Then the focus of Mono should be specified as "an open source implementation of C# and CLI", not .NET. However, this is not reflected, as far as I can tell, in the main and FAQ pages of the project, which still claim prominently "Open Source" next to ".NET Compatibility". As it stands, the message from the project seems to be schizophrenic: On the one hand it wants to announce itself as a cross-platform implementation of .NET and attract developers to this point, and on the other hand it wants to make itself known as an Open Source project, which is safe from patent issues.

      Both signals are not compatible, since the ancillary libraries and frameworks of the .NET platform are proprietary from Microsoft and not part of the Community Promise license. The fact that Miguel de Icaza is now talking about physically separating both the core and the rest is telling of the situation heretofore:

      http://tirania.org/blog/archive/2009/Jul-06.html

      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.

                -dZ.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
    55. Re:No Really Definite Confirmation of This Yet by Tom9729 · · Score: 1

      You're deliberately missing the point with a straw man argument.

      Regardless of what external libraries are available, the Mono Project advertises support for WinForms, ADO.NET, etc, also claiming that it is a cross platform, open source .NET development framework, so you and I should as developers should be free to make use of them.

      All the OP said was that right now if you want to play it safe with patents you pretty much have to avoid using most of the features that probably drew you to Mono/.NET in the first place.

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

      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

      --
      But... the future refused to change.
    57. Re:No Really Definite Confirmation of This Yet by jipn4 · · Score: 1

      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.

      So? Do you stop programming in C or C++ because Wine offers Windows compatibility?

      The existence of .NET-compatibility libraries in Mono affect the average Linux programmer no more than the existence of Wine libraries affects C or C++ programmers.

    58. Re:No Really Definite Confirmation of This Yet by shutdown+-p+now · · Score: 1

      GP was talking about free (by which I think he meant FOSS) applications. Which would probably be written in Mono/Gtk# in the first place in order to be cross-platform.

      Oh, and MonoDevelop does have a Gtk# visual designer.

    59. Re:No Really Definite Confirmation of This Yet by shutdown+-p+now · · Score: 1

      It has been updated now:

      Language Specifications

      C# Language Specification - Ecma-334, 4th Edition and ISO/IEC 23270:2006

      Common Language Infrastructure (CLI) - Ecma-335, 4th Edition and ISO/IEC 23271:2006

      A word of warning, though: the most recent ECMA and ISO specs cover C# 2.0 and CLR 2.0, respectively. 3.5 is not standardized yet (they follow a model where new versions are released first, and standardized afterwards).

    60. Re:No Really Definite Confirmation of This Yet by shutdown+-p+now · · Score: 1

      I'm sorry, but wasn't part of the point of Mono (and .NET, actually) compatibility and cross-platform independence?

      For .NET - most definitely no. It was about language and architecture (x86/amd64/ia64/...) independence.

      For Mono, it was definitely part of the point, but if you don't care about it, you can just ignore it, and treat it as yet another language targetting FOSS frameworks (such as Gtk). As such, it is much more viable, somewhat better than Java when it comes to desktop development.

      Mono WinForms implementation sucks anyway, in my experience (I once prototyped development of a production WinForms app that would be cross-platform using Mono... issues appeared very early on).

    61. Re:No Really Definite Confirmation of This Yet by shutdown+-p+now · · Score: 2, Informative

      If you look closely at the announcement, you'll see that there are two separate promises, one for CLI spec, one for the language spec.

    62. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      Speaking purely as a .NET developer on the "M$" side of things, I can assure you that WinForms blows, and given the chance, I would pull the plug on it ASAP.

      That is all. Have a nice day.

    63. Re:No Really Definite Confirmation of This Yet by speedtux · · Score: 1

      I'm sorry, but wasn't part of the point of Mono (and .NET, actually) compatibility and cross-platform independence?

      That was the point of Java. Most people use Mono simply because it's a good platform for Linux desktop development. And Mono is so good at it because it is NOT cross-platform.

    64. Re:No Really Definite Confirmation of This Yet by Bert64 · · Score: 1

      The mono libs (c) won't be installed by default on windows systems, or supported out of the box by the microsoft development tools, so noone will use them... Most developers who write applications using .net/c# will target them at windows and then possibly consider other platforms as an afterthought, and most such apps won't even run using mono...

      As a cross platform system, mono and .net suck pretty badly, not like java where many apps written by people who never anticipated them being used on anything but windows, but which run perfectly well on linux/mac/solaris.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    65. Re:No Really Definite Confirmation of This Yet by Bert64 · · Score: 1

      For .NET - most definitely no. It was about language and architecture (x86/amd64/ia64/...) independence.

      Yes, it was designed to ease the transition to 64bit machines while maintaining as much lockin to windows as possible... Going along with it just diverts resources away from java, which actually is designed to be cross platform, is fully open and is far more mature.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    66. Re:No Really Definite Confirmation of This Yet by pizzach · · Score: 1

      Thoughts on PyGtk? I know people seem to like ignoring it. It has most of the positives of developing with C#. In the end you are either passing your code through a java interpretor or a python interpretor anyway. Plus PyGtk looks more crossplatform in a real way than C#.

      From their site: http://www.pygtk.org/

      PyGTK lets you to easily create programs with a graphical user interface using the Python programming language. The underlying GTK+ library provides all kind of visual elements and utilities for it and, if needed, you can develop full featured applications for the GNOME Desktop.

      PyGTK applications are truly multiplatform and they're able to run, unmodified, on Linux, Windows, MacOS X and other platforms.

      Other distinctive features of PyGTK are, besides its ease of use and rapid prototyping, its first class accesibility support or the capability to deal with complex multilingual or bidirectional text for fully localized applications.

      --
      Once you start despising the jerks, you become one.
    67. Re:No Really Definite Confirmation of This Yet by harlows_monkeys · · Score: 1

      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

      No, you get plenty useful. In particular, you get the parts of Mono that are used to write Linux applications. When people write Linux applications in Mono, for instance, they don't use Winforms to do their GUI. They use GTK#. To access databases, they don't use ADO.NET. They use the Mysql or PostgreSQL .NET connectors. And so on.

      Only people who are using Mono to try to write code that will run unchanged on Windows might have something to worry about--but they don't need Mono in the first place.

    68. Re:No Really Definite Confirmation of This Yet by stuntpope · · Score: 1

      but Mono is certainly a strong enough competitor to stop C# being synonymous with Microsoft's implementation.

      I don't see this as realistic from a management point of view. To them, the entire selling point of C# is .Net, and .Net's entire selling point is that it's from Microsoft.

      I know of teams with existing Java applications whose management sends them to .Net classes because they are considering switching (rewriting) to .Net. For performance? Stability? Productivity? Technical reasons? No! Because it (.Net) is, ipso facto, .Net, the new and shiny thing from Microsoft!

      Other than programmers scratching their personal itch developing in C# on non-Windows, how likely do you think it is that an employer of any size will opt to use Mono or any other non-MS C# for putting product out the door or implementing in-house systems?

      In all my encounters with others using C# and .Net, they are Microsoft all the way, down to the stereotype of being unaware that non-Microsoft solutions for anything IT (databases, programming languages, IDEs, etc) even exist.

    69. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      The advantage is that it's a RAD platform, and it eliminates a lot of the distrubution problems (package formats, base libraries on different distributions, etc) since all you need is the CIL, which is both platform and architecture agnostic, all it needs to run is the CLI, which (assuming Mono behaves like .NET) is compiled into machine code upon install/first run.

      It also largely elimates the need of dependency tracking (and effectively ignores the differences between distribution A and B's core libraries, since Mono is the only dependency, ExampleMonoApp's CIL can be deployed non only on any x86 distribution unmodified, it can as well, run on any architecture, providing the Mono VM is present, without modification.

      That's the advantage of using the framework.

      Being able to run Mono applications on Windows, or some .NET applications on Mono is just icing on the cake.

    70. Re:No Really Definite Confirmation of This Yet by Hurricane78 · · Score: 1

      Reminds me of this:http://www.youtube.com/watch?v=dO2i9aX2Xzs
      And I would answer just as Leonidas did. XD

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    71. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      Mr. Stallman, I thought I smelled wookie in my office! When you found the FUD in my desk you took it all didn't you? You are good enough at making your own, why do you take mine?

    72. Re:No Really Definite Confirmation of This Yet by Bill,+Shooter+of+Bul · · Score: 1

      I'm lost. What are we actually saying that is not compatible? Just calling an app that uses GTK# instead of winforms, can't be called .NET? Is that it? Ok, that's fine. .Net has historically meant everything under the kitchen sink to microsoft, but if you want to redefine it to be something more specific, go ahead I won't stop you and it doesn't really matter to me. I think we agree. Conversation over.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    73. Re:No Really Definite Confirmation of This Yet by hairyfeet · · Score: 1

      I think the real problem with this, and this is coming from a guy that builds and services MSFT products, is that they released free the ECMA parts and ONLY the ECMA parts. Which means of course it is still quite useless without the patent infringing parts you need to make it interoperable, like ASP.NET, ADO.NET, and Winforms. So if you want to actually build a program that will work in .NET in both Windows and Linux you will still have to risk patent trolling at a later date by MSFT. After the FAT bullshit I really wouldn't trust them not to bone .NET Linux users later if a PHB decided it would be a good market strategy.

      Anyway according to OSNews De Icaza will be splitting Mono in half, into the ECMA standard parts and the other stuff like ASP.NET and everything else that will still be at risk. So unless all you want is the ECMA framework that won't actually run anything cross platform I really don't see any reason to get excited as there really isn't a way to use the ECMA parts without using the "dirty parts" and risking the gotcha. And considering that MSFT was very careful to make sure it covered ONLY the ECMA parts I would still consider it a gotcha.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    74. Re:No Really Definite Confirmation of This Yet by SplashMyBandit · · Score: 1

      Java was not Free at that time but it has always included a license for compatible implementations over the whole stack (see the JDK license). Not so with C#.NET.

    75. Re:No Really Definite Confirmation of This Yet by Directrix1 · · Score: 1

      Maybe generic chunks of code that deal with simple OO patterns that recognized across languages (like Vectors, Stacks, etc.). But even those you will have to tweek them all over the place. I'm not pro-.net, I just don't think its really that easily translatable.

      --
      Occam's razor is the blind faith in the natural selection of least resistance and in universal oversimplification. -- EF
    76. Re:No Really Definite Confirmation of This Yet by Elektroschock · · Score: 1

      It is a great sign anyway of Microsoft, and they really should be asked to add asp.net, ado.net and winforms as well. Then we might find out that the .Net platform is just great.

    77. Re:No Really Definite Confirmation of This Yet by Elektroschock · · Score: 1

      But there is the potential for Microsoft to become cross-platform with .Net. All we need is better patent offerings from Microsoft and a few coins on the missing Mono stuff and then we can say, Java, goodbye. Mono represents the potential to make .Net cross-platform.

    78. Re:No Really Definite Confirmation of This Yet by Elektroschock · · Score: 1

      I think Microsoft should resolve the rest as well, so that we can safely embrace Mono and .Net. C# and dotnet are great but it is not really useful with patents.

    79. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      According to MS's web site, The Promise includes"

      "Covered Specifications (the Promise as set forth above applies individually to each of the following specifications)

      This promise applies to the identified version of the following specifications. New versions of previously covered specifications will be separately considered for addition to the list and are covered only if specifically listed. In connection with the specifications listed below, this Promise also applies to the required elements of optional portions of such specifications.

      General

      HealthVault Service Specification

      Language Specifications

      C# Language Specification - Ecma-334, 4th Edition and ISO/IEC 23270:2006

      Common Language Infrastructure (CLI) - Ecma-335, 4th Edition and ISO/IEC 23271:2006

      User Interface

      UI Automation v1.0
      Top of pageTop of page
      Covered Specifications with Special Terms (the special terms as set forth on the individual download page for each listed specification apply)

      For the applicable terms, please see the official Microsoft download page for the listed specifications.

      Document Specifications

      XPS Specification v1.0

      Language Specifications

      VBA Language Specification "

    80. Re:No Really Definite Confirmation of This Yet by wootest · · Score: 1

      "diverts resources away from java, which actually is designed to be cross platform, is fully open and is far more mature"

      You don't specify what you mean by "mature", but Java (the language) isn't necessarily mature. It's been around for longer than .NET, yes. It's also so heavily rooted in backwards compatibility that it has trouble making progress.

      Java isn't designed to be cross platform. Java is designed to *be* a platform, and to run *on* many platforms. Java only ever gives you Java; sometimes, it has native-like lipstick on it under the pretense of integration as "look and feel". Sometimes this matters and sometimes it doesn't.

      I'll willingly admit that I code .NET in my day job, and that I like C#. (Now is a good time to adjust your stereotype from "java hater" to "paid off by Microsoft" so that you may ignore my criticism for a different reason. ;) I'll hold. Done? Great.) I tried Java first (back before .NET) and I've gone back to reinvestigate several times. I've run screaming from it every single time. .NET may not be perfect, at least for the kinds of applications I build, but Java has proven worse.

      I won't argue with you about "fully open", and I wish as much as anyone that Microsoft would just open everything up for reimplementation - it's going to happen anyway and there's nothing they'll earn from stopping it. They'd have everything to earn from just open sourcing the entire thing, I'd say; it's not like anyone pays for the .NET framework, base class library and language lineup itself. I would ask you, though, which of Windows 7 and Ubuntu Karmic Koala will ship with more C# applications.

    81. Re:No Really Definite Confirmation of This Yet by oldhack · · Score: 1

      Same deal between .net and Mono, is the point. Anything dealing with system services will throw you a snag.

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    82. Re:No Really Definite Confirmation of This Yet by sumdumass · · Score: 1

      It can be both. I think the gist is that they want to be able to retain the ability to not have be sued for someone elses implementation of the tech. They essentially are saying that they are retaining ownership so someone else doesn't claim it and use it against them.

      This is important because the community promise applies to patents as well as copyright. Someone could attempt to backdoor a patent in covering the tech and lock MS (and everyone else) out. While MS keeps the Claims and lets the tech lose, they have the ability to thwart efforts like that.

      Keep in mind that this is MS we are talking about. They are a target for several reasons. Most notably might be their size and volume creating a shit ton of royalties if someone could sneak a patent in on them. Another reason is MS's previous and probably current business practices in which they have screwed a lot of people over. Revenge is a pretty good motivator.

    83. Re:No Really Definite Confirmation of This Yet by Mr2001 · · Score: 1

      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.

      Er... developers choose which version they want to target. Not Microsoft.

      No one's forcing you to target a newer version of the framework, and if you're writing a cross-platform app, you'd be wise not to migrate to newer versions until they're standardized and fully supported in Mono anyway.

      I work on a commercial application that targets .NET 2.0, and I've felt no pressure to upgrade it: I believe that with VS 2008 you can even upgrade your IDE while still targeting the old framework, although I'm still using VS 2005 for this project.

      (Oddly enough, I'm also working on a free application that targets .NET 3.5, and it works just fine under Mono.)

      With C++, there is no vendor with this amount of power, and that's the way I like it.

      You're mistaken about the "amount of power" Microsoft has here: the situations of C++ and C# are more analogous than you think.

      If you write a C++ app that uses a proprietary library, you're subject to the vendor's terms. Likewise, if you write a C# app that uses proprietary libraries like ADO.NET, you're subject to Microsoft's terms. Solution: use an open source data/GUI/whatever layer instead.

      If you're unable to resist shiny, nonstandard features that a certain vendor makes available (say, a C++ language extension), that vendor has power over you. Likewise, if you're unable to resist features of Microsoft's C# 4.0 before they're standardized and implemented by other vendors, Microsoft has power over you. Solution: stick to features that have been standardized and implemented by Mono.

      --
      Visual IRC: Fast. Powerful. Free.
    84. Re:No Really Definite Confirmation of This Yet by Plug · · Score: 1

      I know lots of utilities for Ubuntu are written in PyGTK.

      In the end, I think it comes down to what language, and class libraries, you are personally familiar with.

    85. Re:No Really Definite Confirmation of This Yet by Mr2001 · · Score: 1

      To them, the entire selling point of C# is .Net, and .Net's entire selling point is that it's from Microsoft.

      I'm sure some people do think this way, but in reality both C# and .NET have other selling points.

      Other than programmers scratching their personal itch developing in C# on non-Windows, how likely do you think it is that an employer of any size will opt to use Mono or any other non-MS C# for putting product out the door or implementing in-house systems?

      A company I'm currently contracting for is doing exactly that: putting a product out the door with fancy versions for Silverlight (Windows and OS X) and eventually Moonlight (Linux) along with console and simple GUI versions that run in Mono.

      In all my encounters with others using C# and .Net, they are Microsoft all the way, down to the stereotype of being unaware that non-Microsoft solutions for anything IT (databases, programming languages, IDEs, etc) even exist.

      Well, let me expand your horizons. I was recompiling Linux kernels at age 13. I've developed on Linux, OS X, and Windows, in C/C++, C#, Perl, Java, Delphi, VB, and more. I've administered both Windows and Linux servers, and there was a long time when Linux was my primary OS at home; I also own a Mac. I tried SQL Server but was quickly scared back to MySQL and SQLite. And as for IDEs, I've tried others, but so far I haven't seen anything that I believe stacks up to Visual Studio (don't say Eclipse), although of course on Unix I just use joe and make.

      I started using C# because it was essentially a successor to Delphi (the language was designed by the same guy, Windows Forms is analogous to Delphi's VCL, and Delphi had just added a .NET compiler), and I wanted to keep my skills up to date with a language people would be using: I figured C# would gain momentum no matter what simply because Microsoft was pushing it, and that seems to be the case, but it's also been a joy to work with. I was also enticed by the prospect of writing once and running on any OS (having previously tried Kylix, the Linux version of Delphi), and although it took longer than I expected to get here, I'm fairly satisfied with the state of cross-platform .NET development.

      --
      Visual IRC: Fast. Powerful. Free.
    86. Re:No Really Definite Confirmation of This Yet by TrekkieGod · · Score: 4, Insightful

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

      --

      Warning: Opinions known to be heavily biased.

    87. Re:No Really Definite Confirmation of This Yet by vakuona · · Score: 1

      You obviously haven't seen the GPL which states something similar. That you can't assert any copyright or patent claims against software which you are distributing.

    88. Re:No Really Definite Confirmation of This Yet by msaavedra · · Score: 1

      I think pygtk is great. In fact, as I write this I'm taking a break from the cross-platform application I maintain as one of my job duties.

      However, some people don't like python as much as you and I. For instance, they may prefer not to use a dynamically-typed language or need something with better performance. Also, I don't see why pygtk would be any more cross-platform than C# using the gtk bindings. At least in theory, both should work on many platforms, and look identical (since they would both use gtk widgets).

      I've been deeply skeptical of Mono since it's inception, because of the patent issues hanging over it, so I see the latest happenings here as a positive thing. I'm not likely to abandon python any time soon, but more choice is a good thing for those of us who like using Free software but still need things to run under Windows.

      --
      "Any fool can make a rule, and any fool will mind it."
      --Henry David Thoreau
    89. Re:No Really Definite Confirmation of This Yet by FishWithAHammer · · Score: 1

      Psst. What the hell do you think ECMA 334 and 335 are?

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    90. Re:No Really Definite Confirmation of This Yet by FishWithAHammer · · Score: 1

      This "promise" is legally binding in this case, and is sufficient to throw out any lawsuit under these grounds.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    91. Re:No Really Definite Confirmation of This Yet by FishWithAHammer · · Score: 1

      The compatibility stuff (Winforms, etc.) are being separated out from Mono and end users can choose whether to install the ECMA-compliant Mono or the whole deal with the compatibility modules.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    92. Re:No Really Definite Confirmation of This Yet by FishWithAHammer · · Score: 1

      And what, exactly, is the problem?

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    93. Re:No Really Definite Confirmation of This Yet by FishWithAHammer · · Score: 1

      Actually, yes, it does. Read the post above yours.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    94. Re:No Really Definite Confirmation of This Yet by BitZtream · · Score: 1

      It'll be rather hard for MS to sue anyone for implementing these standards after they've come out and said 'its okay, you can use them, we won't sue'.

      Yes, the hold patents, and thats good, that means Company X can pull out a bullshit patent on it now and start sueing the hell out of everyone because Company X never promised not to sue anyone. This really isn't any different than IBM or Redhat patenting something that you would consider open source. Why is it okay for Redhat, but not MS, just because you're afraid?

      At what point do they satisfy you that they are going to let you use it? Do they have to pay you or something?

      Stop being so ridiculous.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    95. Re:No Really Definite Confirmation of This Yet by BitZtream · · Score: 1

      Yea, its not like any OSS apps evolve quickly and make an next to impossible target to hit.

      Thats why you never see commercial developers talking about how Linux easy is such a stable target to hit ...

      Sorry, but this is just a silly argument.

      C#/.NET is going to take a few years to mature, naturally. Guess you've never been around when something new comes out that really hasn't been ironed out yet.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    96. Re:No Really Definite Confirmation of This Yet by Johnno74 · · Score: 1

      you said it... *one* of the project goals is compatibility with .net.

      To achieve compatibility mono has implemented possibly patent-encumbered microsoft.* base class libraries. But this is intended for compatibility only. If you were writing something specifically for mono you'd use alternative base class libriries, using GTK# etc.

      As the OP stated, mono will be split into the "safe" (covered by the ECMA spec, and covered by microsoft's promise) libraries and "maybe safe" libraries which are implementations of the microsoft.* namespace etc etc.

      If you are writing an app that is designed to run on mono as well as MS .net you'd obviously be much better off sticking to the "safe" libraries.

    97. Re:No Really Definite Confirmation of This Yet by shiftless · · Score: 1

      if I know anything about Microsoft, it is that they like to keep targets moving.

      Who cares about what Microsoft does? Mono will always be around in one form or another because it's open source. I develop in Mono because to me, C# is the ideal C-style language, not because compatibility with Windows .NET platform is important. I don't give a flying fuck about developing anything for Windows. This is a moot point anyway, because there is nothing stopping me from developing cross platform Mono apps for Windows using the ECMA libraries plus GTK for the GUI.

    98. Re:No Really Definite Confirmation of This Yet by shiftless · · Score: 1

      By using GTK instead of Winforms, you *DO* have cross platform independence. Who cares about Winforms?

    99. Re:No Really Definite Confirmation of This Yet by Ed+Avis · · Score: 1

      If I'm migrating .net apps to Linux, I would target Java or other known Linux platform, rather than Mono with unknown status in terms of .net framework compatibility.

      As others have pointed out, that's not migrating an existing app, that's rewriting it. As for 'unknown compatibility', not everything in .NET is implemented in Mono (WPF for example), but the libraries that are there work well. There is a migration analyser which will tell you if your app uses Windows-specific calls or APIs not yet supported by Mono. There is also the new project M/Invoke which can let .NET apps that call native Windows APIs run under Linux by replacing the P/Invoke call with a call to some managed code (which needs to be written, Wine-like).

      --
      -- Ed Avis ed@membled.com
    100. Re:No Really Definite Confirmation of This Yet by Ed+Avis · · Score: 1

      Well, you know, Mono is open source, all of it. Even the parts which are not covered by Microsoft's patent promise.

      The Linux kernel is another piece of software which is not covered by Microsoft's patent promise. Indeed, in the USA Microsoft owns at least one software patent (the VFAT one) which applies to Linux, and is actively suing people for it. So by your argument Linux is not open source?

      As far as I know the enforceable patents held by Microsoft, the ones which cover anything at all novel, are those for the runtime engine (the CLR). These are included in the patent promise. There is no reason to suppose that because Mono's Winforms implementation implements an API originally made by Microsoft, it is any more risky than Samba or the many other free reimplementations of proprietary APIs.

      --
      -- Ed Avis ed@membled.com
    101. Re:No Really Definite Confirmation of This Yet by Ed+Avis · · Score: 1

      Why do you suppose that ASP.NET, Winforms and so on are 'the patent infringing parts'? Just because they are APIs made by Microsoft, they must be covered by enforceable software patents held by that company? Because of the word 'Microsoft'?

      The Mono project has a commitment to remove code that is found to be a patent violation; I think there is no reason to suppose that Mono's Winforms or other Microsoft-compatible APIs are any more of a patent risk than running Samba or Firefox.

      --
      -- Ed Avis ed@membled.com
    102. Re:No Really Definite Confirmation of This Yet by idontgno · · Score: 1

      It'll be rather hard for MS to sue anyone for implementing these standards after they've come out and said 'its okay, you can use them, we won't sue'.

      Will it be hard to synthesize a violation of terms that nullifies the granted "permission"? All Microsoft has to do is claim you broke one of the many vague conditions of the non-license and you're faced with a choice: drop development, change your behavior to conform to the "clarified" conditions, or press on and face explicit legal risk.

      Stop being so ridiculous.

      Oooh, ooh, ad-hominem. I like it. I, too, have run out of things to say in this context, so I'll close out like you did.

      Your mother too!

      Did I do it right?

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    103. Re:No Really Definite Confirmation of This Yet by HiThere · · Score: 1

      Be very careful here about exactly what is going to be promised. And note that it's forthcoming, not currently in place, so the details may be altered in very significant ways.

      I'm going to continue to avoid mono until I get a LOT more convinced. The promise is going to need to be out where I can see it, I'm going to need for lawyers that I trust to tell me what it means, and I've got to see who is actually making the promise. (If it's MS, the company, that's one thing. If, as has happened before, it's some guy in engineering, that's very different.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    104. Re:No Really Definite Confirmation of This Yet by HiThere · · Score: 1

      OK. Given that the promise turns out to be sufficient when it materializes, and that I'm going to be using gtk for a GUI, what's the advantage of C# over Java or Python?

      I.e., I'm already learning as many languages as I can handle, why should I jump into a legal snake-pit? Why is C# better than Java or LISP or D or ...

      Actually, if there aren't any native libraries to speak of, I think I'd prefer D. And D doesn't come with a built-in snake-pit.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    105. Re:No Really Definite Confirmation of This Yet by HiThere · · Score: 1

      Why would we want to say "Java goodbye" in favor of mono? This is something I've never heard properly explained.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    106. Re:No Really Definite Confirmation of This Yet by FishWithAHammer · · Score: 1

      Feel free to be paranoid if that suits you. I was never credulous enough to believe that Microsoft would sue me, so I've been using it for quite a long time.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    107. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      Except Banshee and F-Spot do use the non-covered ADO.NET libraries.

      Miguel has acknowledged this and says re-writes are in the work to cover it, but it is still a current issue.

      So, we are back to you being the one who is missing it.

    108. Re:No Really Definite Confirmation of This Yet by pizzach · · Score: 1

      In the end, I think it comes down to what language, and class libraries, you are personally familiar with.

      I agree with you and that is why I took issue with the parent. They weren't having an issue with lack of object oriented bindings, they were having an issue with lack of C#. I would think that worst case scenario someone with C# experience could probably make out pretty well with the C++ or Java bindings. Maybe.

      --
      Once you start despising the jerks, you become one.
    109. Re:No Really Definite Confirmation of This Yet by Anonymous Coward · · Score: 0

      The point of *Mono* is cross-platform support. The point of *.Net* was for Microsoft to fight Java; they were VERY worried people would write a lot of software in truly cross-platform Java software. To fight this they provided *lip service* about .NET being cross-platform while making sure "all platforms are equal but Windows is more equal".

                As for the rest of your concern, people have been telling Miguel et al that for years.. he's just sure that Microsoft are great guys and he'll get .NET fully cloned eventually.

  2. Huh!? by Anonymous Coward · · Score: 0

    What alternate reality have I stepped into this week!? -head explodes-

  3. quickly, bash them. by timmarhy · · Score: 2, Funny

    they must be up to no good.

    --
    If you mod me down, I will become more powerful than you can imagine....
    1. Re:quickly, bash them. by wjousts · · Score: 1

      It's a trap!

    2. Re:quickly, bash them. by wisty · · Score: 2, Funny

      Maybe it's just a sign the Microsoft think they can beat Mono. If Microsoft sets the standards they will have a more mature platform out at any point in time.

      Or maybe they think that a little competition is a good thing?

    3. Re:quickly, bash them. by nschubach · · Score: 2, Insightful

      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

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    4. Re:quickly, bash them. by RightSaidFred99 · · Score: 1

      And you...disagree that this is a "win" for Microsoft if this happens? I'm confused as to your point.

    5. Re:quickly, bash them. by nschubach · · Score: 3, Insightful

      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.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    6. Re:quickly, bash them. by Elektroschock · · Score: 2, Funny

      It would be great to see Microsoft win and .Net win, because it is the best technology for a cross-platform future. With Microsoft moving towards the cloud it would be great to make Microsoft embrace cross-platform to resolve the remaining Java argument and indemnify developers from patent hassles, also ASP.NET and ADO.NET and Winforms. That would be a consequent move towards a cloud based architecture.

    7. Re:quickly, bash them. by BitZtream · · Score: 1

      Let see, go public and tell the world you won't sue them for using your stuff, then turn around and sue them for your using your stuff.

      Yea, the judge is going to be all in MS's favor on that one, thats very logical.

      I'm sure MS will 'release' all their patents the same day IBM, Redhat, Novell, and Conical do. If you don't think they have patents then you're rather ignorant. Having a patent on something now days is a form of protection against the bastards who manage to get bullshit patents accepted then run to west Texas and start suing everyone.

      I understand you hate MS, but your argument is rather irrational and lacking in the logic department.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  4. 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;
    1. Re:This shows by tom17 · · Score: 1

      I mean './a', sorry

    2. Re:This shows by tom17 · · Score: 1

      oops :)

    3. Re:This shows by ais523 · · Score: 1

      Microsoft do want us to be happy, though, it distracts attention from the rest of what they're doing. (I suspect Microsoft Research is a large division churning out useful things that help people in general, with nothing evil about it at all, used as a distraction to make the company look good as a whole.)

      --
      (1)DOCOMEFROM!2~.2'~#1WHILE:1<-"'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1"
    4. Re:This shows by Anonymous Coward · · Score: 0
  5. Re:Thank goodness by timmarhy · · Score: 0

    no, he will just come up with some bullshit about it not being as "free" (ironic how his ilk have been able to twist that word) as the GPL.

    --
    If you mod me down, I will become more powerful than you can imagine....
  6. Re:Thank goodness by bogaboga · · Score: 1

    No he will not and here's why:

    Mono, which is related to .NET and CLI is much more than what ECMA standards specify yet there is no reference to those.

    If he makes noise, he will have a point.

  7. promise doesn't extent downstream by viralMeme · · Score: 3, Informative

    The 'community promise' does not extend to commercial downstream recipients of open source MONO applications !

    1. Re:promise doesn't extent downstream by Anonymous Coward · · Score: 3, Informative

      It does not apply to 'partial implementations' either.

      From the FAQ

      Q: What if I don't implement the entire specification? Will I still get the protections under the CP?

      A: The CP applies only if the implementation conforms fully to required portions of the specification. Partial implementations are not covered.

    2. Re:promise doesn't extent downstream by js_sebastian · · Score: 2, Informative

      The 'community promise' does not extend to commercial downstream recipients of open source MONO applications !

      I think that is incorrect. Quoting from the community promise itself (linked in article)

      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

      It includes "using". So I do not receive the rights from the distributor of a MONO application, but I, as a user, am directly granted the right to use it from the microsoft community promise.

      The fact that you have to conform to the standards is however a real restriction. It makes some sense, to avoid someone else playing an embrace-extend-hijack on them, like they tried with Java... however this also means that if I invent my own language+runtime D# that infringes on some microsoft C# patents this does not protect me.

    3. Re:promise doesn't extent downstream by tenco · · Score: 1

      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

      It includes "using". So I do not receive the rights from the distributor of a MONO application, but I, as a user, am directly granted the right to use it from the microsoft community promise.

      The real question is: does that cover "modifying"? Might be interesting for distributors which may want to patch Mono.

      The fact that you have to conform to the standards is however a real restriction. It makes some sense, to avoid someone else playing an embrace-extend-hijack on them, like they tried with Java... however this also means that if I invent my own language+runtime D# that infringes on some microsoft C# patents this does not protect me.

      Would be interesting where that puts Vala. It's very similar to C#.

    4. Re:promise doesn't extent downstream by Xabraxas · · Score: 1

      Would be interesting where that puts Vala. It's very similar to C#.

      Vala is nothing like C# other than syntax.

      --
      Time makes more converts than reason
    5. Re:promise doesn't extent downstream by mea37 · · Score: 1

      It's not just avoiding "embrace and extend".

      The stated intent of the promise (and you can be as cynical as you like about whether this is really what they're doing) is to facilitate interoperability. They're not interested in you making other things that use their patents. They're really not interested you you writing a "C# implementation" using their patents, but really it toasts bagels instead of compiling C# code, and claim they can't sue you.

      They also leave themselves some interesting outs, so the question I can't answer (as I haven't studied the relevant material) is one of intent. The real test of whether they're trying to be interoperable would come with an analysis of the spec in question. Are the "interesting" parts of the spec over which they hold patents mandatory parts of the core spec? If they're optional, then MS can sue you if you use their patents to implement them. If a key feature is implemented using a spec that is referenced by the covered spec, that doesn't fall under the promise either.

      At worst it might be somewhere between a nice start and a PR stunt; at best it might be a legitimate move toward a patent truce.

    6. Re:promise doesn't extent downstream by xoluxo · · Score: 0

      Mono has been a superset of ECMA for years, some 3 or 4 years ago.

      It is definitely a risk for people traveling back in time to 2003 and using Mono.

    7. Re:promise doesn't extent downstream by xoluxo · · Score: 1

      The point is that if Microsoft has a patent on the syntax, then the Community Promise does not extend to Vala, only to C# and supersets of c#.

    8. Re:promise doesn't extent downstream by harlows_monkeys · · Score: 1

      The 'community promise' does not extend to commercial downstream recipients of open source MONO applications !

      Where did you get that idea? I suspect you are confused because you can't sublicense, but that isn't a problem for downstream recipients, for the same reason GPLv3's similar prohibition isn't a problem.

      .

    9. Re:promise doesn't extent downstream by Anonymous Coward · · Score: 0

      I think the provision about "extent it conforms with the Specifications" is telling you that they are waving their right to sue you over the parts that conform with the specification.

      If you implement something that conforms with the spec; but uses something they hold a patent on that isn't in the spec (??) then since it isn't part of the spec; doesn't mean they aren't going to sue you.

      Basically; they aren't waving the right to sue you over anything; just anything they specify in the spec. I think it is mis-interpretation to say that you have to implement the spec completely and correctly to be covered.

    10. Re:promise doesn't extent downstream by Xabraxas · · Score: 1

      Considering how close C# is to other languages like C and Java I would love to see them try to patent the syntax. Literally dozens of languages would be affected by a patent on syntax if it was allowed to go through. If you're waiting for MS to extend the community promise to every possible piece of software in existence I wouldn't hold my breath.

      --
      Time makes more converts than reason
  8. Sounds promising... by IBBoard · · Score: 2, Informative

    It sounds promising, and it may end up meaning Stallman was wrong all along and that it was safe to implement .Net/C# (which GNU have done anyway). It's be useful to have somewhere slightly more authoritative to hear it from (like Microsoft themselves) but at least people don't need to worry about "arrrghh, it's a patent trap" and can get on with "hurrah! I can focus on coding for the desktop in a decent language rather than having low-level memory concerns etc".

    Not that I ever cared anyway. Stick to the registered standard definition of C# and Microsoft couldn't exactly kill off Mono anyway, as they'd probably have ended up breaching the "fair and non-discriminatory" part of the patent licensing or been forced to give Mono a free license anyway.

    1. Re:Sounds promising... by geordie_loz · · Score: 4, Insightful

      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.

    2. Re:Sounds promising... by Sinbios · · Score: 1

      change his view based on new facts

      Stallman?!

      --
      Anyone can "stand up for what they believe", but it takes a very brave individual to change what they believe. - Loundry
    3. Re:Sounds promising... by kripkenstein · · Score: 4, Insightful

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

    4. Re:Sounds promising... by peppepz · · Score: 4, Informative

      He has already done that with Java, after Sun released it under the GPL.
      Before that, he deprecated Java like he’s doing with Mono now.

    5. Re:Sounds promising... by mvdwege · · Score: 2, Insightful

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

      Sheesh. The Stallman bashing gets really ridiculous at times.

      Mart

      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    6. Re:Sounds promising... by Anonymous Coward · · Score: 0

      Um, yes? What makes you think RMS never changes his opinion?

      Like him or not, but RMS is actually one of the most undogmatic people out there. He has got strong opinions, but he always justifies them - there's always a reason for why he swings a certain way. If those reasons then change or go away, he doesn't cling to his opinions just for the sake of doing so, like so many others.

    7. Re:Sounds promising... by Anonymous Coward · · Score: 0

      And he wrote Emacs! He's a hero for that alone (yes, serious).

    8. Re:Sounds promising... by BitZtream · · Score: 1

      Yea, cause MS is really scared of the market share its losing to Linux.

      Yes, Stallman's political posturing probably had some influence. Its more likely the main reason this was done to avoid being considered discriminitory/monopolistic to governments of the world, not to appease the extremely small percentage of people who warship loud mouth blow hards Stallman. Sorry.

      Its just as likely they did this to make Scientology happy.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  9. Re:Thank goodness by IBBoard · · Score: 1

    At which point Mono does the simple open-source thing of implementing just the ECMA spec (plus its own extensions in its own namespace) and all is good again and RMS is back to the "nothing to complain about in C#/.Net" position :)

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

    1. Re:It's about time by paiute · · Score: 2, Insightful

      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.

      --
      If Slashdot were chemistry it would look like this:Cadaverine
    2. Re:It's about time by bmo · · Score: 2, Insightful

      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

    3. Re:It's about time by Rogerborg · · Score: 2, Informative

      So what you're saying is that it's a really well disguised trap?

      Note that what Microsoft is stopped from doing has no bearing on what they can fund other companies to do on their behalf.

      There's no legal basis for any third party to sue .NET implementers, you say? Well, gosh darn, I guess there's no way that Microsoft could fund them to file a bullshit case that drags on for year after year after year, tying up court time, costing the defendants millions in fees, and eating away at the hearts of souls of good men like a cancer. Is there?

      --
      If you were blocking sigs, you wouldn't have to read this.
    4. Re:It's about time by mr_mischief · · Score: 1

      It'd be easier for them to just upgrade .NET to be incompatible with everything they promised not to sue over. Then they can sue when people upgrade, because there's no promise covering the new versions.

    5. Re:It's about time by moosesocks · · Score: 2, Funny

      Don't forget that backward compatibility is sacred to Microsoft. Similarly, I can't possibly imagine that it would be a good business decision for Microsoft to begin suing its own developers.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    6. Re:It's about time by Anonymous Coward · · Score: 1, Insightful

      Probably not SCO..

      ... but maybe ex-Microsoft-CTO Nathan Myhrvold's Intellectual Ventures

    7. Re:It's about time by Qubit · · Score: 2, Interesting

      It'd be easier for them to just upgrade .NET to be incompatible with everything they promised not to sue over. Then they can sue when people upgrade, because there's no promise covering the new versions.

      Steps:

      1. Microsoft purchases patent license for H.264 (or whatever) in their products.
      2. Microsoft makes H.264/whatever mandatory in C# version+1.
      3. Mono can't get a patent license for H.264 and still be Free Software, so it won't be covered by patent promise if it tries to implement C# version+1.
      4. Well, shit.
      --

      coding is life /* the rest is */
    8. Re:It's about time by Anonymous Coward · · Score: 0

      Note that what Microsoft is stopped from doing has no bearing on what they can fund other companies to do on their behalf [cnet.com].

      Since other companies can't sue to enforce Microsoft's patents, that's not relevant.

    9. Re:It's about time by RightSaidFred99 · · Score: 0

      Uhh, instead of that why wouldn't they just use one step: Not make this community promise in the first place.

      You people are seriously paranoid. And not in a "good guy seems crazy paranoid in movie but it turns out he was right" way, more in a bad "nutcase sitting in his basement with a homemade Faraday cage because the government is using mind control on him" way.

    10. Re:It's about time by shutdown+-p+now · · Score: 2, Insightful

      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.

    11. Re:It's about time by ZachPruckowski · · Score: 1

      Anyone Microsoft sues will have a very strong defense based on a very old legal principal. Microsoft can try the "cow people into submission by threatening a very weak lawsuit" approach, but the fact that they can't win that lawsuit is critical - all it would take is for someone to call them out on it and take the fight to them and MS's case would evaporate. Convincing a judge to completely re-interpret a basic principle of contract law isn't a trivial task, and I doubt Microsoft has some crazy Xanatos gambit based around it.

    12. Re:It's about time by mr_mischief · · Score: 4, Informative

      The idea of embracing and extending is an old one. First, you offer to work with someone. Then, you slip in nonstandard extensions that aren't as widely available, but convince people they are an improvement. Then, you either pull out compatibility with the old standard or count on enough people using your new, non-standard version that people using the open version are left behind.

      Microsoft has tried this with TCP/IP, name services (WINS rather than DNS), network protocols (NetBEUI), office suites (MS Office was once capable of opening and saving the formats of suites which were then more popular, but thanks to preloads and trial versions dropped support for the competition's file formats once it was the market leader), filesystems (it's still suing over variations of FAT), and even the joint development of operating systems (a cross-license and joint development agreement between Microsoft and IBM for Windows and OS/2 ran out just before Microsoft unleashed Windows 95, which was gratuitously incompatible with the Windows APIs in OS/2).

    13. Re:It's about time by pyrrhonist · · Score: 1

      "nutcase sitting in his basement with a homemade Faraday cage because the government is using mind control on him"

      Omigosh, I need to use a whole Faraday cage now?! I thought the hat was enough.

      --
      Show me on the doll where his noodly appendage touched you.
    14. Re:It's about time by RightSaidFred99 · · Score: 0, Troll

      But...why not just leave it ambiguous? Then they can still go all apeshit ("they really are out to get you") later and have more options to do so.

      Now, I know your answer. Why, because they want to suck more people in to their nefarious plot! What was I saying about paranoia, again...?

    15. Re:It's about time by Jartan · · Score: 1

      Why don't they just go ahead and fork then? Supposedly they are using C# because it's good. I've never read anything about the "good" parts being patented though. So why not just stop screwing around and write E# and base mono off of that?

      The fact that this hasn't happened already says something. It says for some reason people want to use the same standard that Microsoft is using.

    16. Re:It's about time by shutdown+-p+now · · Score: 2, Informative

      C# is a language. There's no point in forking that, because it's completely covered by the promise. Same goes for the runtime (CLR).

      What's not covered are all the libraries, and there, as I pointed out already, the "forks" are going on in form of various Mono.* libraries, and Gtk#/Gnome# stuff. Which is actually used to write decent Gnome apps.

      They also work on WinForms, ADO.NET, ASP.NET etc because there is some interest in that as well, but it mostly doesn't intersect with people who use Gtk#.

    17. Re:It's about time by mr_mischief · · Score: 3, Informative

      It isn't paranoia if they've done it to you more than once already to think they might do it again. And yes, I can name the "they" -- Microsoft. It's more than one person, after all. A corporation by definition is a "conspiracy", although not necessarily with the negative connotations that word carries. It's always one group of people working together for a common goal which furthers the interests of their group above and before the interests of others. Perhaps when looking for conspiracy nuts you find them easily when corporations are being discussed, but that doesn't mean anyone's actually paranoid.

    18. Re:It's about time by DragonWriter · · Score: 1

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

      Note, however, that promissory estoppel is generally not an absolute bar to asserting the underlying rights, its simply an equitable bar that a court may apply to limit attempts to assert the underlying rights to the extent necessary to prevent injustice, where there is good faith detrimental reliance on the promise.

      Particularly, if Microsoft chose to clearly publicly renounce the "Community Promise", in general or with regard to a particular piece of software, any subsequent reliance on it would probably not provide a basis for asserting estoppel unless the relying party could prove that it was unaware of the renunciation.

    19. Re:It's about time by ignavus · · Score: 1

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

      NO!

      Microsoft is only estopped from going after people using C# and *CLI* technologies. They hold patents over other aspects of *.NET* technologies which are not covered by this feel-good announcement.

      It is still all clear as mud.

      So what if I grant royalty-free licences to everyone who wants to build a car chassis ... if I have patented using a car chassis *with wheels*? What if Microsoft, say, patented general GUI functionality *in so far as it requires the CLI*? Even Gtk# would infringe that sort of patent, even though Gtk++ and the CLI separately had no patent encumbrances.

      Just because all the components are safe from patent threats, it does not mean that any *combination* of those components are free from patent threats. "Using GUI functionality with the CLI" may be patented - or "using database functionality with the CLI". Having the CLI and your own GUI or database library won't help you there.

      --
      I am anarch of all I survey.
    20. Re:It's about time by BitZtream · · Score: 1

      WINS was not an attempt to do something silly against DNS, it was a non-IP centric service to find windows machines. Yes it worked over IP, and it also worked over IPX and BV. DNS is rather IP centric, I suppose they could have just extended it like they did with ActiveDirectory, not like it would have mattered, you'd still bitch at them for extending something that was made to be extensible. NetBEUI was perfectly acceptable in a non-subnetted environment when properly used, we have new protocols now that work on top of IP for local subnets is pretty much the exact same way as NetBEUI. Office is a pisser because no one else has made a Office clone that doesn't suck for years. Yes they dropped support for other formats, but they probably actually carried support longer than any one else would have.

      In case you didn't notice, the Win32 API is rather incompatible with Win16 apps as well, but let me give you a neat hint, that OS/2 compatibility ... still there! NT kernels had it up until Win7, which I believe it has been removed in. They haven't updated it in forever, so its only for the earliest versions of OS/2 but was there, just like POSIX support.

      Dude, you had an easy argument to make and you pulled out of bunch of incorrect information and short sighted/uninformed comments to do it with. Weak. You're fanboy card is suspended until further notice.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    21. Re:It's about time by mr_mischief · · Score: 1

      DNS, and in particular BIND, the reference implementation, is decidedly not IP-centric, but it has tended to be used that way. It can hold pretty mu8ch anything for the addresses (or even other types of data). The interface to it does tend to be only TCP/IP, but that wouldn't have been a major hurdle to overcome. A DNS server that's accessible via TCP/IP and some other protocol wouldn't have riled many people.

      Windows for Workgroups had a small 32-bit API in version 3.11 already. Remember Win32s? NT was supposed to be the next Windows, and it and OS/2 were supposed to be compatible. Then, the entirely incompatible Windows 95 came out, and most Windows 95 applications couldn't be made to run properly on OS/2 no matter what library games you played. The complaint isn't that old DOS or OS/2 2.x apps couldn't run on Windows NT. It's that Microsoft purposely made 95 and its apps incompatible with OS/2 to kill one of OS/2's main selling points: that it was compatible with Windows applications.

  11. No more FUD by magian · · Score: 1, Informative

    Good, now maybe the anti-Mono FUDites will shut up and play nicely.

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

    2. Re:No more FUD by Anonymous Coward · · Score: 0

      Not to mention that only "Mono" is covered. Maybe MS will sue the crap out of alternative implementations. And since Migule is an MS emploee (Novel had a profitable quarter because MS bought the "coupons"), MS just said it won't sue itself. maybe

    3. Re:No more FUD by Anonymous Coward · · Score: 0

      Maybe you anti-Mono FUDites should reread what you think you read but didn't and note specifically that the important libraries (the BCL) *are* included in their legally binding promise.

      The Mono applications that you anti-Mono trolls are bashing saying "not safe! not safe!" don't use anything but the ECMA portions.

    4. Re:No more FUD by skeeto · · Score: 1

      Nope, I still wouldn't touch Mono with a 10-foot pole. It's best avoided.

    5. Re:No more FUD by Anonymous Coward · · Score: 0

      Allthough that's not really bad either since C# programmers can now also make Linux apps, be it with Linux libs, but anyway...

    6. Re:No more FUD by Anonymous Coward · · Score: 0

      Except, you know. ECMA 335 covers the standard library too.

    7. Re:No more FUD by Ginger+Unicorn · · Score: 1

      Hail he who hath fallen from the sky, to deliver us from the terror of the FUDites!

      --
      (1.21 gigawatts) / (88 miles per hour) = 30 757 874 newtons
    8. Re:No more FUD by Anonymous Coward · · Score: 0
      You're right, it's not like Mono has any other useful free libraries that aren't derived from .NET.

      Seriously, how did you get modded +5 informative? People like you are the ones spreading FUD forcing Mono developers and those who develop with Mono to argue against the same tired arguments over and over again.

    9. Re:No more FUD by Anonymous Coward · · Score: 0

      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.

      The Base Class Library (BCL) is part of ECMA 335.

    10. Re:No more FUD by harlows_monkeys · · Score: 1

      The libraries used to write Linux programs don't need to be covered, as they aren't using any technology Microsoft has patents on. People writing Linux programs using Mono normally use C# (covered), the CLI (covered), and libraries like GTK#. Only those who for some reason want to use Winforms, ASP.NET, ADO.NET and such might have a problem.

    11. Re:No more FUD by Anonymous Coward · · Score: 0

      The ECMA 335 (CLI) spec covers the Base Class Libraries (BCL).

  12. Re:Thank goodness by am+2k · · Score: 1

    That'd make Mono pointless, though. It'd just be another implementation of a system nobody uses.

  13. ...and this means? by filesiteguy · · Score: 3, Insightful

    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?

    1. Re:...and this means? by xoluxo · · Score: 1

      If you stick to ECMA + Mono APIs (like Gtk#) you do not need to talk to anyone, you are ready to go.

      If you want to use the non-ECMA APIs (Winforms, ASP.NET, ADO.NET) and want to be covered patent-wise and deploy on Linux, you can buy SUSE Linux which comes with a license to Microsoft's .NET IP.

      But unless you are costing Microsoft a few million dollars a year in lost revenue, it is not even worth having a lawyer give you a call.

    2. Re:...and this means? by filesiteguy · · Score: 1

      LOL!

      I'm not really worried. More a hypothetical question. I know my M$ budget this fiscal year is around $180,000 so they won't be coming after me anytime soon. :P

      (Of course, I've switched from openSUSE on my laptop to Ubuntu - maybe I'm out of the patent protection...)

    3. Re:...and this means? by Anonymous Coward · · Score: 0

      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.

      Certainly you meant to say "I'm a Lintendo user"?

    4. Re:...and this means? by ZachPruckowski · · Score: 1

      This is a promise from Microsoft not to sue over any patents which cover the portions of dotNet/C# that are EMCA standards. If your C# app depends only on those components, then you can safely port it to Mono without worrying about patent risk. My understanding is that the Novell-Microsoft license deals covered not just Mono, but the entire SLES stack, so if you have one of those, it's still "protecting" you from "patent risk" in other SUSE components, and thus still as valid and useful as it was yesterday. I am not a lawyer, and this is not legal advice.

    5. Re:...and this means? by Anonymous Coward · · Score: 0

      Fwiw, I think Secure Submitter really needs a UX designer step in and force the developer to throw out about 3/4 of the interfaces on screen.

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

    1. Re:FYI, this IS legally binding by pbhj · · Score: 1

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

      Does that meant that if you pee them off they sue you for some patent infringement in a cunning way in which you can only win by countersuing? I've never heard of such a mechanism but I can only imagine their must be one ... this _is_ Microsoft.

    2. Re:FYI, this IS legally binding by mvdwege · · Score: 1, Insightful

      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

      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    3. Re:FYI, this IS legally binding by Vahokif · · Score: 1

      I think he's right to say there wasn't any danger in the first place, but now there's a Mono even the most paranoid can use.

    4. Re:FYI, this IS legally binding by Vahokif · · Score: 1

      I think it's to prevent a case where a patent troll sues them for .NET and they can't retaliate because of this promise.

    5. Re:FYI, this IS legally binding by recoiledsnake · · Score: 1

      Correction to #3, Only ASP.NET MVC is open-sourced, not the much more popular ASP.NET.

      --
      This space for rent.
    6. Re:FYI, this IS legally binding by mvdwege · · Score: 2, Insightful

      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.

      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    7. Re:FYI, this IS legally binding by DNS-and-BIND · · Score: 1

      So, in a year or two, when Microsoft breaks their promise, I can sue them? Great! That will work fine. Let me just sue Microsoft and win. I have enough problems with local suppliers breaking contracts and getting away with it scot-free, I'm sure suing a Fortune 5 company will be a cinch.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    8. Re:FYI, this IS legally binding by Vahokif · · Score: 1

      No, he's splitting the parts that other people consider to be dangerous and are potentially off-putting to businesses. That doesn't mean he considers the rest unsafe, just that other people (obviously) do.

    9. Re:FYI, this IS legally binding by Vahokif · · Score: 1

      What do you mean breaking their promise? The point is that they can't sue you from now on because they promised to let you use it. They can't win the case, and therefore can't break the promise.

    10. Re:FYI, this IS legally binding by mvdwege · · Score: 1

      No. Until now, the Miguel party line was that there was no reason to be worried, and if you said otherwise, you could expect invective.

      Mart

      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    11. Re:FYI, this IS legally binding by Anonymous Coward · · Score: 0

      The most aggressive type of patent trolls rarely have any products that they could be sued over (or any products at all), though.

    12. Re:FYI, this IS legally binding by shutdown+-p+now · · Score: 1

      open-sourced Microsoft stuff (like ASP.NET, under the OSI-approved MS-PL license)

      ASP.NET is not open sourced. ASP.NET MVC is, but it's a different thing (and builds on ASP.NET).

    13. Re:FYI, this IS legally binding by Anonymous Coward · · Score: 0

      Splitting up Mono into two pieces does not mean that there was potential danger before. While I acknowledge that there's still some murkiness to deal with, the large question mark upon which all Linux C#/.NET stuff runs on is now solved. Previously, the two haves of Mono both had their share of clouds, but the core C#/.NET stuff was slightly clearer. There was probably not a terribly good reason to split from their point of view. Now that the core stuff has become crystal clear, it's just a case of "yeah it's probably a good idea to split now."

      Disclaimer: Although I don't consider myself a fanboi, I am a big fan of Mono. I choose the best tool for the job, and the best platform for the job. So far, C# has been undisputed winner for years now.

    14. Re:FYI, this IS legally binding by Vahokif · · Score: 1

      But whether he believes it's safe or not, the fact is that people are put off by the potentially dangerous parts, and just because he's splitting those doesn't mean he agrees with them, just that he wants them to not be put off from using Mono.

    15. Re:FYI, this IS legally binding by DNS-and-BIND · · Score: 1

      And I'm pointing out that promises are pretty worthless. It's astounding that in this day and age, people are willing to trust a company like Microsoft when it makes a promise. Would you trust Goldman-Sachs or Bernie Madoff? Both of them had much, much better reputations.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    16. Re:FYI, this IS legally binding by Vahokif · · Score: 1

      What do you mean worthless? It's legally binding!

    17. Re:FYI, this IS legally binding by DNS-and-BIND · · Score: 1

      Yeah. I've got a contract in the filing cabinet across from me that says a customer has to pay. He hasn't paid, and I rather doubt he ever will. But it's legally binding, sure. I can sue him all I want. And this is some local yokel, not a company whose legal department generates more income in a day than I do in 10 years.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    18. Re:FYI, this IS legally binding by ZachPruckowski · · Score: 2, Insightful

      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.

    19. Re:FYI, this IS legally binding by Vahokif · · Score: 1

      Except this is the opposite, because if Microsoft sues you, you can just point out this promise and go home free.

    20. Re:FYI, this IS legally binding by mvdwege · · Score: 1

      Yeah well, too bad you're posting AC, because such reasoned statements are a far cry from what we got from Miguel.

      Mart

      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    21. Re:FYI, this IS legally binding by Anonymous Coward · · Score: 0

      I can't seem to find a references to it anymore but I know at one point the mono website specifically pointed out that the Winforms, ADO.net, and ASP.net implementations may have patent issues but they were prepared to work around them or just drop those pieces if needed. Actually, here it is: http://www.mono-project.com/FAQ:_Licensing

    22. Re:FYI, this IS legally binding by Nick+Ives · · Score: 1

      No, the point is they can't sue you. The legal term is "Promissory Estoppel" and given the terms of the Community Promise this means Microsoft can't ever sue you for doing stuff under the relevant ECMA specifications.

      Of course, this still isn't GPL compatible because of the insistence that any implementation remains compatible with the specification. Mono / .NET still remains a threat to free software. All Microsoft are doing here is permitting free re-implementations of their platform, they are denying the right of the community to extend their platform in other directions.

      --
      Nick
    23. Re:FYI, this IS legally binding by FishWithAHammer · · Score: 1

      And now, instead of invective you get a completely ECMA-standard package (which you also basically already have if you use Ubuntu or Debian), so you can quit your complaining.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
  15. Seriously, who the fuck cares? by iCantSpell · · Score: 3, Informative
    C# == Microsoft Java Compare

    Why do people think C# is some new amazing language? Clearly MS took Java and gave it a MS framework.

    If you would just use java you probably wouldn't have this fear of MS trying to undermine the OSS movement. When a multi-billion dollar company other than google tries to "help" OSS, you can only be suspicious.

    http://www.javacamp.org/javavscsharp/getStarted.html

    1. Re:Seriously, who the fuck cares? by Vahokif · · Score: 2, Informative

      No, J# is Microsoft Java. Educate yourself.

    2. Re:Seriously, who the fuck cares? by Plug · · Score: 1

      If I wanted to develop an app for Windows alone, you had C#/.NET, "Microsoft Java" with a complete native look-and-feel (although I do admit it took until .NET 2.0 to really get there), or "Java" with (at the time) looks-like-Java-on-all-platforms.

      Not to mention the other languages on the CLR.

      As to why Linux didn't pick it up, Java wasn't even really distributable until Sun released it under the GPL, and Mono was way ahead of the IcedTea (free JDK) project - Mono had ".NET does not exist on Linux" as a driver, where IcedTea was all about "Java exists; you could use that if you DL it from Sun, so this project is really only interesting to people who care a lot about the freedom".

    3. Re:Seriously, who the fuck cares? by binarylarry · · Score: 0, Troll

      I find it pretty amazing when you mention this to most C# programmers, they'll go on about how different C# is from Java. Even though, we when you're worked with both, it's immediately obvious how similar they are.

      Same with the CLR vs JVM, same thing, different name. I guess it's probably a credit to Microsoft's advertising that lower rung programmers think .NET is some kind of revolutionary technology and not a crippled clone of Java.

      --
      Mod me down, my New Earth Global Warmingist friends!
    4. Re:Seriously, who the fuck cares? by Anonymous Coward · · Score: 0

      no, you're completely mistaken, C# initially feels like Java, but when you seriously start using it you realise that it is much much much more - a much more serious programming language than java will ever be.

    5. Re:Seriously, who the fuck cares? by FTWinston · · Score: 4, Insightful

      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.

    6. Re:Seriously, who the fuck cares? by binarylarry · · Score: 0, Flamebait

      Thanks for not providing anything to refute my post.

      However, the .NET fanbois on Slashdot seem to have modded you up anyway.

      Congrats!

      --
      Mod me down, my New Earth Global Warmingist friends!
    7. Re:Seriously, who the fuck cares? by rhoderickj · · Score: 1

      Yeah, in C# the main method begins with a capital M. In Java, it's lowercase. That pretty much sums up the differences. Oh, and in C#, you don't have checked exceptions.

    8. Re:Seriously, who the fuck cares? by Diomedes01 · · Score: 1

      Seeing as how you provided no actual facts or even examples in your post for someone to refute, I'd say the responder did just fine.

      --
      "To hope's end I rode and to heart's breaking: Now for wrath, now for ruin and a red nightfall!"
    9. Re:Seriously, who the fuck cares? by binarylarry · · Score: 2, Interesting

      Let me show you how this works, fan boi o mine:

      Person A makes statement, this in case, I said "Java and C# are very, very similar yet many uneducated folks seem to think they are radically different." This is a statement that can be refuted by another party, take Person B for example.

      If Person B disagrees, (s)he can respond with "You're totally wrong, see X which is vastly different than Java and not some marketing feature."

      However, in this case, Person B said "Oh no you di-int" and stopped there.

      However, as posted elsewhere, you should investigate the following work: http://www.javacamp.org/javavscsharp/

      Once you do, you'll realize how correct my original post was. C# is essentially someone running find and replace over the Java language and claiming it's "new," "radically different," and "much, much complex and serious."

      Ah fanbois, what would I do with out you.

      --
      Mod me down, my New Earth Global Warmingist friends!
    10. Re:Seriously, who the fuck cares? by Anonymous Coward · · Score: 0

      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.

      True, C# is not a clone of Java.
      It's a MemberwiseClone.

    11. Re:Seriously, who the fuck cares? by Diomedes01 · · Score: 1

      Once you do, you'll realize how correct my original post was. C# is essentially someone running find and replace over the Java language and claiming it's "new," "radically different," and "much, much complex and serious."

      Ok, first of all, I am far from a "fan boi", unless your definition of such is "someone who disagrees with binarylarry". Secondly, C# and Java are both based on C++, so it is hardly surprising that they are similar. In addition, designing a language so that it is familiar to those who use other, similar languages, is not a crime; if it is, then Java is equally guilty, as one of their original goals to speed adoption was to make the language similar enough that C++ programmers felt at home.

      --
      "To hope's end I rode and to heart's breaking: Now for wrath, now for ruin and a red nightfall!"
    12. Re:Seriously, who the fuck cares? by Abcd1234 · · Score: 4, Informative

      I find it pretty amazing when you mention this to most C# programmers, they'll go on about how different C# is from Java.

      "They" do? Really! Funny, as a C# programmer who has fairly extensive experience with Java, I've never said any such thing. Maybe you should try *not* stereotyping large groups of people, eh?

      For the record, C# is really Java polished up. It provided generics and a foreach loop first, implements type-safe function pointers, lambdas (the absence of lambdas in Java always annoyed the hell out of me), a much better native call interface, and a few minor but handy language features (eg, safe ref and out parameters, using blocks, etc). And I very much prefer the native GUI of C# applications (although the nasty boilerplate necessary to build them makes a GUI builder absolutely required).

      On the API side, they're about equivalent, though both have their warts... although, I must confess, some of the problems in the .NET API are a bit baffling (date handling in .NET 2.0, for example, is unbelievably primitive... there is simply no facility for doing arbitrary time zone conversions... seriously, what the hell?).

      But anyone who argues that C# is basically the same as Java doesn't understand how some of those features can make a programmer's life *much* easier. Are they necessary? No, of course not. But they certainly are handy (honestly, without proper anonymous closures, I feel crippled as a programmer... as a tool for building clean, reusable, modular code, they're simply invaluable).

      And as an aside, while I realize that Java is starting to take on a lot of these features, keep in mind, it probably never would have if it weren't for the competition that C# and .NET are offering. So, in the end, the Java fans out there can thank Microsoft for Java finally moving forward and gaining some of it's new, modern features (can we say "generics"?).

    13. Re:Seriously, who the fuck cares? by peppepz · · Score: 2, Informative

      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.

      The only thing Java and C++ had in common were the C syntax and the object orientation.

      In (the original) Java, compared to C++:
      - Code is meant to be byte-compiled;
      - There is no preprocessor;
      - There are no pointers, and no pointers to function in particular;
      - No explicit memory management is possible, and there are no destructors;
      - You cannot declare isolated functions/procedures;
      - There is no distinction between class declaration and class implementation;
      - Multiple inheritance is forbidden;
      - There are no templates;
      - Many of the more "academic" access modifiers are missing;
      - There is full reflection of types and code;
      - There is a mapping between the file system and the code namespace;
      - Even the basic types change: there are no signed integers.
      Notice how almost all of these points apply to C# as well.

      So C++ and Java are two completely different languages. A Java developer *can* be comfortable with C++, because he can build himself something vaguely similar to a Java environment by selectively using a subset of the features of C++, and relying on a good external development platform like Qt. But the other way around is not true.

      On the other hand, C# and Java are *very* similar: the most striking evidence of that is the fact that the whole Java syntax can be closely mapped to C# equivalents. C# brings additional features such as delegates, properties, operator overloading and output variables, but these are a little more than syntactic sugar if we consider that the overall design and the language philosophy are completely copied from Java.
      Even the standard library, and its organization, are strikingly similar to Java's ones (and have nothing to do with the C++ ones).

      To say that C# is identical to Java, though, is bollocks.

      Initially C# was almost a Java ripoff, with minor feature additions. But after that, the languages evolved separately.
      In particular, Java abandoned its elegant and simple design, trying in its turn to steal some of the features that were eventually added to C#, and as a result it became an ugly hircocervus upsetting both some of the old users, who had to learn new concepts, and many of the new users, who found that the new features were crippled because of backward compatibility. It'll probably get even uglier when new paradigm-changing features such as closures will be added.
      But C#, too, is suffering from the kitchen-sink syndrome now.

      There are some pretty significant differences, and in many cases I prefer C#'s implementation.

      I find Java's syntax more self-documenting, for example for the absence of properties and operator overloading. But Java has some rough edges because of backward compatibility.

      I don’t understand why Sun does not introduce a new version of Java retaining bytecode backward compatibility but *without* source-level compatibility. By giving the source files a new extension, say .javapp, one could even mix old code and new code without problems. That would remove the only weak point Java has when compared to C#.

    14. Re:Seriously, who the fuck cares? by xoluxo · · Score: 1, Troll

      Those links compare C# 1.0 vs Java in 2000.

      C# 1.0 had a few goodies over Java: events, properties, delegates, p/invoke.

      C# 2.0 introduced generics, iterators and a handful of extra features and lambdas.

      C# 3.0 introduced linq, expression trees.

      C# 4.0 introduces dynamic types, optional and named parameters.

      Java in the meantime introduced the worst possible kind of generics. That is what happens when you layoff the entire language design team and let the language bitrot for a decade.

    15. Re:Seriously, who the fuck cares? by tixxit · · Score: 1

      The difference is more idealogical. Java took C++ and simplified it. C# took Java and complicated it. I'd say this starkly defines 2 mindsets. Java is very picky about what it adds into the actual language. If there is already a way to do it in the current version of the Java language, then why add another way? It just complicates things. C# has a lot of ways of doing the same things, and a lot of people love the freedom and concise code they can write with it. I'd say that is a pretty big difference.

    16. Re:Seriously, who the fuck cares? by Anonymous Coward · · Score: 0

      I'm curious in what ways is C# different from Java? Ignore the obvious ``libraries have different names''. Language wise, they're very similar. Slight differences that I'm aware of are: C# has block arrays and lambda closure, while Java has (crappy) generics. But writing a small program to do some task, I'd imagine the implementation to be nearly identical between C# and Java.

    17. Re:Seriously, who the fuck cares? by YourExperiment · · Score: 1

      That's because there was nothing in your post to refute in the first place, other than insults, generalisations and blatant Microsoft-bashing.

    18. Re:Seriously, who the fuck cares? by GWBasic · · Score: 1

      Yeah, in C# the main method begins with a capital M. In Java, it's lowercase. That pretty much sums up the differences. Oh, and in C#, you don't have checked exceptions.

      C# introduces features that are in C++, but not in Java: Operator Overloading, delegates (function pointers), and indexers. C# also brings in multicast events, query syntax, and properties. When I learned Java in college, multicast events in Java were much more painful. C# can also confuse noobs because the syntax is a bit richer; whereas in Java there's more of a reliance on design patterns.

      Java copied C#'s foreach syntax. I'm not sure who got to generics first; although the differences are significant if you like generic programming.

      It's like the differences between French, Italian, and Spanish. If you speak one of those languages, you care about the differences.

      Needless to say, I recently started a project in Java, but quickly switched to C# because this particular project makes use of operator overloading, which Java does not support. Unfortunately, in my case, Mono + MonoDevelop is behind Open Java + Eclipse.

    19. Re:Seriously, who the fuck cares? by Draek · · Score: 1

      No, your link only proves that anything that Java has, C# has an equivalent, it does not prove the converse holds. For instance, where in your link are C#'s lambda expressions? or Properties? two of my favorite C# features, and while the latter may be considered 'trivial' (though boy does it help with Java's terrible readability), the former certainly isn't.

      --
      No problem is insoluble in all conceivable circumstances.
    20. Re:Seriously, who the fuck cares? by binarylarry · · Score: 1

      If you get all excited over minutiae like lambdas and C#'s properties, you clearly aren't writing interesting software.

      --
      Mod me down, my New Earth Global Warmingist friends!
    21. Re:Seriously, who the fuck cares? by Draek · · Score: 1

      If you consider the structure of a 'for' loop important (did you *really* read your own link?) yet dismiss lambda expressions as 'minutiae', you clearly have an agenda to push because not even a complete newbie would say such.

      --
      No problem is insoluble in all conceivable circumstances.
    22. Re:Seriously, who the fuck cares? by binarylarry · · Score: 1

      Good point. .NET is doing frontline R&D in a way and Sun/Oracle can cherry pick what works, which means Java will be behind on features, generally.

      I wonder how this figures into the patent situation. Java "borrowed" the annotations idea (IMO stupid) from .NET. Does Microsoft have any patents relating to VM technologies like Java and .NET, in regards to annotations?

      --
      Mod me down, my New Earth Global Warmingist friends!
    23. Re:Seriously, who the fuck cares? by shutdown+-p+now · · Score: 1

      On the other hand, C# and Java are *very* similar: the most striking evidence of that is the fact that the whole Java syntax can be closely mapped to C# equivalents. C# brings additional features such as delegates, properties, operator overloading and output variables, but these are a little more than syntactic sugar if we consider that the overall design and the language philosophy are completely copied from Java.

      It used to be the case, but C# has evolved a lot. In particular, lambdas have been a very major addition, changing the programming style quite a bit, and making it more similar to what e.g. Ruby coders are used to. Things like:

      string name;
        var person = people.First(p => p.Name == name);

      or even

      Parallel.ForEach(people, p => {
      ...
        });

      In theory, Java inner classes let you do most same things (except for capturing mutable locals), but the syntax is so unwieldy no-one bothers.

      By the way, it's not quite true that C# design philosophy is completely copied from Java. It's definitely broadly similar, but some moments are starkingly different - for example, C# pays much more attention to versioning issues (such a the "brittle base class" problem) - hence explicit virtual/override, unusual method overload resolution in presence of base classes, and many other things that don't look important, but together make a big difference.

      I donâ(TM)t understand why Sun does not introduce a new version of Java retaining bytecode backward compatibility but *without* source-level compatibility. By giving the source files a new extension, say .javapp, one could even mix old code and new code without problems. That would remove the only weak point Java has when compared to C#.

      It exists, it's just called Scala.

      Why Sun won't back it is a good question, though.

    24. Re:Seriously, who the fuck cares? by shutdown+-p+now · · Score: 1

      Wikipedia has a fairly detailed comparison of Java and C# which considers all the latest stable language features (so no C# 4.0 / Java 7).

      By the way, one major thing that C# 1.0 over Java that you forgot are user-defined value types.

    25. Re:Seriously, who the fuck cares? by RightSaidFred99 · · Score: 0, Flamebait

      You're a douche. An old dinosaur douche with outdated computing skills shaking your fist at those young kids with their new "internal combustion engine" and "sanitation" and all those new whatsits. Back in your day men were men, and you didn't need those fancy "technologies", you had your horse driven carriages and your shitting hole!

      I'm laughing at you because you're irrelevant. I've done a lot of Java and a lot of C#. C# wins very handily in the language syntax department, and handily in the vendor provided framework library department. Java wins in the community support and breadth of third party libraries. I actually think Maven is a huge plus for Java too, though some hate it.

      In the end, if you're doing "enterprisey" development .NET is the winner hands down - the messaging support and integration are just leaps and bounds beyond Java.

    26. Re:Seriously, who the fuck cares? by FrangoAssado · · Score: 1

      I hate Microsoft as much as the next guy (I'm primarily a Linux programmer), but saying Java and C# are practically the same is being blind or unwilling to see the truth.

      Java and C# are really very similar in the surface. Microsoft seems to have designed C# to replace Java, so that's hardly surprising. They have literally copied every good idea from Java, but there are many changes and additions to C# (and .NET) that make the languages and VMs very different.

      I actually believe that a lot people working with both think they are very similar, but that's because there's a lot of overlap. If you program in Java, you can start programming in C# right away (the syntax is almost the same, you only have to learn differences in the library). The other way around is a lot more difficult -- C# has a lot of features that don't exist in Java.

      Take generics for example. In Java, generics are a late addition that didn't modify the JVM; this causes many limitations. In .NET, the runtime knows about generics (you can even inspect them with reflection). More important (at least for me) is the ability to use primitive (i.e. value) types with generics. That way you can use

      Dictionary<string,int>

      and be assured that it will be as efficient as possible -- no boxing and no castings happening behind the curtains.

      Another good feature of C# are delegates, very useful for callbacks of GUIs, for example. Java's inner classes are simply too much of a hassle when you compare them to delegates, specially for simple things.

      There are many other features that Java doesn't have (unsigned integral types, using binary logical operators with enums and events are a few that are easy to remember), but this post is too long as it is.

      But don't get me wrong, I also think Java has some strengths. For example, it has a lot more libraries around (if you need it, chances are someone else already wrote it), it runs in a lot of systems, and there's no chance of some day someone claiming a patent and forcing you to stop using it (well, technically this risk exists even for Java, but it seems really unlikely).

    27. Re:Seriously, who the fuck cares? by RightSaidFred99 · · Score: 1

      OK, jackoff. Let's see.

      "Java and C# are very, very similar yet many uneducated folks seem to think they are radically different."

      First, you're begging the question. Who says many folks think they are radically different? What does their being radically different have to do with anything? They're both syntactically derived from C++. They both run in a bytecode interpreter. What's your point?

      I guess it's probably a credit to Microsoft's advertising that lower rung programmers think .NET is some kind of revolutionary technology and not a crippled clone of Java.

      Here's where you go off the rails. .NET is revolutionary, it has completely changed the way people develop software for Windows. Is it revolutionary in terms of its general concept? No. It is revolutionary in terms of its implementation and the cohesive nature of the languages and libraries built on top of it.

      C# is a better language of course than Java, syntactically. Delegates, a runtime generics system and not that hacky compile time shit Java uses, events, etc... So crippled: Demonstrably not.

      More languages are available for the CLR than for Java's VM. So crippled: Demonstrably not.

    28. Re:Seriously, who the fuck cares? by RightSaidFred99 · · Score: 1

      Exactly. C# has tons and tons of very useful features that Java (the language) doesn't. The VM is also more advanced as indicated by the sheer number of languages that have been developed on the CLR.

      If you think the main difference is a capital 'M' I suggest you not comment at all because you don't know what you're talking about and it just makes you (grandparent poster) look stupid.

    29. Re:Seriously, who the fuck cares? by RightSaidFred99 · · Score: 1

      For a small program they would be different. For a large system they're night and day. What some people dismissively call "syntactic sugar" are actually extremely efficient means to improve maintainability, reduce lines of code, and improve performance.

      It cracks me up. I mean I'm sure until Java implemented it the "foreach" construct was just syntactic sugar, right? Delegates - who wants those! Lambda expressions? Bah. Real men write 5 lines of code instead of one! Events? I can do that myself, again why write 5 lines of code when I can write 30!

      C# is the better language - period. That does not mean that .NET is the better platform in all cases - I'm not saying that. But if you look at the language C# is better, as it should be because it's newer and it got to learn from Java's mistakes and shortcomings.

    30. Re:Seriously, who the fuck cares? by RightSaidFred99 · · Score: 1

      For a small program they would be different.

      oops.

      For a small program they would NOT be vastly different.

    31. Re:Seriously, who the fuck cares? by cbhacking · · Score: 1

      The *only* weak point? When did Java get anything that works at all like a function pointer (delegates)? When did it get unsigned integer types (uint16/32/64)? When did it get stack-allocated pass-by-reference data types (structs)?

      Then there's all the unsafe stuff that C# supports and Java doesn't, although in my years with both languages I've very rarely felt a need for any of that, and never actually used it. Would amke porting C/C++ to C# a lot easier than porting to Java, though... Let's not forget LINQ though, that's actually well-worth mentioning. Any equivalent in Java yet?

      --
      There's no place I could be, since I've found Serenity...
    32. Re:Seriously, who the fuck cares? by cbhacking · · Score: 2, Informative

      Unsigned numeric types. Delegates. Structs (stack-allocated complex data types that are passed by value). LINQ. The option of explicit memory management. No stupid restrictions like only one public class per file. Partial classes. Operator overloading (not always good, but occasionally just damn sensible). There's plenty more...

      You can pretty much run a find-replace over Java and get legitimate C#. The reverse is not true. C# >= Java.

      --
      There's no place I could be, since I've found Serenity...
    33. Re:Seriously, who the fuck cares? by binarylarry · · Score: 1

      Hey smart guy,

      The Java Virtual Machine supports more languages than .NET does. And the JVM runs on 10x more operating systems.

      To say otherwise is repeating Microsoft marketing FUD.

      Yours Truly,
      Binary Larry

      --
      Mod me down, my New Earth Global Warmingist friends!
    34. Re:Seriously, who the fuck cares? by binarylarry · · Score: 1

      They're night and day because no one writes large systems with .NET.

      Just ask the London Stock Exchange, haha.

      Fred you so funny!

      --
      Mod me down, my New Earth Global Warmingist friends!
    35. Re:Seriously, who the fuck cares? by RightSaidFred99 · · Score: 1

      The JVM does run on 10x more operating systems. Finally you've said something true!

      Please do a search on ".NET languages" and "Java VM languages". Note that a language _written in Java_ is not the same as a language that sits directly on top of the Java VM or .NET CLR. You'll find you're wrong, and in general being newer the .NET CLR is simply a better platform.

    36. Re:Seriously, who the fuck cares? by RightSaidFred99 · · Score: 1

      See, that's what you're a tech dinosaur. You don't understand software development or systems architecture. You have no evidence that the TradElect failure was related to .NET or Windows issues and not to inherent architectural issues with the product itself.

      Dumb people think if you use a faster language your overall system will be commensurately faster. Architecture is far more important than a language in a distributed system.

      In the end, you're just a dweeby Linux troll and nobody outside, in the real world, gives a shit about your opinions because they're all outdated.

      What I'm saying in a nutshell is you're old and irrelevant and I'd respect your wisdom as one of my elders if your "wisdom" wasn't 10 years outdated.

    37. Re:Seriously, who the fuck cares? by Anonymous Coward · · Score: 0

      You're a douche. An old dinosaur douche with outdated computing skills

      I find it funny that you consider C# a "skill" and simultaneously consider C++ skills outdated. You really think any given C++ programmer wouldn't learn C# in 20 minutes?

      Actually, I think C++ aptitude will remain the more valued one, as C# developers (like Java developers of yore) are filling the drone layer of programming community.

    38. Re:Seriously, who the fuck cares? by binarylarry · · Score: 1

      LOL, you are way out of touch with reality.

      240 languages that target the JVM

      http://www.is-research.de/info/vmlanguages/

      There are *maybe* 100 or so for the CLR/DLR.

      --
      Mod me down, my New Earth Global Warmingist friends!
    39. Re:Seriously, who the fuck cares? by RightSaidFred99 · · Score: 1

      False. 240 "languages" (I saw that link - they're not all languages) that run on the JVM. How many of those are languages natively targeting the JVM and how many are just languages developed in Java. There is a difference, you know.

    40. Re:Seriously, who the fuck cares? by Homer1946 · · Score: 1

      I find it pretty amazing when you mention this to most C# programmers, they'll go on about how different C# is from Java.

      "They" do? Really! Funny, as a C# programmer who has fairly extensive experience with Java, I've never said any such thing. Maybe you should try *not* stereotyping large groups of people, eh?

      I guess I should point out that since the reference poster said most his statement could still be accurate even if you are an exception.

    41. Re:Seriously, who the fuck cares? by mrwolf007 · · Score: 1

      Java and C# have a lot more in common than with C++. You may THINK they are based on C++ and partially you are correct. They both borrow syntax from C++.
      But thats where the similarities end. Both Java and C# (bytecode) are are interpreted via a virtual machine. C++ has direct hardware access. Thats a big fundamental difference.

    42. Re:Seriously, who the fuck cares? by Anonymous Coward · · Score: 0

      Java gained generics in late 2004 (jse1.5) and .NET/C# in late 2005...

      However, C#/.NET is really a platform(windows) bound prettied up java.

      Sure there's mono, but good luck with that...

    43. Re:Seriously, who the fuck cares? by Elektroschock · · Score: 1

      There was J++ and Microsoft wanted to add its own technology stack to Java, so instead of getting conflicts with Sun, they did the right thing with c#.

      C# is a Java competitor and .Net the probably best Microsoft has ever done to clean up the platform. All we need not is patent safety and the recent move is a first step into that direction and we have to ask Microsoft to let more follow.

    44. Re:Seriously, who the fuck cares? by Elektroschock · · Score: 1

      Look, Sun release Java under the GPL when RedHat had almost a fully implemented Classpath implemented under a free license and compilers. http://en.wikipedia.org/wiki/GNU_Classpath

      SUN is paranoid about Java balkanisation. .NET just needs better patent conditions.

    45. Re:Seriously, who the fuck cares? by FishWithAHammer · · Score: 1

      Java had generics first, but C# actually has real generics (and not compile-time crap that can be broken).

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    46. Re:Seriously, who the fuck cares? by peppepz · · Score: 1

      The *only* weak point? When did Java get anything that works at all like a function pointer (delegates)?

      Java does not have them because it enforces object-oriented code design. Which will make any project bigger than a VB form much easier to understand and maintain.
      Their equivalents are anonymous inner classes. They're equivalently ugly, too.

      When did it get unsigned integer types (uint16/32/64)?

      Java explicitly left them out because they're not usually needed and make the arithmetic rules much more complicated. If you want a bigger integer, use a wider one, don't rely on the sign bit to carry information for you.
      Just knowing that unsigned types exist, but ignoring the intricacies of the rules that their existence implies, will lead to more bugs in software, which is what Java tries to avoid.

      When did it get stack-allocated pass-by-reference data types (structs)?

      A "struct" is a class without methods. There's no need to complicate and uglify the language by adding second-citizenship classes. One of the core points in Java is that the programmer needs not to be aware of how the objects he uses are allocated (stack? Heap? A programmer shouldn't worry about the architecture of the VM). The only reason to use them would be *performance*, but Java happens to be more than three times faster than Mono with its current design, so if you really care about performance, you should switch to Java without even thinking about stack and heap considerations.

      Then there's all the unsafe stuff that C# supports and Java doesn't, although in my years with both languages I've very rarely felt a need for any of that, and never actually used it. Would amke porting C/C++ to C# a lot easier than porting to Java, though...

      The whole "unsafe" concept is crap. It breaks every advantage of using a VM. Unsafe code can’t be trusted, so it relies on the underlying operating system for protection, and badly-written unsafe code can trigger bugs everywhere, even in the "safe" code that is using it. It even breaks some assumptions which can be used to improve the performance of the VM.
      That's why "unsafe" code cannot be run by default on .NET. Only signed applications can use it (as it happens with JNI in Java).
      "Unsafe" was only added to .NET to support the abomination called "managed C++", which was fortunately rejected by developers even though MS silently made it the default option for "C++" projects in Visual Studio.
      You even say that you never used it, so I really don't see your point, should a language implement every possible feature, even an unuseful and harmful one like "unsafe", just for the sake of it?
      To interoperate C++ code with Java, we have JNI, which in the end serves exactly the same purposes of "unsafe", but without masquerading dangerous, potentially buggy code as safe, managed code.

      Let's not forget LINQ though, that's actually well-worth mentioning. Any equivalent in Java yet?

      Not having this feature does not prevent Java to be the vastly preferred choice in the enterprise world, where C# has a very low adoption rate.
      Evidently many people who actually work with enterprise software do not really care about it.

    47. Re:Seriously, who the fuck cares? by TheRaven64 · · Score: 1

      Last time I checked, there were 30-40 languages targeting the JVM. Possibly there are a similar number now targeting the CLR, since their semantically very similar and if you can compile your code for one it's relatively easy to port the compiler to the other, but there certainly weren't a couple of years ago when I checked.

      --
      I am TheRaven on Soylent News
    48. Re:Seriously, who the fuck cares? by TheRaven64 · · Score: 1

      Java took C++ and simplified it.

      No it didn't. Java took Objective-C, added C++ syntax and garbage collection. Semantically, Java and C++ have far less in common than Java and Smalltalk. The syntax was adopted purely for marketing reasons; it was easier to persuade C++ people to switch to a language that looked similar.

      --
      I am TheRaven on Soylent News
    49. Re:Seriously, who the fuck cares? by GWBasic · · Score: 1

      Java had generics first, but C# actually has real generics (and not compile-time crap that can be broken).

      Yeah, that's what it is. The Java compiler can infer something about generics so you don't have to type as many class names, but the system is more fragile then C#.

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

    1. Re:This makes no real difference! by slack_justyb · · Score: 2, Informative

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

      All of those operations have been superseded by ECMA-335 4th edition. Which per the CP would be open for implementation. However, that doesn't exclude the possibility that more operations could be added without submitting to ECMA. However, the ones that you have cited are a non-issue.

      Cheers.

    2. Re:This makes no real difference! by miguel · · Score: 4, Informative

      That was a research paper on ILX from 2001.

      The research work from ILX was folded into .NET 2.0 and is part of ECMA 4th edition.

      All of the instructions that you listed are deprecated, they never really made it into .NET, their much improved, polished and battle field tested versions did. And they are the foundation for C#'s generics support and Don Syme's F# compiler, both which run just fine in Mono today.

    3. Re:This makes no real difference! by Anonymous Coward · · Score: 0

      FUD.

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

    1. Re:Implementations in progress appear not covered by Vahokif · · Score: 1

      Mono has implemented the ECMA standards ages ago.

    2. Re:Implementations in progress appear not covered by Anonymous Coward · · Score: 1, Informative
      From Mono's FAQ:

      Q: Will you offer an ECMA-compliant set of class libraries?

      A: Eventually we will. Our current focus is on inter-operating with the Microsoft SDK, but we will also offer an ECMA compliant subset of the libraries.

    3. Re:Implementations in progress appear not covered by tenco · · Score: 1

      (...) 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") [...]

      Interesting. I was already wondering wth a "covered implementation" might be.

    4. Re:Implementations in progress appear not covered by pbhj · · Score: 1

      (...) 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") [...]

      Interesting. I was already wondering wth a "covered implementation" might be.

      I'm guessing one of the provisions is "source code includes a full decimal expansion of pi within the comments, wherein comments must not exceed 1024 bytes in length". Of course that provision is written in a lesser used dialect of Klingon in a Microdot using white pigment on a white background.

  18. Necessary Claims by Anonymous Coward · · Score: 1, Interesting

    Necessary Claims are the patents which can be proven to a court to be infringed by any compliant implementation of the specification.

    Given the incoherent mishmash of vaguely-specific documentation underlying the myriad layers of .Net, it is my considered opinion that this promise is completely and utterly useless. Microsoft needs only to show that your violation lies outside the subset of technologies covered, or that a possible implementation does not infringe their patents. Then your innocently-assumed protection vanishes, to be replaced by a drawn-out legal battle... Or, more likely, another company which happens to possess similar patents randomly decides to sue you.

    At best, this signals yet another small step by Microsoft toward actually competing. More likely, it is a continuation of their cynical gamesmanship, intended only to serve as a continued basis for hindering innovation.

  19. So, let me get this straight... by XB-70 · · Score: 1
    A oft convicted company is now making a 'community promise' - and we're supposed to believe them??!!!

    Grab your ankles, folks, this will hurt us all in the end.

    --
    *** Don't be dull.***
    1. Re:So, let me get this straight... by Vahokif · · Score: 1

      It's legally binding. They can't sue you for using C# or the CLI even if they wanted to.

    2. Re:So, let me get this straight... by bheer · · Score: 1

      This isn't a promise in the sense of "I promise not to cheat". It's a promise in the legally binding sense of promissory estoppel.

  20. Nothing New, Doesn't Help Mono by CritterNYC · · Score: 3, Insightful

    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.

    1. Re:Nothing New, Doesn't Help Mono by Plug · · Score: 1

      -1, Wrong.

      TFA (Miguel's blog post) states:

      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.

      Depending on how you get Mono today, you might already have the this split in house or not.

      Don't want the parts that aren't explicitly patent-unencumbered? Don't use them. But the first half will be enough to run open source apps (such as those for GNOME) written in C#.

    2. Re:Nothing New, Doesn't Help Mono by Daishiman · · Score: 1

      How many times does it have to be mentioned? FOSS applications use exclusively what's under the safe stack + GTK# and other components not shipped in .NET.

      At any rate, that sort of attitude is borderline paranoid. Some sections of Microsoft ARE out to get Linux and FOSS, but .NET is not one of them. It is in their interest that .NET be an ubiquitous platform. We actually do them a favor by promoting a platform where they are the primary vendor, since they're the ones most capable of profiting from that.

      Besides, the case they have against noncompliant .NET APIs is far weaker than what they have against SAMBA and users and consumers of many other Microsoft protocols. If they were to start a direct patent war (which probably going to happen in, well, never) there are much easier and controversial targets.

    3. Re:Nothing New, Doesn't Help Mono by 280Z28 · · Score: 2, Interesting

      What I haven't seen mentioned is very important: even in BCL classes that are covered by ECMA-335, the members you find might not be what you expect. For example, there are no TryParse methods for any of the primitive types, which forces exception handling as flow control. "No one" uses the regular Parse methods in the face of unknown inputs. Honestly, there are a surprising number of items "missing" in the ECMA-335 standard. Originally I wanted to implement it precisely but I found it was hindering my ability to code with good practices. Where do you draw the line.

      There are also some errors in the documentation in the standard. Not some large number of them, but certainly enough to make you wonder how flexible the promise is. Errors range from omissions to ambiguities to a couple instances of clearly incorrect/contradictory statements.

      --
      Turning coffee into code.
    4. Re:Nothing New, Doesn't Help Mono by butlerm · · Score: 1

      It doesn't matter. Such a minor extension is not the sort of thing that is subject to patents. Enforceable patents tend to be about "big ideas" and complex implementations. When has anyone ever won a patent lawsuit over an API? If anything it is the implementation of an API that may be vulnerable to patent claims.

  21. why so happy? by Anonymous Coward · · Score: 2, Interesting

    Why would Miguel De Icaza be so happy if his previous assertions that there is nothing to worry about mean anything?

    1. Re:why so happy? by Vahokif · · Score: 1

      Because now there's a legal basis for it.

    2. Re:why so happy? by Plug · · Score: 1

      Because the guy at Boycott Novell didn't believe him.

    3. Re:why so happy? by Trillan · · Score: 1

      Quite right. You can probably assume he knew this was coming. It isn't like this happened overnight because Microsoft's feelings were hurt.

    4. Re:why so happy? by shutdown+-p+now · · Score: 1

      Why would Miguel De Icaza be so happy if his previous assertions that there is nothing to worry about mean anything?

      Maybe because more people will actually listen to him now?

    5. Re:why so happy? by bigstrat2003 · · Score: 1

      And you've never been happy when you were asserting something was true, and then something came along to make your claim even stronger? Someone's happiness at this event has no bearing on their previous assertions.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
  22. Bidirectional promise not to sue? by MadFarmAnimalz · · Score: 1
    From the Microsoft Community Promise:

    If you file, maintain, or voluntarily participate in a patent infringement lawsuit against a Microsoft implementation of any Covered Specification, then this personal promise does not apply with respect to any Covered Implementation made or used by you

    Is that a patent retaliation clause? Interesting.

    Anyhow, the way I read that, you can't sue Microsoft if they make use of one of your patents in their own implementations, albeit limited to the specifications covered in this initiative. That probably wasn't very interesting in the context of what had previously been released under this scheme (HealthVault Service Specification, UI Automation v1.0 , etc.), but .Net/Mono is much more serious technology and therefore more likely to contain or sprout patents.

    So, considering that isn't it more likely that it's the indie developer (less likely to take out patents on own work) who wouldn't mind this promise rather than any commercial technology provider (more likely to take out patents on own work)? If that logic holds then one effect of this Microsoft initiative would be to prevent the emergence of any real commercial Mono competition to .Net.

    --
    Blearf. Blearf, I say.
    1. Re:Bidirectional promise not to sue? by Vahokif · · Score: 1

      It seems to me that it's a defense for them against overzealous patent trolls. They say it's standard industry practice.

    2. Re:Bidirectional promise not to sue? by moosesocks · · Score: 1

      Actually, when you think of it that way, the GPL functions in the exact same way. Any changes or innovations you make must be returned to the community.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    3. Re:Bidirectional promise not to sue? by recoiledsnake · · Score: 1

      From the Microsoft Community Promise:

      If you file, maintain, or voluntarily participate in a patent infringement lawsuit against a Microsoft implementation of any Covered Specification, then this personal promise does not apply with respect to any Covered Implementation made or used by you

      Is that a patent retaliation clause? Interesting.

      Anyhow, the way I read that, you can't sue Microsoft if they make use of one of your patents in their own implementations, albeit limited to the specifications covered in this initiative. That probably wasn't very interesting in the context of what had previously been released under this scheme (HealthVault Service Specification, UI Automation v1.0 , etc.), but .Net/Mono is much more serious technology and therefore more likely to contain or sprout patents.

      So, considering that isn't it more likely that it's the indie developer (less likely to take out patents on own work) who wouldn't mind this promise rather than any commercial technology provider (more likely to take out patents on own work)? If that logic holds then one effect of this Microsoft initiative would be to prevent the emergence of any real commercial Mono competition to .Net.

      This is more like the GPL vs. LGPL vs. BSD, but for specifications as opposed to source code. Basically, Microsoft is saying that if you take their specs and innovate on top of it, you can't sue MS for copying them without losing your right to the MS patents on the specs.

      --
      This space for rent.
    4. Re:Bidirectional promise not to sue? by Anonymous Coward · · Score: 0

      Not a lawyer, but... " 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â(TM)s implementation of the same Covered Specification. This type of âoesuspensionâ clause is common industry practice." - http://www.microsoft.com/interop/cp/default.mspx A more plain English quote from their website. So your situation is: - Microsoft makes a spec - You take Microsoft's spec and add something to it. - Microsoft implements it . So, now is this in the spec? If its not, then sue ahead (actually don't - we don't need more litigation). If it gets added into the specification (remember, these are ECMA standards - yes, Microsoft is a member), then Microsoft will withdraw their promise with you if you sue them over the specification. So, you can look at it a few ways: - Microsoft sees something that would be useful, tries to get it added to the spec so people will have access to it. - Microsoft sees something that would be useful, tries to get it added to the spec so that THEY SCREW YOU OVER. Brilliant. "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"), subject to the following: 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. If you file, maintain, or voluntarily participate in a patent infringement lawsuit against a Microsoft implementation of any Covered Specification, then this personal promise does not apply with respect to any Covered Implementation made or used by you. To clarify, "Microsoft Necessary Claims" are those claims of Microsoft-owned or Microsoft-controlled patents that are necessary to implement the required portions (which also include the required elements of optional portions) of the Covered Specification that are described in detail and not those merely referenced in the Covered Specification. This promise by Microsoft is not an assurance that either (i) any of Microsoft's issued patent claims covers a Covered Implementation or are enforceable, or (ii) a Covered Implementation would not infringe patents or other intellectual property rights of any third party. No other rights except those expressly stated in this promise shall be deemed granted, waived or received by implication, exhaustion, estoppel, or otherwise." is the promise. So, my interpretation is, There (may) exist Microsoft patents that you need to implement a specification. If you need those patents to implement a specification under this promise, go ahead. Microsoft won't sue you. By putting this specification under this promise, you won't sue us for our implementation of the specification lest you want to withdraw this promise. So, okay, go ahead and extend it. Just don't complain if Microsoft extends CLI/C# back so that it includes that functionality. The mono faq says "Our current focus is on inter-operating with the Microsoft SDK, but we will also offer an ECMA compliant subset of the libraries.". Let's see how this plays out. After all, more people using C# doesn't hurt Microsoft. And adding stuff that people want/use to the language isn't going to do anything but help people. Plus, I don't see Mono intending to destroy microsoft or whatever. And the patents that are likely to sprout are things WRITTEN in C#/CLI. If I have something patentable in say a box, I can sue the box company if they copy whats inside the box. But I can't sue th

  23. But they were all of them deceived.... by gwking · · Score: 4, Insightful

    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.

    1. Re:But they were all of them deceived.... by minsk · · Score: 2, Interesting

      In part I agree with you. In designing C# (and .NET in general), Microsoft correctly identified a lot of the hiccups of Java development.

      Unfortunately, IMO, their solutions were a disaster.

      Erasure-based generics are annoying, but the CE-incompatible hacks of runtime generation are worse. Writing getter/setter for trivial properties is annoying, but limited and buggy syntactic sugar is worse. Having all objects be pointers is annoying, but making structs silently stack-allocated is worse. Needing to use arrays to fake reference parameters is annoying, but side-effects on partial execution are worse. Having to scrunch different languages in to a Java-tailored bytecode is annoying, but the gymnastics required by MSIL are worse.

    2. Re:But they were all of them deceived.... by RightSaidFred99 · · Score: 1

      Disaster? Seems a bit extreme.

      Erasure-based generics are annoying, but the CE-incompatible hacks of runtime generation are worse.

      Huh? I'm not even sure what that means. Java erasure generics plain suck. Not clear on what your second phrase means.

      Writing getter/setter for trivial properties is annoying, but limited and buggy syntactic sugar is worse.

      Huh? How is "public string MyProperty { get; protected set; }" limited or buggy, especially when you can _still_ do your own getter/setter for trivial properties? I'm unclear what the 'disaster' is.

      Having all objects be pointers is annoying, but making structs silently stack-allocated is worse.

      Having all objects be pointers is not annoying unless you're a grizzled old C++ coder who refuses to change. As for structs.. huh? You don't like call by reference but you also don't like call by copy? Make up your mind. And if you don't like it, don't use structs. I've never created a struct type in C# and I've done a lot of coding (most of it "enterprisey" type coding, though).

      Needing to use arrays to fake reference parameters is annoying, but side-effects on partial execution are worse

      As a wise Doctor once told me, if you don't want your code to have side effects for partial execution.. "don't do that."

      Having to scrunch different languages in to a Java-tailored bytecode is annoying, but the gymnastics required by MSIL are worse.

      Right. That's why there are far more languages available for the .NET CLR than there are for the Java VM. Wait, that would be backwards!

    3. Re:But they were all of them deceived.... by minsk · · Score: 1

      Glad you're having a better experience. I'm still going to avoid the wall 'o text necessary to hammer everything in detail, so please forgive my terseness. Everything qualified by "last time I used it":

      Dynamic code on .NET CE, especially involving generics, fails in many entertaining ways. It's comparable to Java ME, but with more silently-wrong behaviors.

      Auto properties fail completely in structs, and can't be used as ref or out parameters. No way to implement only one accessor. No way to hook in change notifications. So basically, nice placeholders until you get to writing the real code.

      Aliasing causes many hilarious logic errors. Doubly so when multiple threads are cooperating. Which might be why the grizzled C++ coders pay attention to it...

      You've got exceptions, you get partial execution. You've got reference parameters, you've got side effects. Well, barring doing all the assignments at the bottom of the method. Which defeats the purpose of the syntactic sugar.

      Actually, the IL gymnastics mostly get pushed into Microsoft's court. The compilers spit out the easy subset, and the .NET runtime then tries to optimize it. This is a far harder problem than native-compiling Java bytecode, so I have some sympathy for the epic failure.

      So yes, disaster. Tremendous effort invested to solve problems in Java. Then more effort to solve the problems from those solutions. Each round piling on more complexity. As much as the sluggish JCP annoys me, they *do* know when to say no.

    4. Re:But they were all of them deceived.... by Mr2001 · · Score: 1

      Having to scrunch different languages in to a Java-tailored bytecode is annoying, but the gymnastics required by MSIL are worse.

      Can you clarify this? I've written several programs that generate IL (including one full-blown compiler for a JavaScript-like language) and I don't recall having to do any gymnastics.

      --
      Visual IRC: Fast. Powerful. Free.
    5. Re:But they were all of them deceived.... by minsk · · Score: 1

      Can you clarify this? I've written several programs that generate IL (including one full-blown compiler for a JavaScript-like language) and I don't recall having to do any gymnastics.

      I suspect you are sticking to the sane subset.

      Generating code for structs requires care. Generating code for generics is downright tricky. And generating code for generic transparent proxies of combinations of generic interfaces made me want to throw chairs.

  24. Its a trick, get an axe! by halfdan+the+black · · Score: 1

    in the wise words of Ash.

  25. What is included? by Chrisq · · Score: 1

    As far as I am aware promises have little legal binding. There is always the worry that they will decide that some element "wasn't covered by the promise" and try to collect royalties, or sue for damages. Is it clear where the "open" libraries end and the "closed" operating system call start? (this is a genuine question; I don't know)

    1. Re:What is included? by moosesocks · · Score: 1

      RTFA. It's legally binding.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
  26. What about the FAT file systems? by WhiteFluffyChest · · Score: 0

    Strange, they are making promises about C# and the CLI but you still can't use the FAT filesystem?

    They tried to sue TomTom for using FAT with Linux only a few weeks ago.

    Microsoft are full of it. You simply can't trust them.

  27. Re:Thank goodness by tenco · · Score: 1

    Why? We'll get a C# compiler, what's bad or unimportant about that?

  28. Another attempt by Microsoft... by mario_grgic · · Score: 0, Flamebait

    to make itself remotely relevant among geeks. But it's too late. I certainly never be using any Microsoft technology or God forbid a language invented by them. Thanks MS, but no thanks. You betrayed all the trust you ever had. Have a long and painful death, bye.

    --
    As the island of our knowledge grows, so does the shore of our ignorance.
  29. The Head of the snake. by sbenson · · Score: 0, Flamebait

    No Matter how sensuously it moves it's tail, it's the snake's head that will bite you.
    (or throw a chair at you.)

    Until the head is removed, I'm not going to play with it.

  30. Java or Mono or Both? by mrpacmanjel · · Score: 4, Insightful

    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.

    1. Re:Java or Mono or Both? by Ed+Avis · · Score: 2, Insightful

      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.

      --
      -- Ed Avis ed@membled.com
    2. Re:Java or Mono or Both? by Abcd1234 · · Score: 1

      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.

      On this topic, I think part of the reason is that Java makes interfacing with native libraries stupidly difficult. Honestly, anyone who's dealt with JNI will understand what a horribly, horribly painful experience it can be. Meanwhile, C# has an excellent native call facility which makes interfacing with native libraries a snap.

      As a result, between this and the ability to create proper, native GUIs, C#/.NET is a much better platform for writing applications that integrate very well with the underlying platform (which is rather ironic when you consider that, originally, it was clear MS intended for C#/.NET to tie the developer down to Windows).

    3. Re:Java or Mono or Both? by mrpacmanjel · · Score: 1

      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.

      OK, I should have clarified the statement "Java has less "patent liability" than Mono". I was referring to the open-source release of Java when Sun publically stated they were in negotaions with third-parties to remove patented/licensed code (I think it was the audio libraries and 2D graphical libraries that were at issue). Microsoft fiercly guard thier intellectual property and the Community Promise excludes other libraries(e.g. ado.net). If they were serious they would have included the other libraries as well. Software Patents are a danger to any software written these days (especially patent trolls and submarine patents).

      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.

      I think mono as a platform has a lot of potential but at present Java seems more "complete". You have two powerful IDEs - netbeans and eclipse (if you like that sort of thing). Mono has monodevelop - which, considering it's age is a great achievement - but for me still unstable.

      I am looking at a software project at the moment and one of the issues are native access to libraries via Java. Compare it to Mono's equivalent (Pinvoke) and it is verrrry painful. This is where mono really shines, hence software like Banshee is possible and gtk# too. On the other hand developing software in Java *and* it's libraries is "safer" because I they encourage the use of thier platform on other environments.

      Personally on technical merit I think Mono edges out ahead of Java. Miguel and his team have done an amazing Job with mono. But if I had to choose a platform to write software here and now I would have to go with Java.
      Hopefully this will change in the future. I just think the Community Promise falls a little short compared to Sun's *public* stance on Java's patent issues.

    4. Re:Java or Mono or Both? by Anonymous Coward · · Score: 0

      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?

      Reverse engineering only works against copyright, since it only covers specific implementations. Patents cover concepts, so simply writing your own isn't an option.

    5. Re:Java or Mono or Both? by Anonymous Coward · · Score: 0

      Nice troll.

    6. Re:Java or Mono or Both? by speedtux · · Score: 1

      Hopefully this will change in the future. I just think the Community Promise falls a little short compared to Sun's *public* stance on Java's patent issues.

      Microsoft has committed to not asserting their patents against *any* ECMA/ISO C# implementation. That makes ECMA C# as open and unencumbered as C, C++, Ada, or any other standardized language.

      Sun has committed only to not asserting patents against their own GPL implementation; any other implementation is fair game for their intellectual property lawyers. And Sun has plenty of patents on Java. That makes Java a highly encumbered programming language.

    7. Re:Java or Mono or Both? by ZachPruckowski · · Score: 1

      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?

      Re-implementation doesn't protect against patent suits, as patents like these basically cover the functionality. While I haven't done extensive research, I'd be surprised if there was a way to unambiguously implement around the patents while retaining compatibility.

    8. Re:Java or Mono or Both? by Ed+Avis · · Score: 1

      Sun has committed only to not asserting patents against their own GPL implementation; any other implementation is fair game for their intellectual property lawyers.

      Not true, as far as I can see: the Java SE licence says 'Sun also grants you a... license... to create and/or distribute an Independent Implementation of the Specification...'. From my reading of the legalese it seems that any compliant Java implementation is covered.

      But remember that not only Sun owns software patents which cover your Java program, and not only Microsoft owns swpats covering your .NET program. A legal risk assessment is not merely an evilness competition between Microsoft and Sun!

      --
      -- Ed Avis ed@membled.com
  31. Is C# / Mono + libraries really *that* good? by Lemming+Mark · · Score: 3, Interesting

    OK, first off it's excellent news if MS are doing this. It would be nice if they did the same for the parts of Mono / .NET that are outside ECMA.

    As far as motivation for this goes, they're a business for whom pure co-operation seems to have dubious benefits. I assume that they believe that in this case more people using .NET is good for them and that they can compete well on the quality of the implementation and debugging tools (probably true if only because they'll have a head start on new features).

    But the question I'm really curious about: CLI / C# / Mono seems to have generated a massive amount of controversy and therefore a lot of noise. Some fairly popular new apps have been written using it. The whole situation seems to suggest that, whilst using the technology was generally considered to have many downsides, it must have pretty large benefits too: it's not just being suggested as a compatibility library but as a foundation for some pretty cool new stuff. So ... is this really the case? Is it that good that you'd want to write your note taking app in it (Tomboy) even though it's possible to write it in another language (i.e. Gnote)? Are the development tools that much better?

    Or is it the case that a few "killer apps" happened to be written in C# as demonstrations of its abilities - even though another language would have done the job - and those apps are sufficiently desirable that Mono is getting pushed hard so that everyone can have these killer apps by default?

    Personally, although I've not programmed in C#, I'm familiar with a variety of languages and implementation strategies. Different languages are certainly good for different things and more modern languages are typically less painful to work with. C# sounds quite nice. But what I'm wondering is: is the noise and push over Mono as a popular platform a result of it being particularly strong, or a result of a few particularly desirable apps depending on it? Obviously some (much!) of the noise generated is simply due to concerns over leveraging MS technology. But I do wonder how good the technology must be to justify this much noise and controversy!

    1. Re:Is C# / Mono + libraries really *that* good? by SpoodyGoon · · Score: 2, Insightful

      Yes they really are that good. Thanks for asking.

    2. Re:Is C# / Mono + libraries really *that* good? by hoggy · · Score: 4, Interesting

      I've used both for serious commercial development and I personally prefer C# to Java. If it means anything, I consider myself pretty impartial, as Java and C# are just two of the dozen or so languages I've worked in and I consider neither to be the most interesting.

      C# and Java are only really similar in the way that you would expect two garbage-collected, object-oriented, C-derived languages to be similar. People who say C# is 95% the same as Java are missing the point: it's the small differences that make one language nicer to use as a developer.

      Your mileage may vary. You should give both a go and make up your own mind.

    3. Re:Is C# / Mono + libraries really *that* good? by Blakey+Rat · · Score: 4, Insightful

      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.

    4. Re:Is C# / Mono + libraries really *that* good? by macshit · · Score: 1, Interesting

      But what I'm wondering is: is the noise and push over Mono as a popular platform a result of it being particularly strong, or a result of a few particularly desirable apps depending on it?

      Neither, really. MS is clearly pushing C#/CLI very hard as the primary Windows development infrastructure -- so if you care about Windows, you probably need to care about them. Miguel is obsessed with duplicating everything MS does, so the Gnome project has put a lot of effort into cloning C#/CLI, but they don't really seem to have gained much traction in the FOSS world. I suspect that besides the patent fear, FOSS has much more solid alternatives than MS users do, and a far more diverse development culture; the general feel of bloat and "one giant do-all blob" that you get from CLI/C# may not be to many peoples' tastes.

      Combine those factors with a general mistrust stemming from MS's hard-won reputation for turning around and stabbing its partners in the back, and things don't seem nearly so rosy for Mono on FOSS as they do for C#/CLI on windows...

      --
      We live, as we dream -- alone....
    5. Re:Is C# / Mono + libraries really *that* good? by Lemming+Mark · · Score: 1

      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.

      Sorry if it sounded like a "slam". I imagine it would seem that way, given some of the crazy opposition Mono advocates sometimes get. But, seriously ... My point is that with Mono advocacy being pushed quite hard in the face of so many kinds of public opposition it must bring pretty amazing technical benefits to inspire such devotion against so much political opposition. Some folks, on both sides, seem to just be digging their heels in for the sake of "being write" which is obscuring the real technical merits of the debate and making the whole thing look pretty murky.

      I've not heard of many majorly popular new applications being written in it beyond the original headliners of Banshee / F-Spot / Tomboy / Beagle. Moonlight, I guess, but I'd say that's essentially "just" a (useful) compatibility layer as it's a reimplementation of Silverlight. This, along with all the noise, is what led me to wonder how much developer demand for Mono there really is, vs "merely" a demand for the existing applications vs an innate desire to propagate a major new project. Note that unlike some I'm not really pushing any kind of conspiracy theory here ;-) I don't trust Microsoft in general but there's quite clearly a large group of people who are, independently, just saying that Mono is good.

      So: I'm aware it's got a more civilised runtime than C or C++ (admittedly not hard!), platform independence (in principle), it's a nice language (is it still nicer than Java? It was when it was new but I was under the impression they'd closed the gap somewhat - modulo some icky technical restrictions on stuff like generics - in recent revisions of Java). I've also understood that the CLI is more language-neutral than the JVM, which is an excellent move and a deficiency Sun should have corrected years ago (though they appear to now be seriously considering doing so). Has the advantage of stricter type checking and, in principle, better performance than more dynamic and interpreted languages like Python and Ruby. It has, presumably, pretty nice bindings to GTK+, etc? I imagine the structure of the runtime helps with debugging, etc, which should make developer's lives easier (though I'd be surprised / impressed if these tools were already as highly developed as Java's - are they?).

      These all sound "nice to have", so I'm curious how well they add up in practice. Do you have an opinion on any killer features the use of C# / CLI or is it just better overall with all the advantages over other platforms adding up and any technical drawbacks not being significant?

      C# / Mono have pretty little effect on me as a developer as I actually do have a legitimate need to work mostly in plain old C (though when programming for fun I use Python because it's quick and flexible for the stuff I want to do). All the same, it's an interesting topic.

    6. Re:Is C# / Mono + libraries really *that* good? by Blakey+Rat · · Score: 0, Flamebait

      But, seriously ... My point is that with Mono advocacy being pushed quite hard in the face of so many kinds of public opposition it must bring pretty amazing technical benefits to inspire such devotion against so much political opposition.

      My wager is that most of the people "pushing" Mono are people who have experienced C# development on Windows, and know how well it works. It's basically a war between the people who want to make great software in a great environment, and the people who only care about "Freedom."

      (Not that Mono is necessarily "anti-Freedom", but that's the way the "Freedom" advocates talk about it.)

      Some folks, on both sides, seem to just be digging their heels in for the sake of "being write" which is obscuring the real technical merits of the debate and making the whole thing look pretty murky.

      From my experience, Mono fans are just trying to write software. The whole political mess comes from the people who actually care about political crap and don't care, as much, about writing software.

      I've not heard of many majorly popular new applications being written in it beyond the original headliners of Banshee / F-Spot / Tomboy / Beagle.

      There are thousands of applications in Windows written in C#, or other .net languages. You need to broaden your experiences.

      This, along with all the noise, is what led me to wonder how much developer demand for Mono there really is, vs "merely" a demand for the existing applications vs an innate desire to propagate a major new project.

      The noise is all coming from people who spend more time arguing about the intricacies of the GPL version 2 vs. version 3 and legal this and allowed uses that and blah blah blah licensing shit real coders shouldn't care about.

      The people wanting to use Mono *just want to make good software* without wasting time wading through licensing shit.

      I don't trust Microsoft in general but there's quite clearly a large group of people who are, independently, just saying that Mono is good.

      That's because it is. Your trust of Microsoft has absolutely nothing to do with whether Mono is good or not.

      The real deal-breaker with Java is that after decades of work, it's still impossible to make a GUI application with native look-and-feel using Java. C#/CLI could do it from day one, and still can on every platform it runs on. Bam, that settles it for me. I don't know enough about Java to address your other concerns, except that Java and CLI aren't mutually-exclusive.

      C# / Mono have pretty little effect on me as a developer as I actually do have a legitimate need to work mostly in plain old C

      If I had to write software in C again, I'd quit.

    7. Re:Is C# / Mono + libraries really *that* good? by YourExperiment · · Score: 2, Interesting

      C# sounds quite nice. But what I'm wondering is: is the noise and push over Mono as a popular platform a result of it being particularly strong, or a result of a few particularly desirable apps depending on it?

      Interesting question. I don't think it's to do with the existence of a few desirable apps. I've had plenty of experience with C# / .NET through work, and it's really very nice to work with. The language, the libraries, the platform and even the development environment all add up to a whole which (to my disappointment) I find much easier to work with than any free alternative I have yet discovered.

      I still try to stay away from proprietary technologies in my personal projects, but I can see why people are excited by the prospect of a truly free version of this toolset. I'd switch to it in an instant if it happened. I don't think this announcement means we're there yet, however. Neither do I hold out much hope, with Microsoft being the way they are, that we will ever truly get there.

    8. Re:Is C# / Mono + libraries really *that* good? by Lemming+Mark · · Score: 1

      My wager is that most of the people "pushing" Mono are people who have experienced C# development on Windows, and know how well it works. It's basically a war between the people who want to make great software in a great environment, and the people who only care about "Freedom." (Not that Mono is necessarily "anti-Freedom", but that's the way the "Freedom" advocates talk about it.)

      Yep, understood. I have some sympathy with the pro-Freedom (with capital "F"!) crowd but also with the pragmatic folks who just want to get stuff done.

      There are thousands of applications in Windows written in C#, or other .net languages. You need to broaden your experiences.

      Ah, now this is a place where our viewpoints are different: I'm really wondering about desirable software implemented on Mono that was facilitated by the use of C# / the CLI. Not what applications use .NET, I'm sure there are plenty of those and I'm not disputing .NET as a platform in general.

      I would be surprised if a Microsoft-developed technology for improving Windows development experience wasn't popular on Windows, since it really seems to me to be the obvious choice and ought to have first class support. Mono is clearly valuable for running good software that was developed for Windows, but that is not what I'm confused about.

      On Linux the APIs for writing software are much more varied (or murky depending on your point of view); there's not an upstream OS vendor saying "We'll give this programming framework excellent support, you should try using it" as there is with .NET, so the choice of using Mono is less obvious to me since you don't get the benefit of guaranteed ongoing support "the mothership".

      If Mono as good or better than the other options for Linux development, then I think it's worth considering. So what I'm wondering is whether Mono itself is desirable for implementing software on non-Windows platforms. The apps I mentioned were not chosen for a lack of experience but because they are all apps that were developed for Linux specifically using Mono. AIUI they're all nicely done, desirable apps that provide fairly compelling features - this is what I mean by their being "killer apps" for Mono. But I've not heard of (m)any other major Linux apps developed using it, which is why I'm curious about the benefits of Mono as a development platform when your primary target is not Windows.

      The noise is all coming from people who spend more time arguing about the intricacies of the GPL version 2 vs. version 3 and legal this and allowed uses that and blah blah blah licensing shit real coders shouldn't care about.

      The people wanting to use Mono *just want to make good software* without wasting time wading through licensing shit.

      Fair enough. I guess I've just not seen much evidence of Linux developers in general using Mono; it'd be nice to find some and get some feedback on the tradeoffs of Mono vs other things they could have used for Linux development. I would like to know in what ways it's good and what projects it would be most suitable for.

      I don't trust Microsoft in general but there's quite clearly a large group of people who are, independently, just saying that Mono is good.

      That's because it is. Your trust of Microsoft has absolutely nothing to do with whether Mono is good or not.

      My point exactly ;-)

      The real deal-breaker with Java is that after decades of work, it's still impossible to make a GUI application with native look-and-feel using Java. C#/CLI could do it from day one, and still can on every platform it runs on. Bam, that settles it for me. I don't know enough about Java to address your other concerns, except that Java and CLI aren't mutually-exclusive.

      Java + QT might help with the GUI side? I've he

    9. Re:Is C# / Mono + libraries really *that* good? by Lemming+Mark · · Score: 1

      Interesting question. I don't think it's to do with the existence of a few desirable apps. I've had plenty of experience with C# / .NET through work, and it's really very nice to work with. The language, the libraries, the platform and even the development environment all add up to a whole which (to my disappointment) I find much easier to work with than any free alternative I have yet discovered.

      Just to clarify, are you talking about the MS implementation of C#, or the Mono implementation? Or are they equivalent in terms of this stuff.

      I'm wondering to what extent .NET would give inherently nicer development features and to what extent MS have just made better development tools for their language than the other language folks have managed to make for theirs.

      I still try to stay away from proprietary technologies in my personal projects, but I can see why people are excited by the prospect of a truly free version of this toolset. I'd switch to it in an instant if it happened. I don't think this announcement means we're there yet, however. Neither do I hold out much hope, with Microsoft being the way they are, that we will ever truly get there.

      It's hard to imagine MS giving up a potential hammer they could use to hit a rival. OTOH, I suppose it is actually promising that they're allowing open implementations of anything at all under any circumstances - not long ago, even that would have seemed a bit surprising. Also, if they believe it gives them a more favourable playing field to compete on, it'll just make good business sense to support Free implementations...

    10. Re:Is C# / Mono + libraries really *that* good? by Anonymous Coward · · Score: 0

      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.

      How does, for example, Scala and the JVM compare to C# and the CLI?

    11. Re:Is C# / Mono + libraries really *that* good? by Draek · · Score: 1

      Yes, it is. Its Java except someone found a way to make it not-so-goddamned-verbose, and add some stuff from Functional languages in a way that fits with the rest of the language.

      But one thing you're missing is that the controversy itself isn't as big as these discusions make it out to be. Microsoft's hypothetical patent portfolio is only a problem if you live in the US (and, I believe, Japan as well) but for the rest of us its just 'features vs features' and that's how we judge, legal safety doesn't come into the picture as both have implementations under the GPL.

      --
      No problem is insoluble in all conceivable circumstances.
    12. Re:Is C# / Mono + libraries really *that* good? by YourExperiment · · Score: 1

      Just to clarify, are you talking about the MS implementation of C#, or the Mono implementation? Or are they equivalent in terms of this stuff.

      I'm referring to the Microsoft implementation. I've not investigated the Mono side of things before now, due to the whole patent issue, so I can't comment as to the equivalence of the two implementations.

      I'm wondering to what extent .NET would give inherently nicer development features and to what extent MS have just made better development tools for their language than the other language folks have managed to make for theirs.

      Some of each - Visual Studio is (in my opinion) a really nice polished IDE, and that certainly adds to the whole experience, but it's the language itself that really impressed me. I'm happy enough coding in a text editor when necessary.

      Also, if they believe it gives them a more favourable playing field to compete on, it'll just make good business sense to support Free implementations...

      Absolutely, but the problems only start when we suddenly realise that Microsoft owns all the best playing fields, and their promise to allow us to play on them free of charge suddenly doesn't look as watertight as it did when they first made it. :)

    13. Re:Is C# / Mono + libraries really *that* good? by Blakey+Rat · · Score: 1

      I would be surprised if a Microsoft-developed technology for improving Windows development experience wasn't popular on Windows, since it really seems to me to be the obvious choice and ought to have first class support.

      Support from Microsoft is incidental to the success of C#/.net. If Sun had released a package with similar capabilities, they'd have had similar success.

      If Mono as good or better than the other options for Linux development, then I think it's worth considering. So what I'm wondering is whether Mono itself is desirable for implementing software on non-Windows platforms.

      Then stop typing long, pointless, Slashdot posts and go make some Mono software. I have no idea what it would take to satisfy you, so you might just have to move your ass and find your own answers at some point.

      Java + QT might help with the GUI side? I've heard lots of people say that Java's GUI programming is rubbish, but QT generally seems to be well-regarded. Usually when I need to knock up a GUI I use Python + QT, which works remarkably well though I've never done (or needed to do) a really big program in it.

      Yes, I've heard of a million tools and tool-combinations to give Java a native look-and-feel, and still I've yet to see a single actual Java application with native look-and-feel.

      When you say CLI and Java aren't mutually exclusive - is there a means of running Java on CLI yet? That sounds doable and would be cool. CLI really could be a unified backend, then.

      There is in Windows: http://www.microsoft.com/downloads/details.aspx?familyid=E3CF70A9-84CA-4FEA-9E7D-7D674D2C7CA1&displaylang=en

      I can't speak to Linux. But there's nothing preventing it except putting the man-hours in.

    14. Re:Is C# / Mono + libraries really *that* good? by shutdown+-p+now · · Score: 2, Interesting

      Simply put, C# is Java with true generics, RAII, full-featured lambdas with short syntax and ability to mutate captured variables, operator overloading, and opt-in low-level operations complete with pointer arithmetic and unions. (This is still a simplification, but it's close enough).

      If you are a Java coder who understands what the above means, and it makes you go "wow gimme!", then welcome to the club (though you may also want to consider Scala in this case).

      If you understand, but it makes you wince, then you're probably a senior Java developer who writes "Hello, world!" as an enterprise JavaBean :)

      If you do not understand, but you know Ruby and like it, and wish Java had at least some of the tasty features of Ruby, you should definitely take a look.

      If you don't understand it at all, then don't bother.

    15. Re:Is C# / Mono + libraries really *that* good? by kucukzambur · · Score: 1

      Sane Java developers call what you described as a "Everything and the Kitchen sink" language and laughs at it.

    16. Re:Is C# / Mono + libraries really *that* good? by shutdown+-p+now · · Score: 2, Funny

      I imagine that sane COBOL developers called Java the same thing. You only need to look around - Java is the only mainstream language that does not support proper lambdas, for example, and does not plan to in the next major revision.

      When even C++ starts looking more modern than your language, it's definitely time to worry.

    17. Re:Is C# / Mono + libraries really *that* good? by Lemming+Mark · · Score: 1

      I would be surprised if a Microsoft-developed technology for improving Windows development experience wasn't popular on Windows, since it really seems to me to be the obvious choice and ought to have first class support.

      Support from Microsoft is incidental to the success of C#/.net. If Sun had released a package with similar capabilities, they'd have had similar success.

      I still think that a recommendation from the world's most successful software company might have something to do with it but OK... It's obviously made a major impression on at least one person (you) so it must be pretty good in its own right.

      Then stop typing long, pointless, Slashdot posts and go make some Mono software. I have no idea what it would take to satisfy you, so you might just have to move your ass and find your own answers at some point.

      I think this thread is probably reaching the limits of what we can achieve, so I may as well go do that. It'd be quite nice to know concretely what it offers to me, developing for Linux, over other languages / platforms I could use instead but maybe, as you say, I should just try it and see if I like it. It'd be good to have the experience, I guess...

      Java + QT might help with the GUI side? I've heard lots of people say that Java's GUI programming is rubbish, but QT generally seems to be well-regarded. Usually when I need to knock up a GUI I use Python + QT, which works remarkably well though I've never done (or needed to do) a really big program in it.

      Yes, I've heard of a million tools and tool-combinations to give Java a native look-and-feel, and still I've yet to see a single actual Java application with native look-and-feel.

      Very true! Only case where it is otherwise is on MacOS, which AFAIK used to have a very strong Java implementation but is now falling behind the times. The Mac Java implementation got rid of all those nasty non-native widgets that AWT and Swing tended to give and displayed pretty Aqua widgets instead. It always looked like Java Done Right to me (plus they had a native Cocoa API available for java apps) but I'm not sure it's quite as good as it was back then.

      When you say CLI and Java aren't mutually exclusive - is there a means of running Java on CLI yet? That sounds doable and would be cool. CLI really could be a unified backend, then.

      There is in Windows: http://www.microsoft.com/downloads/details.aspx?familyid=E3CF70A9-84CA-4FEA-9E7D-7D674D2C7CA1&displaylang=en

      I can't speak to Linux. But there's nothing preventing it except putting the man-hours in.

      Splendid, thanks for the link! That's good to know about and not something I would have known about otherwise. It'd be good to have this available on Linux but presumably Mono will be able to run the resulting binaries anyhow - I do really like that CLI is quite language agnostic like that.

      I guess I'll have to go investigate and see for me self whether Mono is worth the time / effort for Linux work.

      Thanks for your time.

    18. Re:Is C# / Mono + libraries really *that* good? by Lemming+Mark · · Score: 1

      Thanks for your reply! It's really nice to see a summary of why C# users are so enthusiastic!

      Simply put, C# is Java with true generics, RAII, full-featured lambdas with short syntax and ability to mutate captured variables, operator overloading, and opt-in low-level operations complete with pointer arithmetic and unions. (This is still a simplification, but it's close enough).

      If you are a Java coder who understands what the above means, and it makes you go "wow gimme!", then welcome to the club (though you may also want to consider Scala in this case).

      OK, I'm not a Java programmer these days but have worked with it in the past. Most of that *still* makes me go "wow, gimme!". Combined with the ability to run alongside other languages sanely on the CLI that is actually pretty awesome.

      Sounds closer to the power I get with Python whilst still offering me the potential for efficient JIT and arguably better structuring / type-checking at development-time (though I have used tools that help with this issue in Python).

      I'd be a bit skeptical when coding my own stuff over using parts that aren't ECMA / Community Promise protected but I can see that using GTK or QT bindings to such a language must be awesome. I might give it a go ...

    19. Re:Is C# / Mono + libraries really *that* good? by shutdown+-p+now · · Score: 2, Informative

      Sounds closer to the power I get with Python whilst still offering me the potential for efficient JIT and arguably better structuring / type-checking at development-time (though I have used tools that help with this issue in Python).

      It's a fairly close assessment. Of course, dynamic languages offer a lot of power that no statically typed language could possibly offer (just consider the possibility of defining classes and methods inside "if" in Python); and C# is definitely a static language, even though it will get opt-in duck typing soon, mostly to improve interop with dynamic languages (such as IronPython).

      If you want to take a look specifically at the features I've listed (and you're generally proficient with C++/Java language family), here are the links covering them specifically:

    20. Re:Is C# / Mono + libraries really *that* good? by Lemming+Mark · · Score: 1

      Thanks so much for your clear summary of the benefits of C#. Most discussion I've seen on other websites has been sadly lacking in technical specifics of the language and hence not very illuminating.

      I'll take a look at the stuff you posted. I'm particularly intrigued by the mention of first class functions / lambdas since I had no idea C# supported that; it's something I used to wish for back when I programmed Java. I'm not a huge fan of functional programming but I really miss certain functional-inspired features when they're not there! The ability to cleanly interface with raw pointers etc also sounds like it could be useful for systems-type programming, e.g. doing ioctls! - though I have no idea how good Java is at this these days.

      The reason I like Python particularly is that it has generally provided me with a good balance of non-verbose syntax, functional features and nice libraries - C# sounds like it offers similar benefits the same, only probably a bit more strict and with better performance given a decent JIT. That makes it sound like a much more attractive language than I'd ever realised before! Obviously not being fully dynamic is going to lose you some power but that also happens to be the kind of power that I'm generally happier for other programmers not to have in case I have to understand it later ;-)

      I can see much more clearly why developers are positive about Mono if it brings these avantages.

    21. Re:Is C# / Mono + libraries really *that* good? by shutdown+-p+now · · Score: 1

      The ability to cleanly interface with raw pointers etc also sounds like it could be useful for systems-type programming, e.g. doing ioctls! - though I have no idea how good Java is at this these days.

      Java type system is really lacking there - as a strictly verifiable language with no possibility to opt out, it doesn't have pointers or anything like that. Another minor issue is the lack of unsigned integer types (C# has those), but this is more an annoyance, as it just requires extra casting back & forth to achieve the same things.

      When doing low-level interop in C#, you normally just have to redeclare the C function signature in C#, and that's it; e.g.:

      static class NativeMethods {
          [DllImport("libc", CallingConvention = CallingConvention.Cdecl)]
          static extern long write(int fd, void* buf, ulong count);
      }

      A similar thing is available for Java, but it's a non-free third-party product; and, of course, type system mismatch is still an issue, so you have to jump through some hoops to get correct declarations for more tricky C signatures. On the other hand, the only thing that C# can't properly map are C variadic functions such as printf - you can write an separate overload for every combination of variadic argument count & types that you'll need, but you can't write a single generic overload that would just work.

      Speaking of system programming, Mono specifically has some nice stuff available out of the box on Unix-likes.

      The reason I like Python particularly is that it has generally provided me with a good balance of non-verbose syntax, functional features and nice libraries - C# sounds like it offers similar benefits the same, only probably a bit more strict and with better performance given a decent JIT.

      If you like the high-level features specifically, have a look at Scala, too. It builds on JVM (they made a CLR version, too, but that one is hopelessly outdated now) and lets you interop with Java libraries, but otherwise it's a very neat modern language with all the same benefits as C#, and plenty more - functional-style pattern matching, traits, mixins... If C# is one step further than Java, than Scala is one step further than C#. The only annoyance with Scala is that they use crippled Java generics (for the sake of interop).

      The only real problem with Scala is that it doesn't have any corporation backing it. As such, it's not a language widely used in production (though it's definitely feasible to use it so), and its tooling, while mostly good enough, is lacking features when compared to both major Java IDEs (Eclipse, NetBeans...), or Microsoft's .NET offerings such as Visual Studio.

      However, if we are talking specifically of FOSS environment (i.e. non-Windows), then existing Scala tools are quire comparable in stability and features to e.g. MonoDevelop.

  32. UMMMMMMMM. by Anonymous Coward · · Score: 0

    It's a trap!!!!!!!!!!!

  33. Re:Thank goodness by gtall · · Score: 1

    What's bad is that it furthers MS's goal of turning computing into a vending machine that they can tax. Maybe that feels good to you.

  34. Microsoft is NOT contributing to open source by Anonymous Coward · · Score: 0

    This does not adhere in spirit or law to any open source or free software definitions.

    Baically, Microsoft can pull developers into their mindshare-trap, and later they will say: See, you are using our technology, which we developed, you really should contribute back to us, pay us.

    Whereas true sharing, is done without any attribution or demands. Microsoft has still not figured this out yet and should be avoided like the plague by people who care about freedom and open technology.

  35. And here's the link by dzfoo · · Score: 1

    Sorry, forgot to post the link to the FAQ:
            http://www.mono-project.com/FAQ:_General

            -dZ.

    --
    Carol vs. Ghost
    ...Can you save Christmas?
  36. Re:Thank goodness by wisty · · Score: 1

    Also, Mono is reputedly a pretty mean general purpose VM. From a python perspective, Google has beefed up CPython a bit, and the PyPy folk are doing some interesting things with LLVM, and then there is Stackless and Shedskin. But i's always good to have lots of backends bumping around. New backends (and the benchmarking that people do on them) often reveal bottlenecks.

    Also, bindings in Mono could be a good Rosetta Stone for interpreted languages to interoperate with. Every time I see a library that has been hand wrapped for Python, Ruby, Perl, Erlang, Java and half a dozen other languages, I have to repress a gag reflex. There should only be 2 bindings - one for Java and C#(with all their Design Pattens), and one for people with things to do.

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

    1. Re:Promissory estoppel ftw by speedtux · · Score: 1

      The promise includes the term "irrevocable". If Microsoft were to revoke it, it's not that they have resumed their original position, it's that they have never honored the promise at all.

      Furthermore, the people affected by this is not the Mono developers (who developed prior to this promise), but the people who now adopt Mono because of this promise. If Microsoft were to revoke their promise, these people can't "resume" their original position because they can't magically get back the money they invested in developing software based on Mono.

  38. Mono is now free to follow it's own path. by mrpacmanjel · · Score: 2, Informative

    Thinking about it, the Community Promise is a huge win for Mono.

    The Patent Trap was always a concern when I used Mono. I knew the external libraries ado.net, asp.net and winforms were "tainted" but was always unsure about the "core" on Mono itself.

    Now that the "core" of Mono seems to be free from the patent threat from Microsoft Mono can take a new "patentless" path and develop equivalent versions of the libraries not mentioned in the Community Promise.

    You won't be able to run Windows .net stuff (legally/safely) on Linux but you would be able to run Linux .net stuff on Windows.

    GTK# seems to be a mature gui frontend the only major missing part is .ADO library for data access (unless something is already out there).

    Mono does not *have to* follow Microsoft's upgrade treadmill and keep up-to-date compatibility with the latest version of .net instead concentrate on delivering applications on other systems - Linux, non-windows arm-based processors and macs.

    In the end Mono could embrace, extend and extinquish Microsoft's own implementation.

    1. Re:Mono is now free to follow it's own path. by WhiteFluffyChest · · Score: 1

      In the end Mono could embrace, extend and extinquish Microsoft's own implementation.

      I very much doubt you could get ahead of Microsoft in development or marketing, Mono will always follow behind and be a heap of paranoia for many Linux developers.

  39. One question by SoulRider · · Score: 1

    Does Microsoft control this "Community Promise"?

  40. Promise? by 12357bd · · Score: 0, Troll

    Promises from a convicted mono-polist?

    As others have already said: Thanks, but NO thanks.

    --
    What's in a sig?
    1. Re:Promise? by 12357bd · · Score: 1

      Thanks, but don't forget the base meaning of 'promise'.

      --
      What's in a sig?
  41. Sorry, but I just have to laugh by erroneus · · Score: 0, Flamebait

    When I see the words "Microsoft" and "Promise" together it just raises a comical sensation somehow. Perhaps it doesn't with many, but I am the typical Slashdot-Microsoft-hater for better or worse. I just don't trust Microsoft to not hold some strings somewhere or this to not be some sort of trap. Microsoft doesn't trust the market to choose Microsoft or its products to compete fairly against others. Instead, it typically needs to control the market and reduce competition in order to maintain its profit and position. They are the "Dick Dastardly and Muttley" (from the Wacky Races cartoon) of the technology marketplace. I have always found it ironic that they [D.Dastardly and Muttley] could somehow get in front of all the other racers in order to set some sort of trick or trap to slow down or knock out the other racers, but they can't simply take the lead and keep it. (Is it wrong that a 5-year-old child at the time had such thoughts watching these cartoons instead of just enjoying the slapstick action?) Microsoft is the same to me in this way. They have enormous resources and quite likely a vast arsenal of talented and creative people. They have more than enough of "the right stuff" to compete and win in the marketplace. But instead, they use their resources and creativity to cause other people to fail or otherwise harm others in the marketplace.

    Obviously differences between the Dastardly Duo and Microsoft emerge on comparison as well. Microsoft actually manages to win most of the time.

  42. Might it be good in court? by JSBiff · · Score: 1

    I wonder if a lawyer could comment on this. . . if Microsoft *tried* to sue me in court after making this promise, could I hand this to a judge and ask the judge to throw out the lawsuit on the basis of this promise? If so, then this is as good as a license from Microsoft, isn't it?

  43. Erasure-based generics? by dzfoo · · Score: 1

    Wow, I didn't know Vince Clarke programmed computers as well as synths!

            -dZ.

    --
    Carol vs. Ghost
    ...Can you save Christmas?
    1. Re:Erasure-based generics? by glenstar · · Score: 1

      They tried the version from Andy Bell and it was a flaming disaster.

  44. broken promises by Anonymous Coward · · Score: 0

    And, Microsoft has NEVER broken a "promise", has it? Only when it suits its purposes...

  45. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  46. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  47. Re:Thank goodness by Abcd1234 · · Score: 1

    That'd make Mono pointless, though.

    Weird, considering that Tomboy, for example, is built using "just the ECMA spec (plus its own extensions in its own namespace)"...

  48. But of course... by SpinyNorman · · Score: 3, Insightful

    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.

    1. Re:But of course... by Mr2001 · · Score: 1

      It helps spread adoption of Microsoft's proprietary standards

      Actually, this announcement is another nail in the coffin of the theory that C# or CLI are in any way "proprietary standards" (which, if you think about it, is a term that doesn't make much sense to begin with).

      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.

      They can't "change" a standard that's already been submitted and published. That would be like changing the King James Version of the Bible: the KJV is a known quantity and anything different is not the KJV. Whatever they published in its place would be a new standard: the existing C# standard won't just disappear, and they can't stop anyone from using it.

      As for extending it (publishing a new standard)... no one's forcing you to adopt the future changes at all, and certainly not at the expense of compatibility. If you want cross-platform compatibility, stick to the existing standard. This should be obvious. It's what developers in most other languages already do: if you want to write a cross-platform C application, you don't use features that are only supported by one compiler, and you don't use features proposed for the next version of C until they've been standardized and supported by multiple vendors.

      --
      Visual IRC: Fast. Powerful. Free.
    2. Re:But of course... by FishWithAHammer · · Score: 1

      C# and the CLI are ECMA standards and therefore not proprietary, dumbass.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    3. Re:But of course... by SpinyNorman · · Score: 1

      Yeah, and that has nothing to do with who owns the intellectual property rights. Same for h.264.

      Dumbass.

    4. Re:But of course... by FishWithAHammer · · Score: 1

      Mono doesn't pretend to support .NET in its entirety. .NET 3.0/3.5 are only implemented where it remains faithful to what appears to be coming in the upcoming ECMA 334/335 revisions.

      If Microsoft extends it, Mono might follow through, if it looks beneficial to them. But they certainly haven't with WPF (only Moonlight, which is a protected subset that falls under the Community Promise).

      Microsoft owns .NET. They don't own the CLI.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    5. Re:But of course... by SpinyNorman · · Score: 1

      So you think that Mono are more interested in interopability with EMCA apps than .NET ones?

      Nothing will force Mono to implement .NET extensions that go beyond the EMCA standard... other than total irrelevance if they don't implement the moving target of what the bulk of .NET apps are using.

    6. Re:But of course... by FishWithAHammer · · Score: 1

      Miguel has said they're splitting Mono into two releases: the ECMA-compliant one (which F-Spot, Tomboy, etc. use) and the .NET-compliant one (with WinForms, etc.). The latter of these is not covered by the Community Promise (though personally I don't think it matters all that much, Microsoft isn't going to sue despite all the fearmongering), but is available if you want it.

      While Mono began as ".NET for Linux," Mono is becoming much more than just that. It's turning into much more of a Java competitor, and doing so very successfully. It runs on the PS3, Mac/Linux/Windows, iPhone, and is almost working on Android.

      Even if they woke up tomorrow and yanked all WinForms support because of Microsoft, it wouldn't bother me at all. I use Qyoto for Qt bindings for all GUI work, and that's cross-platform between Windows, Mac, and Linux. I don't use ASP.NET (I prefer PHP for web apps), and there are fine database implementations that aren't ADO.NET.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    7. Re:But of course... by SpinyNorman · · Score: 1

      That's interesting - I didn't realize that people were using it for it's own sake.

    8. Re:But of course... by FishWithAHammer · · Score: 1

      Sure! There's a lot of Mono development going on. Look at Banshee, F-Spot, and Tomboy. They're pretty nice GNOME apps--Banshee in particular is a really nice music player, I like it a lot. MonoDevelop is also a C#/Mono application, and while not up to NetBeans's standards, it's made a lot of progress in a relatively short period of time.

      Since Mono is a Covered Implementation (Microsoft wrote this primarily to cover them!) and these applications do not use any non-ECMA Microsoft-derived libraries, even the Ubuntu complaints about them not being Free Enough(tm) should fall off quickly.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
  49. personal promise only by sugarmotor · · Score: 1

    I think the language is quite weak, and could be stronger if they wanted. Quoting from http://www.microsoft.com/interop/cp/default.mspx:

    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.

    Using you is suspiscious to me. There are lots of legal entities to which you doesn't apply.

    Then there is a huge caveat

    If you file, maintain, or voluntarily participate in a patent infringement lawsuit against a Microsoft implementation of any Covered Specification, then this personal promise does not apply with respect to any Covered Implementation made or used by you.

    I read this to mean as long as you don't bother us, you can use this-and-that. Notice the word used at the end. The FAQ says

    This type of "suspension" clause is common industry practice

    However, it never ever appears in "open-source-licenses" that I know of.

    Stephan

    --
    http://stephan.sugarmotor.org
  50. what Microsoft needs to do by RobertLTux · · Score: 1

    just so we have solid proof they need to gather together all of the stuff that they have under this "community promise"
    and then etch the following onto titanium plates

    1 the exact wording of the "Community Promise"
    2 all of the code/concepts that are covered under the community promise
    3 a machine readable copy of the source code (data glyphs maybe) with human readable chunks for failsafe (maybe on a left side right side basis

    make like three copies of the plates and give one copy to the GNU foundation one copy goes in the national archives one copy stays with MS and if they try to sue over covered code HIT THEM WITH THE PLATES

    --
    Any person using FTFY or editing my postings agrees to a US$50.00 charge
  51. Re:Thank goodness by Anonymous Coward · · Score: 0

    Why? You've still got GTK# and Qt bindings, quite useful I would say.

  52. Re:Thank goodness by Dr.Dubious+DDQ · · Score: 1

    That would explain why the "Gnote" fork of Tomboy was apparently easy enough to implement in C++ instead - which suggests that the use of Mono (rather than C++) was, while not necessarily outright "pointless", at least "unnecessary".

  53. Re:Thank goodness by Abcd1234 · · Score: 1

    That would explain why the "Gnote" fork of Tomboy was apparently easy enough to implement in C++ instead - which suggests that the use of Mono (rather than C++) was, while not necessarily outright "pointless", at least "unnecessary".

    Use of *any* high-level language is "pointless" if your definition is whether or not you can translate the application to C or C++. They're all turing complete languages, after all...

    The real question is, does C# and .NET provide you with tools and features that make programming more productive. My experience, having used Java, C, C++, C#, and a variety of other languages, says the answer is a resounding "yes" (hell, proper, integrated garbage collection, alone, makes a language like C# or Java worth it, IMHO).

    'course, if you ask me, anything that allows someone to avoid the clusterfuck that is C++ is a boon to the industry. ;)

  54. The stench of microsoft by Pausanias · · Score: 3, Funny

    It still has what one slashdot poster called 'the stench of microsoft' on it. Even if microsoft GPLs the whole stack, there will always be that feeling of disgust in those of us who are old school.

    1. Re:The stench of microsoft by Anonymous Coward · · Score: 0

      It still has what one slashdot poster called 'the stench of microsoft' on it. Even if microsoft GPLs the whole stack, there will always be that feeling of disgust in those of us who are old school.

      Such people are idiots (and usually aren't actually developers themselves, just fanboys) who let ideology get in the way of writing great software.

    2. Re:The stench of microsoft by recoiledsnake · · Score: 0

      One of the markings of a true software zealot is unable to objectively appreciate good design just because it's from the other camp. Please do not try to disguise zealotry as being of 'old school'.

      --
      This space for rent.
    3. Re:The stench of microsoft by Dragonslicer · · Score: 1

      It still has what one slashdot poster called 'the stench of microsoft' on it.

      Yeah, but nobody pays attention to twitter and his sockpuppets anymore.

    4. Re:The stench of microsoft by Draek · · Score: 1

      Not old school enough, obviously, to avoid using an IBM-designed platform.

      --
      No problem is insoluble in all conceivable circumstances.
    5. Re:The stench of microsoft by jipn4 · · Score: 1

      I agree, but I recommend just holding your nose; the technology is worth it.

      Linux had the stench of AT&T and caught on anyway, and Java has the stench of Sun and IBM. Did that stop you?

    6. Re:The stench of microsoft by jmorris42 · · Score: 1

      > It still has what one slashdot poster called 'the stench of microsoft' on it.

      Yes, there will always be that. And it has some validity in that Microsoft will be the only one driving changes to the platform.

      But if they really follow through on this thing we pretty much have to accept it. A lot of people think 'managed code' is so wonderful they are willing to ignore the so far unsolved problems with it. A couple of years ago the choices were Java, ruled with an iron fist by Sun and Mono ruled by FUD from Microsoft. So along with the technical issues were legal problems as well, yet thousands of programs were being stuffed on sourceforge in both language/platforms. After years of false starts and promises Java is now Free. If Microsoft actually follows through (and that is ALWAYS a big IF) Mono will also be Free.

      We will have to be careful not to use anything outside of the license but with the Mono team already working to split the Free from the free that should not present undue problems.

      --
      Democrat delenda est
    7. Re:The stench of microsoft by giuseppemag · · Score: 0

      Like we not caring young people are used to do, we'll just wait for you guys to grow old enough and finally die, finally taking the 70s with you...

      --
      My book: Friendly F#, fun with game development and XNA; my game: Galaxy Wars by VSTeam; my gamedev language: Casanova.
    8. Re:The stench of microsoft by BitZtream · · Score: 1

      I'm sorry, GPL isn't oldschool, even if it has been around longer than you've been alive. That just makes you young.

      Lets see:

      GPL created: 1986 http://www.free-soft.org/gpl_history/

      Microsoft founded: 1975 http://en.wikipedia.org/wiki/Microsoft

      You must be old school, you've gotten so old you forgot what actually happened.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  55. Re:Promissory estoppel ftw -- Not so fast by automandc · · Score: 2, Interesting
    Yes, that is all well and good, but you need to read the actual 'promise' before you leap to conclusions. It is (in my opinion) somewhat vague. For example, they promise not to assert "necessary claims", which are defined as:

    those claims of Microsoft-owned or Microsoft-controlled patents that are necessary to implement the required portions (which also include the required elements of optional portions) of the Covered Specification that are described in detail and not those merely referenced in the Covered Specification.

    Of course, anyone who thinks they can "design-around" a patent will claim that the patent is not actually "necessary" to the desired function. In order to enjoy this "promise" you have to confess that the only way to achieve the standard is to infringe on a valid MS patent.

    Another potentially worrying point is this exception:

    If you file, maintain, or voluntarily participate in a patent infringement lawsuit against a Microsoft implementation of any Covered Specification, then this personal promise does not apply with respect to any Covered Implementation made or used by you.

    So..., anyone who even "participates" in a patent suit against MS (including, presumably, a patent suit filed by MS), loses protection for not only their own products, but anything they "use." For example, if FSF got into a dust-up with MS, MS could still claim infringement by FSF (or anyone else) for using Mono, even though MS has chosen not to pursue the authors of Mono or other Mono users. Referring to it as a "personal promise" also calls into question its applicability to businesses/organizations.

    I am being overly paranoid, but the fact is, like so many other legal "promises", the value of this one will only be seen in the implementation. As a cynical lawyer, I don't see anything here that absolutely precludes MS from asserting infringement by Mono or any other OSS project. If Microsoft truly wanted to be benevolent they could easily make a much broader promise with less grey area. For example, they could name the patents that they claim to cover the specs in question and offer royalty free licensing, or make a non-assert pledge with some actual teeth. All they are saying here is "we probably, maybe won't sue you unless we do."

    --
    I'm a lawyer with excellent karma. Something's gotta be wrong.
  56. Re:Thank goodness by ClosedSource · · Score: 1

    If the definition of a "pointless" language/framework is that it's applications can be ported to C++, then Java, Perl, Python etc are pointless too.

  57. Awesome I can now embed mono by Anonymous Coward · · Score: 0

    This is fantastic news.

    We're building a QT app and one of the decisions we had was whether or not to embed mono to host our applications 'data' and 'controllers' which would do all the processing web service calls, etc.

    With the patent threat now lifted (we're not using any non ecma libs) we can have the best of both worlds, a fast C++ gui hosting a highly productive and maintainable core.

    Thanks to all who helped make this happen.

  58. Re:Thank goodness by IBBoard · · Score: 1

    And Gnome Do, Banshee, F-Spot and other more complex stuff than Tomboy? How easy would they be to port (feature complete) to C or C++?

    I'm doing some work at the moment on a personal project. The back-end is core C# only, and eventually I'll add in Mono.Addins, which can be redistributed and used on MS's .Net and are part of Mono. There's a System.Windows.Forms front-end made through Visual Studio (because it's the only way to get a decent GUI editor for it). There's a GTK# front-end made through MonoDevelop (because S.W.F on Linux is ugly). Everyone on either side gets everything they need, and I get a nice and productive language to work with that has extremely useful features (garbage collection/memory management, good event hooks, delegate methods, easy extensibility, etc).

  59. Re:Thank goodness by IBBoard · · Score: 1

    How can you tax something that is an open standard? If I write an app using core C# (which is an ECMA standard) and possibly some of Mono's extensions, how can Microsoft tax that? And given that I could have written it in Linux to work on Linux to do exactly what I want, how is adding a new app that does something new "turning computing into a vending machine"?

  60. A Promise? by nurb432 · · Score: 1

    Or a contract?

    People break promises all the time. I'd hate to be left holding the bag if they change their mind down the road.

    --
    ---- Booth was a patriot ----
    1. Re:A Promise? by FishWithAHammer · · Score: 1

      This is a form of promissory estoppel, which amounts to a legal defense. In layman's terms, there are no backsies allowed on this promise, and the courts will enforce that.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
  61. Because.... by cratermoon · · Score: 1

    This is new and different! Microsoft has never before made intentionally vague and obtuse promises and later broken them!

  62. Re:Thank goodness by CarpetShark · · Score: 1

    'bout time. Perhaps now, RMS will shut up about it.

    So it's about time they did this, but you're insulting the guy who probably had a lot to do with making it happen?

    One of the biggest mistakes you'll ever make in life is not knowing your friends from your enemies. I'd suggest a rethink.

  63. Re:Thank goodness by Anonymous Coward · · Score: 0

    And Gnome Do, Banshee, F-Spot and other more complex stuff than Tomboy?

    I don't get what's so complex about Gnome-Do. In fact, it looks like an app that should have been imlemented in Python (to make it easy to write plugins)

    How easy would they be to port (feature complete) to C or C++?

    C is a stupid strawman here. Nobody is porting anything to C.

    Everyone on either side gets everything they need, and I get a nice and productive language to work with that has extremely useful features (garbage collection/memory management, good event hooks, delegate methods, easy extensibility, etc).

    Obviously, C# does all of this worse and Python, though it has a faster vm.

    I find it funny how kids these days think C# brings something new to table. They don't have what it takes to do it in C++, but require the safety wheels of static typing in order to keep their spaghetti manageable.

  64. Re:Thank goodness by bucky0 · · Score: 1

    Or you could use SWIG it's already got C#/java, etc.. bindings.

    --

    -Bucky
  65. Who cares by Anonymous Coward · · Score: 0

    C# and .CRAP are proprietary mickeysoft junk. Nobody with any self respect or skill would use any of these. Java by it's cross-platform, open source nature should be the language of choice for REAL professionals (as opposed to hobbyists).

  66. Re:Thank goodness by Abcd1234 · · Score: 1

    Obviously, C# does all of this worse and Python,

    "Obviously"? According to whom? Python's reference-counting GC has certainly been hit-and-miss (eg, in the past it's handled cycles very poorly... not sure if it's better now). Events and delegates are basically equivalent (although Python more or less requires seperate named methods... it's lambda keyword is utter shit). Both are extensible.

    Honestly, I think the worst thing to happen to Python is the influx of newbs who seem to think Python is the programming language equivalent of the second coming of Christ. Does it do some things well? Yes. Does it do some things extremely poorly? Hell yes.

    I find it funny how kids these days think C# brings something new to table. They don't have what it takes to do it in C++, but require the safety wheels of static typing in order to keep their spaghetti manageable.

    And I find it funny how kids these days think Python brings anything new to the table. They don't have what it takes to do it in Lisp, but require the safety wheels of mandatory indentation in order to keep their spaghetti code readable.

  67. Still a Trap and Not Free by Requiem18th · · Score: 1

    You are not protected under the promise if you ever sue MS for patent infringement, so you are basically surrendering all of your --and all of your user's-- patent portfolio to them in exchange for an *incomplete* platform license.

    --
    But... the future refused to change.
    1. Re:Still a Trap and Not Free by sugarmotor · · Score: 1

      I think the patent infringement needs to be related to a "Microsoft implementation of any Covered Specification".

      See

      http://www.microsoft.com/interop/cp/default.mspx

      If you file, maintain, or voluntarily participate in a patent infringement lawsuit against a Microsoft implementation of any Covered Specification, then this personal promise does not apply with respect to any Covered Implementation made or used by you.

      Not sure what that means; it sounds quite complicated to me. In particular, can the list of "Covered Specifications" change later?

      Stephan

      --
      http://stephan.sugarmotor.org
    2. Re:Still a Trap and Not Free by Requiem18th · · Score: 1

      Well that sounds much better, but as you say, if Covered Specifications can change it is still threat.

      Also IANAL but I feel like I have to clarify why I think it affects your users too, if a piece of software is illegal to produce in the US due software patents use of that software becomes illegal too even if you didn't produce the software, so it seems that users too must hold a license to the patent.

      --
      But... the future refused to change.
    3. Re:Still a Trap and Not Free by sugarmotor · · Score: 1

      Better may not be good. The promise is too complicated for me to think that it is good.

      Stephan

      --
      http://stephan.sugarmotor.org
    4. Re:Still a Trap and Not Free by prockcore · · Score: 1

      The same could be said of the patent clause in GPL.

    5. Re:Still a Trap and Not Free by Requiem18th · · Score: 1

      The restrictions in the GPL make things more free by simply ensuring everybody has access to the code and its patents, "we" have already discussed that at nausea.

      Or you got this brilliantly original idea that the GPL is somehow unfree?

      --
      But... the future refused to change.
  68. What? by C_Kode · · Score: 1

    What? Mono is no long in question about infringing on Microsoft licensing anymore? Bah, Then I'm not using Mono anymore then! :P

  69. Yeah, yeah, yeah. You know the word estoppel by Anonymous Coward · · Score: 0

    Once we separate the jargon and the self congratulatory guff you put in to big up your legal eagle skills, it boils down to, they made a promise and you're telling us that we can consider it to be a... er, a promise - which is pretty much what we understood before you opened you gaping gob.

    1. Re:Yeah, yeah, yeah. You know the word estoppel by FishWithAHammer · · Score: 1

      A legally binding promise. That matters.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
  70. Elvis says by Anonymous Coward · · Score: 0

    "You aint nothing but a Tomboy, crying all the time."

  71. wrong by jipn4 · · Score: 1

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

    That is all that's needed because that's all regular Mono applications use.

    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.

    Mono uses Gnome for the GUI, sqlite and MySQL as a database, etc.

    ASP.NET, ADO.NET, Winforms etc. are provided by Mono only for Microsoft compatibility, but most people don't use them or even install them.

    C# is not Java and it's not intended to be like Java. C# is more like C and C++: a programming language and a standard library, with different platform specific libraries on different platforms. That's one of the things that many people like about C# compared to Java. The fact that Microsoft may claim intellectual property on Winforms and ADO.NET is no more relevant to Linux programmers than the fact that Microsoft may claim intellectual property on Win32.

    1. Re:wrong by Bert64 · · Score: 1

      If it has platform specific libraries which many people use and are encouraged to use, then the end result is anything but cross platform... It's just another form of lock-in.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    2. Re:wrong by Elektroschock · · Score: 1

      "C# is not Java and it's not intended to be like Java. C# is more like C and C++: a programming language and a standard library, with different platform specific libraries on different platforms."

      Yes, it is.

      "ASP.NET, ADO.NET, Winforms etc. are provided by Mono only for Microsoft compatibility, but most people don't use them or even install them."

      These are the relevant tools for .Net compatibility and their implementation is premature and you have the patent problem.

      If Microsoft resolves the patent problem I am sure many will go and adopt Mono.

    3. Re:wrong by Mr2001 · · Score: 1

      If it has platform specific libraries which many people use and are encouraged to use, then the end result is anything but cross platform... It's just another form of lock-in.

      By that logic, C/C++ programmers are all the victims of "lock-in" too, and to a much greater extent than C# programmers. Care to rethink this argument?

      --
      Visual IRC: Fast. Powerful. Free.
    4. Re:wrong by jipn4 · · Score: 1

      If it has platform specific libraries which many people use and are encouraged to use, then the end result is anything but cross platform...

      Good. That's a big advantage of Mono over Java.

      It's just another form of lock-in.

      I'd rather be locked into Linux than locked into Java.

    5. Re:wrong by jipn4 · · Score: 1

      Yes, it is. .NET is Windows-specific and Mono is Linux-specific.

      If Microsoft resolves the patent problem I am sure many will go and adopt Mono.

      There is no "patent problem", and many people are already adopting Mono.

    6. Re:wrong by Elektroschock · · Score: 1

      Didn't Miguel just acknowledge that Winforms, ADO.NET and ASP.NET are not part of the Microsoft patent indemnification program, and he would split Mono into two packages?

      The best way to resolve it of course would be to knock at Microsoft's door and ask them to indemnify more.

      And the problem with these patent pledge is that they are still premature and you don't know their applicability in court.

      With SUN unexpected release of GPLed code for Java I don't see why Microsoft should be less progressive with patents. Of course it is always a transformation process and with Microsofts move to the cloud many old nasty paradigms are overcome and more developer friendly internal policies adopted.

  72. If Miguel had existed instead fo Stallman by Anonymous Coward · · Score: 1, Interesting

    If Richard Stallman had never existed and instead Miguel had taken his place, there would have been no gcc, no Emacs (Ok, maybe that would have been an improvement), no FSF, no GPL, no Linux. Miguel would have gone back to university so that he could get the green card to work for Microsoft (more openly) and Slashdot would not have been built. All the open source applications, if they existed at all would have been written to run on Windows with the predictable result that they somehow would never have been quite compatible with the OS they were running on. The cost of Microsoft applications would now be more expensive through lack of competition. Gates would still be CEO and Ballmer would never have danced the monkey dance. Microsoft Word would be mandatory and Open Office would not exist.

    Miguel and his fellow Mono proponents are trying their hardest to make Linux and other open source products dependent on Microsoft technologies in a game where Linux is guaranteed to always be playing catchup. It benefits them as vice presidents and developers in the company which signed the deal with Microsoft but it doesn't benefit the Linux community as a whole.

    I don't agree with everything that Stallman says, but I at least, can trust that what he says is what he thinks. I wouldn't trust Miguel as far as I could throw him - which, I concede, owing to the insubstantial nature of his frame, might be further than expected.

  73. Re:Thank goodness by gtall · · Score: 1

    It moves the computing world closer to MS controlled and controlling technologies. ECMAs standards mean nothing, when MS decides to take the standard in a new direction, it will go there.

  74. the facts are different by jipn4 · · Score: 1

    All the OP said was that right now if you want to play it safe with patents you pretty much have to avoid using most of the features that probably drew you to Mono/.NET in the first place.

    I doubt it. Monodevelop doesn't even support Winforms and the .NET compatibility libraries aren't even installed on Debian and Ubuntu. You have to jump through hoops in order to use them.

    Furthermore, none of the end-user Mono applications on Ubuntu use .NET compatibility libraries. Evidently, all the people who actually develop Linux desktop applications in Mono do so using native Linux APIs.

    1. Re:the facts are different by Locutus · · Score: 1

      so you have the company controlling the compiler design and features and who markets all their .NET libraries as they way to develop software with C#. The company spends billions annually on advertising and marketing. And it is a good idea to use this compiler and runtime to develop software for Linux? Isn't this like using the Java JVM but not use any of the java.* libraries? You get what the JVM brings you but you miss out on millions of lines of code which makes it so much easier build OOP apps on. Wasn't C# and the CLI created because Microsoft needed Java to stop cross platform development? So now Microsoft says you can use C# language and the CLI but doesn't say you can freely use the libraries. What a great deal. You can't ride the trolley with everyone else and must walk the line instead and to make matters worst, you're walking inches next to the "third rail". You also have Microsoft ready to push you on that third rail at any moment. It just doesn't sound like a smart thing to chance and a waste of a whole lot of development time and effort.
       

      LoB
       

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    2. Re:the facts are different by hairyfeet · · Score: 1

      So in other words Mono is useless as it won't be able to run that program originally written for .NET on Windows without jumping through tons of hoops that may or may not work, yes? And why would someone want to write for this when there are actually cross platform languages that will actually work across OSes and don't have a patent hammer hanging over its head like Java?

      Seriously I am curious to understand what the appeal is. From what I've seen except for a few programs (like that damned ATI driver, WTF?) most of the things using .NET are similar to the freeware that back in the day was written for VB6. Since Linux doesn't have a shortage of free programs and implementing .NET according to you equals jumping through hoops and you may still not be able to run that .NET app without stepping on MSFT patents I really just don't get it. What is the appeal, aside from MSFT spending lots o' cash on marketing .NET?

      --
      ACs don't waste your time replying, your posts are never seen by me.
    3. Re:the facts are different by jhantin · · Score: 1

      So how is this much different from the situation of Microsoft's red-headed stepchild, the Compact Framework? No ASP.Net, no WPF, no binary serialization, no CodeDom or System.Reflection.Emit, no useful marshaling, worthless AppDomain support, a wimpy client-only WCF, even WinForms is half-assed. (I can only assume that because of space considerations, only half of an ass would fit!)

      --
      ...when you're writing a game...tweak the difficulty of "Easy" to something [your mother] can cope with. -- onion2k
    4. Re:the facts are different by jipn4 · · Score: 1

      And it is a good idea to use this compiler and runtime to develop software for Linux?

      Sure. C and C++ worked the same way.

      Isn't this like using the Java JVM but not use any of the java.* libraries?

      No, it's like using C with Gtk+.

      Wasn't C# and the CLI created because Microsoft needed Java to stop cross platform development?

      I don't give a damn about Java or why Microsoft created C#. C# is a nice language to use with Gnome on Linux, that's all I care about.

      You also have Microsoft ready to push you on that third rail at any moment. It just doesn't sound like a smart thing to chance and a waste of a whole lot of development time and effort.

      Tell me: do you people get paid for spreading this kind of FUD or do you simply not know any better?

    5. Re:the facts are different by jipn4 · · Score: 1

      So in other words Mono is useless as it won't be able to run that program originally written for .NET on Windows without jumping through tons of hoops

      Bullshit. Mono applications on Linux don't use .NET, they use Gnome and other FOSS libraries.

      Seriously I am curious to understand what the appeal is.

      It's a good language with an open standard and excellent Linux libraries.

      If you don't get it, just don't use it. Stop spreading FUD about it.

    6. Re:the facts are different by hairyfeet · · Score: 1

      Uuuhhhh....you Do know we are talking about a language controlled by MSFT who just now went out of their way to very carefully spell out that the EMCA parts and ONLY the ECMA parts are covered by their "do not sue" yes? Do you think that they went so far out of their way to cover ONLY the EMCA parts is to protect freedom and puppies?

      Considering we are talking about the same company that just tried to bone TomTom and Linux over the FAT "patents" I think we have EVERY right to point out when MSFT purposely leaves a "gotcha" in the implementation. Last I looked one of the big selling points on Mono was to allow .NET apps to be deployed on non MSFT OSes, but as I think I have just demonstrated that there is NO way to do so without walking right into the MSFT patent minefield.

      And if you want to write .NET so badly, why would you want to risk a MSFT patent lawsuit screwing Linux at a later date when you can just use Windows, which is what it is made for? It isn't like Linux has a shortage of programming languages that you can use absolutely free and don't have the sword of Damocles hanging over their head like Mono does. Do you think the Mono team is splitting it in two because they think it will be a fun way to spend six months? Nope, they are doing it because by MSFT's wording today we have seen that only the EMCA parts are "safe". And again, why would you want to risk seriously boning Linux at a later date like that?

      I may be a Windows repairman, but I also believe in using the right tool for the job. Linux has been a good influence on MSFT (just see the 180 they did on XP and Netbooks when Linux started to gain ground there) and turning Linux into a potential patent bomb, especially when it means trusting a company whose own CEO has said in the past Linux infringes MSFT IP seems like the height of stupidity. Is .NET and Mono really so damned good that it is worth taking that risk? Really? Because from the amount of resistance I have seen there are many Linux users who would answer that question with a big fat NO! If MSFT truly believes they will not use their patents on .NET to crush Linux at a later date, then set the whole stack free. Otherwise it is just another patent timebomb just waiting to go off.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    7. Re:the facts are different by jipn4 · · Score: 1

      Do know we are talking about a language controlled by MSFT who just now went out of their way to very carefully spell out that the EMCA parts and ONLY the ECMA parts are covered by their "do not sue" yes?

      That's all I care about.

      Do you think that they went so far out of their way to cover ONLY the EMCA parts is to protect freedom and puppies?

      I assume they may sue over the non-ECMA parts. Good for them. It doesn't affect me or most other Mono users.

      And if you want to write .NET so badly,

      I don't want to write .NET code at all.

      Is .NET and Mono really so damned good that it is worth taking that risk? Really?

      I think .NET sucks. I like Mono.

      If MSFT truly believes they will not use their patents on .NET to crush Linux at a later date, then set the whole stack free.

      I think .NET sucks, so I'm happy with the current situation, where ECMA C# is free and the non-ECMA parts are not. That's pretty much the same situation as with C and C++ today.

      If the non-ECMA parts were free, then C# would turn into the same kind of turd as Java, with people trying to write "cross-platform code" using .NET APIs and the result applications would look and work horribly on Linux.

    8. Re:the facts are different by Locutus · · Score: 1

      I never knew C or C++ to be tied to patented libraries and marketed with and for the use of those libraries. I know many developed libraries you could license but the compilers were not designed with the same extensive libraries as Java or MS .NET
       

      FYI, I didn't think much about Microsoft or their technology at first but over the years, it became quite clear that Microsoft's motives and actions can damage or limit your livelihood. FYI, it's not FUD, it's from over 20 years of experiencing Microsoft's business methods and being forced to change jobs because of their actions.
       

      LoB
       

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    9. Re:the facts are different by hairyfeet · · Score: 1

      So what you are saying is this...I don't like MSFT .NET but I DO like the Linux version of....well MSFT .NET. I'm sorry, but that really makes no sense. That is like saying I hate the Ford Taurus but I just love the Bored Borus, which is the Chinese attempt at a knockoff of the Ford Taurus.

      Here is the Wiki on Mono, which as you can read is pretty much centered around being .NET compatible. Considering I quit counting how many times they mention .NET at 30 I think it is safe to assume they are pretty much focused on .NET. Even the first line says its goal is to create a .NET compatible set of tools. While you only care about the EMCA parts, how many actual in the wild .NET apps will run on that and ONLY that? I'm guessing the number would be pretty darned low.

      So that means to get to what the actual stated goal is, to be .NET compatible, means that you will HAVE TO risk a walk through the patent minefield, since it is the "other stuff" that actually makes it functional. Which means if it gets popular that is gonna leave a whole bunch of FLOSS vulnerable to MSFT patents. Considering the CEO has gone on record saying he believes that Linux is already an infringer, do we really want to give him more ammo?

      So while your interest may truly be in the EMCA parts alone, you might want to tell that to Mr. Icaza who is building the thing and pretty much has a serious thing for .NET. And the simple fact that instead of tossing the non EMCA parts they are gonna bundle it into an "other" pile which I am sure will end up needing to be installed along with the "safe" parts to actually have a functional app should give anyone a reason to pause.

      Lets be honest here-if MSFT truly didn't want it to be a "gotcha" that could have added such in writing. It isn't like they don't have some major IP lawyers on staff or that this wasn't brought to their attention. So that leads me to conclude the ONLY reason to be so specific in their wording was so they will have an extra club to bash Linux over the head with in case Win7 bombs or Linux starts gaining ground. Considering how quick they are to let loose with the patent trolling over something as old as FAT I just don't think C# is worth the risk.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    10. Re:the facts are different by jipn4 · · Score: 1

      So what you are saying is this...I don't like MSFT .NET but I DO like the Linux version of....well MSFT .NET. I'm sorry, but that really makes no sense.

      No. What I'm saying is that I like ECMA C# and I like the Gnome and Linux APIs. And that's what Mono delivers and that's what ships by default with Linux distributions.

      Here [wikipedia.org] is the Wiki on Mono, which as you can read is pretty much centered around being .NET compatible.

      You shouldn't believe everything in Wikipedia.

      So while your interest may truly be in the EMCA parts alone, you might want to tell that to Mr. Icaza who is building the thing and pretty much has a serious thing for .NET.

      Icaza is running a company. They want to sell .NET compatibility to companies that have invested a lot of money in .NET apps but find Windows too expensive to deploy. That's why they keep talking about .NET compatibility. That's not the way FOSS users use Mono.

      Lets be honest here-if MSFT truly didn't want it to be a "gotcha" that could have added such in writing. It isn't like they don't have some major IP lawyers on staff or that this wasn't brought to their attention.

      I see far fewer legal concerns with Mono than I see with most other platforms right now: Microsoft has made a legally binding commitment to keep ECMA C# free and open, and if any third party holds any patents on ECMA C#, they are going to go after Microsoft, not Mono. And I don't have a problem if they go after anybody for the non-ECMA parts. That's Icaza's business risk; it doesn't affect me or most Linux users.

      Java, in contrast, is heavily patented by Sun and Sun has been going after other implementations legally. With the new C, C++, Python, Perl, Ruby, etc., it's anybody's guess what submarine patents people may hold on them.

    11. Re:the facts are different by HiThere · · Score: 1

      I'll stop saying bad things about mono when either of two things happens:
      1) I become convinced that it's BOTH a safe and reasonable choice. (So far I don't see either.)
      2) It stops being installed by default when I install a Gnome desktop.

      Removing it after it's installed appears to me to be legally questionable. You've still installed something you shouldn't have had on your computer, and you don't have any proof that you never used it.

      So far it doesn't look like either condition is met. Nobody seems to be able to tell me why C# is better than the other choices, and I'm not convinced that it's safe. (After the promise becomes finalized, this may change...depending on exactly what is said, and exactly who says it.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
  75. facts are different by jipn4 · · Score: 3, Informative

    Even for a Linux enthusiast, the Visual Studio/Winforms stack is much more tempting for ambitious projects.

    All Mono desktop applications that ship with Ubuntu are based on Gtk#. Winforms isn't even usually installed.

    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.

    VisualStudio and Winforms are proprietary and simply aren't a choice for Linux desktop applications (even if they didn't suck).

    1. Re:facts are different by BitZtream · · Score: 1

      VisualStudio and Winforms are proprietary and simply aren't a choice for Linux desktop applications (even if they didn't suck).

      Okay, for just a second, turn off your inner fanboy.

      Now, rationally and factually, without your own personal bias and agenda, please explain to us why they aren't a choice for Linux apps and why they suck.

      If you have an out right oversion to proprietary apps then you're just a dipshit. Every argument you can come up with translates almost directly to opensource equally for anyone who isn't a programmer.

      Yes, you can patch and fix OSS yourself if you know how, unfortunately 99.9% of the population doesn't have a clue how to do it, which makes the whole argument nil from a practical standpoint unless the app you want patched is popular enough to have someone else patch it.

      As a general rule, any proprietary app of the same level of popularity isn't going to vanish either regardless of what happens to the company. It'll get sold or continued until its not of enough interest to matter.

      So again, please explain rationally and factually why they suck and why they aren't a choice. And just like the GPP, I use Monodevelop and VS on a daily basis, some times side by side, and think you've probably not used VisualStudio if you're going to make such statements. I can see how you may prefer Monodevelop over VS for several reasons, but saying VS sucks? Not really seeing that.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:facts are different by jipn4 · · Score: 2, Interesting

      Now, rationally and factually, without your own personal bias and agenda, please explain to us why they aren't a choice for Linux apps and why they suck.

      For VisualStudio: it's hard to learn, needlessly complex, commits numerous user interface sins (modal dialogs, bad layouts, etc.), and developers are not very productive in it. For Winforms: apart from numerous niggly technical issues, they are not native to Linux and don't work quite right on Linux. It's the same problem Java has on Linux (and then some). Furthermore, Gtk# is natural and familiar for Linux programmers while Winforms is not.

      But, in any case, neither of them are a choice on Linux anyway because they aren't distributed with Linux distributions.

      If you have an out right oversion to proprietary apps then you're just a dipshit.

      I don't have an "outright aversion". I just think VisualStudio and Winforms are bad. There is some proprietary software I use, despite the hassles.

      and think you've probably not used VisualStudio if you're going to make such statements.

      There's another thing you're wrong on.

      I can see how you may prefer Monodevelop over VS

      Fortunately, the world doesn't come down to just those two choices. But, yes, given the choice, I prefer Monodevelop.

    3. Re:facts are different by HiThere · · Score: 2, Interesting

      I have frequently had proprietary applications that I depended on stop being produced. Frequently it wasn't because the company went out of business, even, but merely because they wanted me to buy their latest product.

      Now I generally prefer to avoid proprietary products. Moving to Linux has made this practical. This doesn't solve everything (I was appalled when I was switched to KDE4 from KDE3. KDE4 is abysmal by comparison. Fortunately there's Gnome, which while it isn't as good as KDE3 is better than KDE4...except that it install mono by default. But that can be removed without causing problems, to the extent that I wonder what political manuvering was used to get it made a default install. Given that it's pushing MS (an application developed in mono can run on MS without critical problems, and the converse isn't true, because the MSWind developers will use libraries that aren't available elsewhere), I really don't think that it should be pushed by Linux distributions. It's against their best interests. If you need an interpreted cross-platform language, why not use Java. (Or Python, but Java is faster, at least unless you use Swing.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
  76. Re:Thank goodness by RightSaidFred99 · · Score: 0, Flamebait

    You're stupid, that's all. And you've never written a large program in C#. You can write much, much cleaner more maintainable code in C# compared to C++ simply because the language constructs are more powerful. Same with Java. C++ is a dead(*) language and you're a fucking dinosaur if that's all you know.

    * By dead, I mean stagnating in use. It's still got its uses obviously, as do C and assembly. But it's largely becoming a specialized language.

  77. I'm confused by ThatsNotPudding · · Score: 2, Insightful

    Does this announcement fall under the Embrace phase, or the Extend phase?

    1. Re:I'm confused by Jartan · · Score: 1

      Embrace and Extend is something they use on other peoples standards. Since it's their standard though they need us to embrace it so they can then extend it to create lock-in. Thus this is part of the embrace stage.

  78. Re:Thank goodness by Anonymous Coward · · Score: 0

    Events and delegates are basically equivalent (although Python more or less requires seperate named methods... it's lambda keyword is utter shit).

    They are nowhere near equivalent. You can trivially create a proper closure callback next to the callback registration.

    Your lack of clue about lambda betrays your understanding (or lack thereof) of subject matter. You realize that you can call your function "la" (or whatever), right? And you can do it as many times as you want. You sound like one of those "OMGZ RuBy on Rails is object oriented11!" dudes.

  79. get real by speedtux · · Score: 3, Informative

    Java has less "patent liability" than Mono.

    Sun has lots of patents on lots of aspects of Java. The only area where you *may* be safe is if you use Sun's own implementations.

    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?

    Most people who develop with Mono develop using standard Linux libraries, libraries that are free of any hint of Microsoft patents. That's one of the things that makes Mono so attractive.

    prefer Mono - especially Banshee ... Without the other libraries I fear Mono is hamstrung.

    Banshee, like almost all Mono desktop apps, is based on Gtk#, not Winforms.

    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.

    IKVM runs Java inside a CLR. It also neatly avoids Sun's patents.

  80. Re:Thank goodness by Abcd1234 · · Score: 1

    They are nowhere near equivalent.

    What the hell are you talking about? In Python, to create an anonymous closure to register with a callback, you use lambda or a nested function definition. With C#, you create an anonymous delegate. What you end up with is a lexical closure. It's the exact same fucking thing. Although, as I already mentioned, Python's lambda keyword is basically useless in this context, as it can't encapsulate multiple lines of code, and they're limited to very simple statements, so you're basically stuck with the nested function approach.

    Note, I should point out that Python's lexical closures are slightly different to C#'s... in that they're more limited. In Python, closed variables are read-only, while in C#, that limitation doesn't exist (as it should be... it's a stupid limitation).

    As an aside, this is a great illustration of why Python really is an excellent example of someone trying to re-invent Lisp... badly.

    Your lack of clue about lambda betrays your understanding (or lack thereof) of subject matter.

    Funny, I was going to say the same thing about you...

  81. Is Mono really worth it? by itomato · · Score: 1

    Why engineer and implement this stuff at all, if there's so much stink swirling around? Is anything based on or leveraged from C# really worth all the hassle and in-fighting?

    Does Mono address the biggest issues with (pick your slant here) software development, FOSS/Linux acceptance, or provide the Holy Grail of application implementation?

    Are there not bigger challenges and better ways to get there than by riding on the coat tails of an organization of such questionable repute (when looking at business, programmatic, protective and innovative methodologies) as Microsoft?

    The whole Novell/Mono/Tomboy/Ububtu drama is spreading everything more thinly and creating bitter factions - developers, users, distributions, observers.

    My question is, honestly, is it really worth it?

  82. What about the future? by TaQ · · Score: 1

    Here is something to think about:
    Q: Does this CP apply to all versions of the specification, including future revisions?
    A: The Community Promise applies to all existing versions of the specifications designated on the public list posted at /interop/cp/, unless otherwise noted with respect to a particular specification.

    Does Microsoft conspicuously fail to answer its own question?

    1. Re:What about the future? by TaQ · · Score: 1

      They are moving fast:
      The CP is, and will be, available to everyone now and in the future for the specifications to which it applies.
      Seems that there were a lot of changes since the announce yesterday. How can we know when the final version is released?

  83. Mod parent up. by Jartan · · Score: 1

    I wish I had points to give you. I think this announcement is interesting but I want to see relevant discussion about the actual legal ramifications. Everyone is suddenly acting like they GPL'ed the standards or some crap. I'm no lawyer but I'd sure like to see someone from the EFF explain what this all really means. I have a great interest in C# but not if it's encumbered.

    1. Re:Mod parent up. by Anonymous Coward · · Score: 0

      Promissory estoppel

  84. Re:Thank goodness by Anonymous Coward · · Score: 0

    You're stupid, that's all.

    I can't help thinking it's the C# *people* that are annoying, which the statement above sort of summarizes.

    I wish you guys had kept writing your windows programs instead of poisoning the open source community with your presence.

  85. Re:Thank goodness by Anonymous Coward · · Score: 0

    Good luck with that wish, dinosaur.

  86. Re:Thank goodness by jmorris42 · · Score: 1

    > If the definition of a "pointless" language/framework is that it's applications can be ported
    > to C++, then Java, Perl, Python etc are pointless too.

    True enough. What would settle the question is if someone wrote an automated tool to machine translate C# to C++. With a tool to make native binaries from any C# source it might then be safe to say C# was pointless... except then the question would be which one was easier to write and maintain. If the C# were easier AND could be efficiently translated via C++ into a native executable it still wouldn't be pointless. The CLR would then be pointless.

    And of course even if the C# to C++ translator never happens you can bet somebody will do a C# to Parrot implementation.

    --
    Democrat delenda est
  87. Re:Thank goodness by Mr2001 · · Score: 1

    ECMAs standards mean nothing, when MS decides to take the standard in a new direction, it will go there.

    What the hell does that even mean?

    If you develop a program for .NET 2.0, it'll run on Mono today, and it'll still run on Mono next year. If Microsoft publishes a new specification for C# 5.0, your program won't suddenly stop working. No one will force you to adopt language features that haven't been standardized yet.

    If you decide to adopt "C# 5.0" features before they're standardized, then you're voluntarily giving up cross-platform compatibility, and you have only yourself to blame. Just like if you decide to use vendor-specific extensions or platform-specific libraries for C/C++ or any other language.

    --
    Visual IRC: Fast. Powerful. Free.
  88. Be wary of Microsoft by keneng · · Score: 1

    They can say "I promise to be open-source friendly." until they are blue in the face. It won't change my perspective that in the long-term, Microsoft's only aim is to undercut any of the advances GNU/Linux has made in reducing their "Operating System" product market share and "Applications" product market share and Microsoft is especially focused in regaining the revenue stream from U.S. gov contracts. Linux is making huge advances in that gov contract market share these days. Recently when discussing Linux versus Windows with some windows users over supper, the argument the applications are free in Linux was brought up. The gentleman I was talking to gave the the on-the-level answer to me: "Well Windows and all the Windows applications are free for me, too!" Then he started laughing. I'll tell you when I used MS products, I paid for them. This man doesn't understand that he is taking away the ability for future generations to learn from experience of "looking under-the-hood" and seeing how everything works in the windows operating system and all of the applications he uses. He doesn't understand Microsoft's long-term strategy is to reduce the importance of open-source in order to regain the government tax dollars that fuelled them in the first place.

    It's important to continue gaining the momentum of open-source without confusion/dependence on Microsoft source-code. From what I understand Microsoft only promise to not sue anyone for using c#/cli, but as soon as someone starts using other MS stuff, I'm sure hook/line&sinker MS will take those people to court. This in turn will take away all of the momentum open-source will have gained if people thought using MS code was ok. WAKE UP AND SMELL THE COFFEE. USING MICROSOFT SPECS AND CODE FOR ANYTHING IN OPEN-SOURCE LINUX LAND IS NOT OK. MICROSOFT IS UP TO SOMETHING. BE WARY OF MICROSOFT. For as long as Microsoft is in business, individual digital freedoms will be at risk of being compromised in order for corporations to be given the upper hand in terms of DRM(Digital Rights Management).

  89. Re:Thank goodness by FishWithAHammer · · Score: 1

    Strange, I've written plenty of code in C++. I also vastly prefer C# because it lets me concentrate on getting the code done rather than worrying about the thousand stupid gotchas of C++. It actually makes programming enjoyable, as opposed to C++, which is a chore.

    If there was a language as pleasant to use as C# that didn't use Mono (and no, Python isn't it, and neither is Vala), I'd use it. But there isn't, so I use C#.

    If you don't want people to use C#, then provide a better alternative. None currently exists.

    (Oh, and writing plugins for Gnome-Do is ridiculously easy.)

    --
    "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
  90. Re:Seriously by mixmasta · · Score: 1

    (honestly, without proper anonymous closures, I feel crippled as a programmer... as a tool for building clean, reusable, modular code, they're simply invaluable)

    Feel like elaborating on that? I've been doing programming on the side for years, with most of the common languages, and I don't even know what that means .... (/grin)

    --
    #6495ED - cornflower blue
  91. Until ... by unity100 · · Score: 1

    company policy changes ....

  92. why mono by smash · · Score: 1
    ... and why not put more work into openstep?

    Objective-C is nice, gorm is a workalike to interface builder.

    Microsoft have everything to lose. Apple have plenty to gain by Microsoft's loss. Openstep has plenty to gain by Microsoft's loss/apple's gain.

    OpenStep is a fine platform, but barely anyone seems to be developing for it. Everyone just wants to copy windows.

    I'm putting my money where my mouth is too, Have just finished reading a book on Objective-C, bought a Mac Mini, and am going to stick OpenStep on the PC so I can get my feet wet with cross-platform application development for OS/X and OpenStep.

    But serious question... why is Openstep apparently shunned so much? There seems to be so much wheel re-development going on, when we could have a platform that is reasonably common between OpenStep, Mac and Iphone...

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    1. Re:why mono by smash · · Score: 1

      brain fart... openstep = gnustep. i'm going to run gnustep...

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  93. Re:Legally Executed Agreement? by FishWithAHammer · · Score: 1

    Except that this promise is legally a case of promissory estoppel.

    So you're full of shit.

    --
    "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
  94. Re:Promissory estoppel ftw -- Not so fast by QX-Mat · · Score: 1

    You make some excellent points. I'm worried about the wording too, specifically "participate". PE will not operate if the promise is unclear. By releasing a potentially ambiguous promise like this they are making their own cause of dispute.

    A clause to revoke the "personal promise" for participation in legal action is not particularly new, but the more I consider it the more it worries me. It is qualified by 'voluntarily', making the clause somewhere bare for the principle party, because being sued is not voluntary, thus it would rarely operate. In other words, should MS decided to sue someone, this clause would not extinguish the promise. So far-so-good for individuals, PE is your Jesus.

    The clause would come into action if someone decided to sue MS for a "patent infringement lawsuit against a Microsoft implementation of any Covered Specification". Unless they can prove duress (and the need for action) so to render the clause unfair, they risk loosing the protection offered by PE. Surely this will prevent many individuals from suing MS? In other words this appears to be a cunning lure to prevent people suing MS and participating in such suits.

    Far more sinister is the fact that "voluntarily" would encompass aggrieved 3rd parties. Should a 3rd party join a suit against MS, their action would revoke this promise, and they would be unable to rely on it in the future as the base of their defence in equity, leaving them as liable as the claimant.

    A possible disaster scenario:

    • MS revoke their promise with good notice - possibly addressing it to only one individual (i.e.: Novell).
    • The communities and defendant are paralysed because they cannot show a reliant position much different from what we have now, and thus unable to claim that the promise is irrevocable for a defence of PE.
    • MS decide to take action for violation of their patents. Defendants cannot claim PE. Defendants who try to rely on the promise and fail may be liable wilful infringement (triple damages)
    • Users/developers/small children move away from Mono (etc.) implementations to .Net/C#, and this causes the defendants loss of revenue. Other individuals cannot 'voluntarily' help the defendant because they risk loosing their protection under the promise

    Matt

  95. That woud redeem them somehow. by jotaeleemeese · · Score: 1

    If MS would GPL anything at all, they would receive the credit they would deserve.

    As it is, they aren't, they just continue to muddle the waters with licenses that nobody else is using.

    --
    IANAL but write like a drunk one.
  96. Patents. by jotaeleemeese · · Score: 1

    And the fact that MS's CEO has said they are willing to use their alleged patents against Linux, as well as their back stabbing agreements with Novell, Xandros and others.

    We have been told in clear, unequivocal, no uncertain terms that Linux is in the cross-hairs, but here you are, still asking what the fuss is all about when it comes to technology being pushed by that company.

    --
    IANAL but write like a drunk one.
    1. Re:Patents. by FishWithAHammer · · Score: 1

      Exceeeeeeept that this is a form of promissory estoppel and as such is quite literally the only legal defense needed regarding Mono.

      If you're not using ASP.NET, ADO.NET, or Winforms (and GNOME's Mono applications do not), you are covered.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    2. Re:Patents. by dzfoo · · Score: 1

      And that's fine--exceeeeeeeeeept for the fact that Mono has yet to be split into the patent-friendly Core and lawsuite-magnet Frameworks; de Icaza just announced that this will be done, as a result of Microsoft's current promise.

      You see, the point is not that Microsoft's promise is bullshit; it's legally binding, fine. The problem is that, so far, de Icaza and the Mono supporters have been claiming (or hoping) that Mono is free from patent hassles because of some alleged ambiguous comments from Microsoft. It has now been clarified by Microsoft, sure, but their Community Promise specifies only what amounted to a subset of Mono: the core implementation of ECMA standards. The fact that the Mono distribution will now be split into these two factions is telling. It means that they were hoping everything would be covered, and were operating under this assumption.

      And that is what a lot of people were (and still are) unhappy about.

      Sure, everybody who's been using Mono with compatibility libraries for Winforms, ASP.NET, ADO.NET, etc. can switch to the non-Microsoft owned frameworks offered by the Mono project. But perhaps this removes the advantage that they thought Mono offered them. Most likely, they'll install Windows on their servers instead of Linux, and go back to Microsoft's .NET technologies.

      Anybody who uses Mono just for the CLI and C# implementations, like some in the Linux community do, can continue with their work merrily and safely. But Mono will then be useful as just that: Just another competing development platform. A good one, it's true, but just another one of many available to the Open Source community. It will therefore have to survive on its technical merit alone.

      As I see it, gone is the advantage of being able to run your .NET applications on Linux. For as much as the Linux (and Slashdot) community want to ignore it, the primary attraction of Windows developers to Mono was the cross-platform compatibility feature of the entire framework--not just the C# language. Most of those who develop for Windows will use .NET, and have been using (or would have used) Mono in order to run their applications on Linux. That is a significant chunk of potential mind-share and developer support culled at the stroke of Microsoft's legal pen.

                -dZ.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
    3. Re:Patents. by FishWithAHammer · · Score: 1

      The fact that the Mono distribution will now be split into these two factions is telling. It means that they were hoping everything would be covered, and were operating under this assumption.

      That's not being done because of anything within Mono. It's being done to shut people like you up. That sounds harsh, and isn't intended to be flamebait, but seriously: that's the only real reason. This has been planned for a while, since well before the Community Promise was updated to reflect the current situation. It's not new and not in response to this.

      As I see it, gone is the advantage of being able to run your .NET applications on Linux. For as much as the Linux (and Slashdot) community want to ignore it, the primary attraction of Windows developers to Mono was the cross-platform compatibility feature of the entire framework--not just the C# language. Most of those who develop for Windows will use .NET, and have been using (or would have used) Mono in order to run their applications on Linux. That is a significant chunk of potential mind-share and developer support culled at the stroke of Microsoft's legal pen.

      You see it wrongly. This, and most of the fear in your post, only really apply if you think that Microsoft is going to sue you for using Mono. The levels of paranoia necessary to believe this are amazingly high. You are not important enough for Microsoft to sue. If you absolutely must have protection, you buy SLES--which, for an enterprise of the scale to have a legal department to mandate this paranoia, is cheap, and if you don't have a legal department screaming about it you're certainly not large enough to worry--and go on with your life, protected against the Big Bad Microsoft.

      Microsoft wants Mono to succeed, because it increases the developer pool for their own environments too. None of this is a big deal, and Roy and the rest of his Boycott Novell monkeys are shitting their pants over absolutely nothing.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
  97. The MS wording is nearly identical to RH one by guerby · · Score: 1

    Red Hat also has patents and the wording of the promise is nearly identical to the one of MS, I'm quoting RH:

    http://www.redhat.com/legal/patent_policy.html

    """
    Our Promise with Respect to Software Patents We Hold ...
    Our Promise:

    Subject to any qualifications or limitations stated herein, to the extent any party exercises a Patent Right with respect to Open Source/Free Software which reads on any claim of any patent held by Red Hat, Red Hat agrees to refrain from enforcing the infringed patent against such party for such exercise ("Our Promise"). Our Promise does not extend to any software which is not Open Source/Free Software, and any party exercising a Patent Right with respect to non-Open Source/Free Software which reads on any claims of any patent held by Red Hat must obtain a license for the exercise of such rights from Red Hat. Our Promise does not extend to any party who institutes patent litigation against Red Hat with respect to a patent applicable to software (including a cross-claim or counterclaim to a lawsuit). No hardware per se is licensed hereunder.

    Each party relying on Our Promise acknowledges that Our Promise is not an assurance that Red Hat's patents are enforceable or that the exercise of rights under Red Hat's patents does not infringe the patent or other intellectual property rights of any other entity. Red Hat disclaims any liability to any party relying on Our Promise for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the Patent Rights permitted by Our Promise hereunder, each relying party hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.
    """

    They promise not to sue you just like Microsoft. I guess it's perfectly standard legalese then if two companies as far away as MS and RH use the same wording.

    Now the RH promise is limited to software with a limited set of licence (they can add to it) while MS one is limited to some implementations of a standard.

    I'd say that if a patent troll buys MS we're safe, but if a patent troll buy RH and the FSF needs to publish GPL 3.1 or 4.0 we're screwed since RH promise does not cover future licence.

    IANAL

  98. Re:Thank goodness by IBBoard · · Score: 1

    That doesn't explain how you can tax an open standard. As Mr2001 pointed out (and as I've seen mentioned by one of the Mono team) if Microsoft move a new iteration of C# in a direction that isn't compatible with open source (probably through patent issues) then all Mono does is continues to implement the previous standard and carries on with its own work in its own direction. It'll still be cross-platform, it'll still conform to C# standards, and it'll still be compatible with Microsoft's .Net framework, just not the very latest version.

  99. Re:Thank goodness by IBBoard · · Score: 1

    C is a stupid strawman here. Nobody is porting anything to C.

    So you're knocking down the strawman of C but not putting up any arguments on the "porting to C++" front?

    I find it funny how kids these days think C# brings something new to table.

    It doesn't necessarily bring anything new to the table since Java had generics and GC first, and other languages probably do the delegates. What it does do, though, is wrap some of the Java-like functionality up in a nicer package for some people that integrates better with many desktops.

    Working with objects in an OO environment where you talk about objects and properties? Well now you actually get a distinction in your code between functions/methods and properties. Want to subscribe one method to be called on three different events? You don't need to implement interfaces, add yourself and implement three different methods that do the same thing. Want to subscribe three different methods of one object to the same event? You can actually do it with delegates.

    They don't have what it takes to do it in C++, but require the safety wheels of static typing in order to keep their spaghetti manageable.

    Personally, I'd just rather not write the spaghetti in the first place as it's a much more productive and enjoyable use of my time.

    Writing without static typing can be done without too much effort on your own (it's effectively what you had to do in Java/C# before generics when you used collections - treat everything as a known type and assume that's all that's in there), but making sure that extensions and customisations don't break your code becomes debugging from stack traces and crashes once your app is running rather than finding that your app isn't doing what it should at the compile stage.

  100. Any word from Stallman? by paxcoder · · Score: 1

    Wow cool. Did Stallman publish a response to this?