Slashdot Mirror


.Net On Android Is Safe, Says Microsoft

An anonymous reader writes "With Oracle suing Google over 'unofficial' support for Java in Android, Microsoft has come out and said it has no intention of taking action against the Mono implementation of C# on the Linux-based mobile OS. That's good news for Novell, which is in the final stages of preparing MonoDroid for release. Miguel de Icaza is not concerned about legal challenges by Microsoft over .Net implementations, and even recommends that Google switch from using Java. However, Microsoft's Community Promise has been criticized by the Free Software Foundation for not going far enough to protect open source implementations from patent litigation, which is at the heart of the Oracle-Google case."

37 of 377 comments (clear)

  1. Safe from what? by dreyergustav · · Score: 5, Insightful

    Some of the Oracle patents relate to Virtual Machines in general and not just the JVM. So how can Mono be safe from Oracle?

    1. Re:Safe from what? by yyxx · · Score: 3, Insightful

      Oracle doesn't have a patent on "virtual machines", they have a patent on specific technologies. So, the question is whether Mono violates Oracle's specific patents. Sun/Oracle's patents were mostly known at the time Microsoft designed the CLR, so there's a good chance that they designed around Oracle's patents. Dalvik, on the other hand, was created both to be Java compatible and also under the assumption that Sun was friendly towards open source systems.

      You can never be certain that a given piece of software violates no patents at all. But Mono seems in a pretty good position: Microsoft doesn't claim patents against it, and furthermore, it was designed to avoid patents by the other big player, Sun/Oracle. That's probably as good as it's ever going to get for these kinds of virtual machines.

  2. Et tu brute? by JImbob0i0 · · Score: 5, Insightful

    Almost every single company that has had dealings with Microsoft has been stabbed in the back by them...

    IBM : OS/2
    Stacker : Doublespace
    Spyglass : Mosaic
    Sun : Java
    Everyone : plays4sure (DRM servers shut down leaving purchases useless)
    Go : Mobile technology (at least I think the company was called Go)
    Caldera : DR-DOS
    Novell : Wordperfect

    How many times does this have to happen before people see a pattern and avoid partnering with Microsoft? The bigger players can survive the knife between the shoulderblades... the smaller players *if they eventually get a payoff* still usually end up dead anyway.

    1. Re:Et tu brute? by stikves · · Score: 4, Interesting

      (Going against my rule, and replying even though it will risk my karma a lot)...

      Unfortunately what you said is only partially true.

      For example:

      OS/2: Originally Microsoft developed Windows NT as OS/2 - a microkernel which was OS/2 on the front backward compatible with DOS and Windows, and switched to Windows, only after IBM started to show less and less interest in coding, and more interest in their process.
      (http://en.wikipedia.org/wiki/Windows_NT)

      Mosaic: Mosaic was open source originated at NCSA labs, and IE was developed by original Mosaic staff.

      Java: Microsoft did not develop .Net, until Sun sued them for license issues, effectively stopping them developing on Java. ... and others.

      A story is rarely single sided, but it's very hip to hit on MS on Slashdot...

    2. Re:Et tu brute? by Anonymous Coward · · Score: 4, Insightful

      Java: Microsoft did not develop .Net, until Sun sued them for license issues, effectively stopping them developing on Java.

      I think you missed the part where Microsoft made Visual J++ with various extensions and a failure to pass the Java compliance tests. Fixing compliance would have been easy, if they just wanted to make a compatible Java(tm) implementation, but really this was their first attempt to shaft Sun.

      .Net is Microsoft's 2nd try...

    3. Re:Et tu brute? by xtracto · · Score: 5, Insightful

      About Java:

      You *DO* Remember that the main problem was with J++ and Microsoft trying to distort a standard (or at least, a standard they *signed* they would respect) to make it incompatible?

      Kind of how they made special Javascript or ActiveX extensions which broke the net??

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    4. Re:Et tu brute? by JImbob0i0 · · Score: 5, Informative

      To answer your counter-points specifically....

      The back stab I was referring to for OS/2 wasn't Windows NT but rather Windows 95. As per the documentation put forward by IBM in the USA Vs Microsoft case ... and Microsoft eventually settled with IBM for the damage they caused them:

      http://www.groklaw.net/article.php?story=2005070114163052

      Fortunately IBM, of course, were large enough to survive that.

      Microsoft actually contracted with Spyglass to provide a royalty form Internet Explorer revenue in order to use Mosaic as a base... Microsoft then gave the product away free and therefore skipped out on said royalties. They eventually had to pay Spyglass a settlement for this action but not before sufficient damage was done and teh company did not survive - being bought out by OpenTV in 2000.

      http://en.wikipedia.org/wiki/Spyglass,_Inc.

      With Java Microsoft contracted with Sun to write their own Java VM for the Windows platform. They then added interfaces to the java.* namespace and changed behaviour in this namespace. As a consequence things written for Sun's Java would not run properly due to changes in what was expected to be standard and things written for Microsoft's Java VM were not likely to run in Sun's one. The issue came to a head since Microsoft used the Java name and logos... Note that Microsoft would have been okay if they had used their own microsoft.* or similar namespace... but then that would have made Sun's VM the preferred write once run anywhere target. Sun survived this and the result was Windows XP SP1a and the removal of the MS Java VM. Microsoft were free to continue to develop MS Java VM if they actually stuck to the specs... instead they produced .Net and C#.

      I'll let you google the references for that one yourself ;)

      It may be hip to hit on Microsoft on Slashdot... however there are occasions they deserve it (just as there are occasions they do not). I put it to you that the highlights I've picked from the past 10-15 years are points against them... and are far from an exhaustive list.

    5. Re:Et tu brute? by JImbob0i0 · · Score: 3, Informative

      Not quite correct...

      the Sun Vs Microsoft case wasn't patent war but rather a contract and trademark dispute.

      Because Microsoft had a contract with Sun to create a certified VM and they broke the conditions plus they called it Java when it wasn't they got hit with the judicial hammer...

    6. Re:Et tu brute? by benjymouse · · Score: 5, Insightful

      At the time Java came with its own set of widgets, and it had a terrible reputation (deserved) for being slow. At the center of the conflict was Microsofts insistence that developers should be able to use native Windows widgets for GUI apps - otherwise it would risk tainting the Windows platform as slow and unresponsive (yeah - I know - even slower, ok?).

      To facilitate that they wanted developers to have the option to call native APIs directly. Library developers would then be able to make abstraction libraries which could take advantage of the rich Windows GUI (and COM) controls.

      Sun would have none of that. Microsoft wouldn't yield. Microsoft lost the lawsuit, and then went on to make a language the way they felt it should be made. With a way to call native APIs which is leaps and bounds better than the nazi-abstraction of Java. No glue code necessary, just pure metadata annotations.

      Sun went on with their own business and along comes IBM with Eclipse. Only IBM weren't too happy about the whole Swing deal. Java has definitely improved in speed, but on the GUI side all those gains (and more) had been eaten up by Swing. So IBM went for native GUI widgets with SWT.

      There was a reason Microsoft didn't want to fix their JVM so that it would pass the compliance tests. They lost (or settled?) and Sun got an insane amount of $$$. Microsoft created C# and .NET the way they though it should be.

      C# has evolved much faster than Java. And in some areas Suns "doubts" about whether such language features were feasible has been put to shame: Delegates, operator overloading, Native API (P/Invoke) marshalling, reified generics, value types etc.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    7. Re:Et tu brute? by Locutus · · Score: 4, Interesting

      I met a guy who worked for Microsoft on Visual J++ when it was initially compatible and he said there was quite the buzz to be the best "Java" there was. He then told me that all the Java project managers, included the Visual J++ ones were called to a meeting with Bill Gates. After that meeting, all current progress was stopped and they turned direction to a version of MS Java( not real Sun Java ) which used proprietary Windows calls and Visual J++ was changed to default to using those Windows specific APIs.

      I believe this meeting was mentioned in court documents where it was said the Bill Gates yelled out "does anyone remember Windows?". Court documents showed that Microsoft, as a company, did and was operate to protect their position in desktop operating systems. ie, screw developers, screw competition, they do what is best for profits and that means protecting Windows at all costs.

      Java is still very much a threat to Microsoft and they are still trying to win developers over to their technology so they can be directed, legally, to technology which will only run on Windows. MS .NET on Android or anything is foolish and a sign of naivety to Microsoft's motives and what it means to product life cycles and TCO. IMO

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    8. Re:Et tu brute? by tepples · · Score: 4, Insightful

      That's what Java namespaces were invented for. Microsoft could have left all the java.awt.* stuff working and put all its embrace-and-extensions in com.microsoft.gdi.* and the like.

    9. Re:Et tu brute? by Cyberax · · Score: 3, Insightful

      "What I have issues with it the revisionist painting this as some sinister attempt on part of Microsoft to try to extend and then extinguish Java."

      Unfortunately, it's not revisionist. It _was_ their intention, documented and proven in the court.

      http://www.nytimes.com/1998/10/22/business/memos-released-in-sun-microsoft-suit.html?sec=&spon=&partner=permalink&exprod=permalink
      http://en.wikipedia.org/wiki/Steven_McGeady#Microsoft_trials

  3. Re:"Safe" by not+already+in+use · · Score: 3, Insightful

    I use both by choice all the time. The .NET platform is leaps and bounds ahead of the Java platform in nearly every way.

    Oh, that's right, Java is licensed under the GPL, so it's inherently better. I forgot, ideology trumps technical merit. Now, in typical slashdot fashion, mod parent Insightful and me Troll. Thanks, and have a good day.

    --
    Similes are like metaphors
  4. Re:"Safe" by Mongoose+Disciple · · Score: 4, Informative

    even microsoft doesn't like .net and is moving away from it. why would anyone use something that is about to be deprecated?

    Considering a major release of the .NET framework happened in April, I'm going to go ahead and call you misinformed or a huge troll.

  5. Re:"Safe" by gparent · · Score: 3, Informative

    They don't like .NET yet they keep pumping versions after versions of the .NET Framework, C# and Silverlight. Citation needed? I'm not understanding you well.

  6. Re:Names by daeley · · Score: 3, Funny

    Why, is it too MonoTonous?

    --
    I watched C-beams glitter in the dark near the Tannhauser gate.
  7. Re:"Safe" by Lunix+Nutcase · · Score: 3, Informative

    They aren't deprecating anything but they have ceased development on a few dynamic .NET languages like IronRuby.

  8. Re:"Safe" by Mongoose+Disciple · · Score: 5, Insightful

    Oh, that's right, Java is licensed under the GPL, so it's inherently better.

    To be fair, a decent contingent on slashdot was always saying that Java wasn't open source enough, and in light of the recent Oracle-Google lawsuit, it turns out they were right.

    In the context of this particular story, I'm not sure how .NET doesn't look better than Java -- you've got one's parent company saying they won't sue you (even if that's not a great guarantee) and one that's actually suing you right now.

  9. Re:"Safe" by Lunix+Nutcase · · Score: 5, Insightful

    Except that poetmatt is just throwing out FUD. He is intentionally misrepresenting the fact that Microsoft has stopped officially supporting development of things like IronRuby as deprecating the entire platform. The fact that it is even modded as insightful despite being obviously false is quite telling for Slashdot.

  10. MonoDroid is not Free Software / Open Source by molo · · Score: 5, Informative

    From the FAQ:

    How much will MonoDroid Cost?

    We have not yet announced the pricing for MonoDroid, but you should anticipate that the price will be in the same range as MonoTouch ($400 USD for individual users, and $1,000 for enterprise users).

    How is MonoDroid licensed?

    MonoDroid is a commercial/proprietary offering that is built on top of the open source Mono project and is licensed on a per-developer basis.

    --
    Using your sig line to advertise for friends is lame.
  11. Re:Isn't Dalvik the base of that as well? by duranaki · · Score: 4, Informative

    It half sits on top of Dalvik and half on top of their own adaptation layer for native linux. But yes, it's at least half tainted. :)

  12. Re:"Safe" by xtracto · · Score: 3, Insightful

    Well... to be fair, there is a difference between Oracle suing the GOOGLE company and Microsoft promising not to sue YOU (user/developer) for using the Mono implementation... mainly because Novell/Microsoft relation.

    I wonder how far would Microsoft allow Google to go in implementing a C# compiler/interpreter in the same way they are doing it with java...

    --
    Ubuntu is an African word meaning 'I can't configure Debian'
  13. And to expand on that by Sycraft-fu · · Score: 3, Insightful

    IE was purchased by Microsoft. They didn't do some dirty trick, they found a company making a product they liked and purchased them. Not just the rights to their product, the brought on the developers and all that.

    DR-DOS wasn't a product that MS ripped off... It was a product that ripped off MS. MS-DOS launched in 1981. DR-DOS launched in 1989 and was version numbed to be the same as MS-DOS. They weren't breaking any laws or anything, but DR-DOS was designed to be their own DOS, compatible with MS-DOS.

    Wordperfect lost on its own merits. It was the be-all, end-all of office programs. However the developers failed to keep it up, failed to improve it, and Office eclipsed it. You ever try using it recently (it is still around, still in development)? It is a pile of crap. It lost because there was a superior competing product. You know, how capitalism is supposed to work and all that.

    I'm not claiming MS has never done anything underhanded. However people whine and bitch far too much. That a given product failed doesn't mean MS did anything wrong, it may just mean that the product sucked.

  14. Comparing Java and c# by ciaran_o_riordan · · Score: 4, Informative

    Below are the en.swpat.org analyses. Two of the biggest things in Java's favour are that they have distributed OpenJDK under GPLv2, with the implied patent grant that gives, and Oracle is a member of OIN and there are thus a bunch of GCC and Classpath packages they've promised not to use their patents against.

    swpat.org is a publicly editable wiki, help welcome.

  15. Except C# is an open standard by Sycraft-fu · · Score: 3, Informative

    It is ISO/IEC 23270 (http://www.iso.org/iso/catalogue_detail.htm?csnumber=36768). That means it is not something under MS's control and just subject to their promises. Now that's not all of .NET, that is different, but comparing C# to Java and ignoring the face that C# is an open standard, like C++ and Java is not is a bit disingenuous.

    1. Re:Except C# is an open standard by rantomaniac · · Score: 4, Informative

      Sadly, only C# 1.0 and 2.0 are open standards. All the goodies of C# 3.0 and 4.0 weren't included in any standards yet, and 3.0 is already 3 years old.

  16. Assurances are meaningless by pslam · · Score: 3, Interesting

    It doesn't matter how much they assure that they won't go after free implementations. Without it written in legalese, irrevocable, it's a worthless statement.

    What happens in, say, 5 years if/when Microsoft is feeling the pressure of competition? Let's say they're going bankrupt. Sound unlikely? Well, replace 5 years with 20 years. They'll find they have this lovely patent pool full of wonderful words which are potentially worth billions of dollars. Like every single example I can think of in the history of computing since 1980, of course they'll sue using their patents to draw out their death.

    The same applies to any of the big names: Google (you're next), Oracle (already doing it), IBM (somehow never died), Sun (via Oracle), for starters. The nuclear weapon analogy holds nicely here too. The software patent mess is Mutually Assured Destruction. But amassing them and then saying "We won't use them"... what happens when your state collapses? Where do they go?

  17. stop wineing. by g4b · · Score: 4, Funny

    As long as your gnuts don't hurd

  18. Java and write-once run-anywhere by fritsd · · Score: 4, Informative

    Java: Microsoft did not develop .Net, until Sun sued them for license issues, effectively stopping them developing on Java. ... and others.

    This is what Microsoft tried to do to Sun to get rid of their Java: Embrace -- Extend -- Extinguish
    This is the sworn expert testimony in court in case Comes vs Microsoft of a mr. Ronald Alepin on 5 january 2007, about Microsoft's strategy in 1995: Groklaw transcript of Comes vs Microsoft document (page down a bit for the transcript).
    (please read the whole thing for yourself. this quote here on /. is too short to really inform).

    ...
    Q. Before I do this, though, sir, in relation to Microsoft's employment of Java and use of Java, when you testified about Microsoft's Java interface extensions --
    A. Yes.
    Q. -- do those interface extensions tie the applets or applications to the Windows operating system?
    A. They tie them. Another phrase is they bind the applications or they lock them into the Windows platform. That's correct.
    Q. Okay. Thank you, sir.

    It's long ago, but maybe it can still be illuminating to read if you care about Microsoft's plans with their .NET platform and interoperability e.g. with Mono (I personally don't use .NET so I don't care, but your comment "..until Sun sued them for license issues.." nagged me as only partially true :-).

    --
    To be, or not to be: isn't that quite logical, Slashdot Beta?
  19. Re:"Safe" by spiffmastercow · · Score: 4, Interesting

    Not sure where you're getting the "don't know how to program" crap. Java is the one with training wheels. C# has operator overloading, pointers (if you want 'em), closures, anonymous methods, covariance, contravariance, and a slew of other advanced features that require skill to properly implement. Not to mention LINQ + expression trees, which in itself is a reason to switch twice over.

    When it comes to strongly-typed JIT compiled languages, C# wins hands down. Java fans tend to look down on .NET, but that's mostly a defense mechanism. At some point someone probably told you you were 1337 for using Java. The truth is that Java was made for people who would like to use C++ but can't understand pointers. C# has its share of idiots too, but it's got features for those of us who know how to code as well.

  20. Re:"Safe" by Lokitoth · · Score: 3, Informative

    I am a bit confused - what "any sort of work" are you doing that requires C++?

    I can understand that certain things are easier in C++ due to the ability to more easily manipulate memory sections directly, but situations which absolutely require this are few and far between.

    As well, .NET can invoke all parts of the Windows API via P/Invoke, as well as consume and surface COM interface implementations.

  21. Re:"Safe" by benjymouse · · Score: 4, Informative

    Except that Microsoft is *not* moving away from dynamic .NET languages. They just released a platform unifying and solidifying dynamic language support within the .NET Framework itself.

    This support is head and shoulders above anything else. Imagine that the platform and not the languages actually has services for doing dynamic member lookup with advanced caching and global optimizations. Making a platform which generalizes how different dynamic languages such as EcmaScript, Ruby, Python and C# look up members is no small feat.

    It means that the language implementations themselves shrink quite a lot.

    What we have on one hand is *one* disgruntled ex-Microsoft employee being cited on Microsofts plans for the future. On the other hand we have concrete and recent actions by Microsoft which suggests that they are very much investing in making .NET a dynamic multi-language platform.

    I have no doubt that working with implementing an "outside" language inside an organization like MS is an uphill battle. But I have real problems seeing this as a sign that MS is backing away from dynamic languages.

    --
    Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  22. Re:"Safe" by benjymouse · · Score: 3, Informative

    and with Windows 7, it appears (from what I've read) if you want do any sort of work, you still need to use C++.

    You read wrong. You can program against any API* using C#. Mind you, C# can also be used in "unmanaged" (they call it "unsafe") mode - where you have access to pointers, pointer arithmetic, direct memory allocation etc.

    All regular APIs are either COM or have already been wrapped or even re-implemented in .NET. .NET can easily interop with COM APIs.

    I believe that the only place where you would want to drop top C/C++ would be for device drivers.

    --
    Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  23. Re:Way too soon for MS .Net lawsuits by jpmorgan · · Score: 3, Informative

    It doesn't matter. If you promise people you won't sue over something, you can't later change your mind and sue them. It's called promissory estoppel. If they tried, any competent judge would throw the case out before trial.

  24. Re:It's just not stable. by Mongoose+Disciple · · Score: 3, Insightful

    I can't say for 100% sure without examining their exact problem, but I would bet that your devs aren't very good and are trying to blame the tool rather than the craftsman. At least, I've never had problems solving similar problems with .NET. (Or Java or anything else, for that matter.)

  25. Re:Ask the London Stock Exchange about how ... by obijuanvaldez · · Score: 3, Interesting

    Isn't this article about .NET running on Android? Is there going to be a Java or even C/C++ based stock exchange running on people's phones soon? It seems fairly clear that the OP was suggesting quality software of any scale could not be written in .NET.

  26. Re:"Safe" by Timothy+Brownawell · · Score: 3, Informative

    I can hand-edit a java file and when I reopen the IDE, it'll pick up the changes. Try that in a Microsoft environment, and you'd better have a project backup.

    Um, Visual Studio actually handles that just fine. So I think you're the one spouting off rubbish.