Slashdot Mirror


Apache Harmony Moves To Apache Attic

think_nix writes "After the resignation of Apache from the Java SE/EE Executive Committee, the time has now come for Harmony to be added to the Apache Attic. Harmony was 'the project to produce an open source cleanroom implementation of Java.' An open vote was taken within the Project Management Committee, which resulted in a 20-2 majority to discontinue development."

120 comments

  1. It lives on by ttong · · Score: 1, Flamebait

    It lives on in the form of Android, more specifically the java. parts of the Dalvik core library.

    1. Re:It lives on by shutdown+-p+now · · Score: 1

      Those are much smaller than full J2SE, however, which is what Harmony aimed to be.

  2. Re:yay! by greghodg · · Score: 0

    That's German for "The Java! The!"

  3. Harmony what now? by meustrus · · Score: 0

    It is a tragic day. First I find out that someone was working on an open implementation of Java, then I find out that it's cancelled? Oh well. Here's to hoping that the universities speed up the inevitable transition to Python so we can see the glut of Java programmers disappear.

    --
    I sometimes ask revealing, often ignorant-seeming questions. Maybe they're harder to answer than you think.
    1. Re:Harmony what now? by sitkill · · Score: 5, Informative

      uh, not sure if you even read the original article but..

      There IS an open implementation of java, the openJDK, which is why this is being shut down (IBM who was the main contributor to Harmony has moved it's resources to openJDK).

      But I guess it's more in line with slashdots javahate if we ignore those facts.

    2. Re:Harmony what now? by sourcerror · · Score: 2

      Universities wouldn't switch for a non-typed language as a main platform. C++/Java will continue to be entreched, with a little C# sprinkled on. Also they don't follow flavor of the month.

      By the way they embraced Java before it was opensourced, so I don't think they'll make a boycott about Oracle dicking around with its software patents.

    3. Re:Harmony what now? by sitkill · · Score: 4, Funny

      lol, well I did actually bring my helmet and my gloves to work since I bike...

      WAIT A MINUTE IS THIS MY BOSS!?

    4. Re:Harmony what now? by meustrus · · Score: 1
      --
      I sometimes ask revealing, often ignorant-seeming questions. Maybe they're harder to answer than you think.
    5. Re:Harmony what now? by Anonymous Coward · · Score: 0

      uh, not sure if you even read the original article but..

      There IS an open implementation of java, the openJDK, which is why this is being shut down (IBM who was the main contributor to Harmony has moved it's resources to openJDK).

      openjdk may be "open" but it comes with field of use restrictions, restricting its "openness".

    6. Re:Harmony what now? by sa666_666 · · Score: 4, Insightful

      Except cross-platform compatibility, and not being controlled by a proprietary vendor.

    7. Re:Harmony what now? by Anonymous Coward · · Score: 1

      Both of which aren't a problem with .NET, so all is well.

    8. Re:Harmony what now? by Anonymous Coward · · Score: 0

      Like Oracle?

    9. Re:Harmony what now? by SiMac · · Score: 3, Insightful

      I'm talking out of my ass here, but I was under the understanding that OpenJDK (or at least IcedTea) has the same field of use restrictions as any other Java implementation, which come from Sun's patent licensing, and can't be avoided by building a clean room implementation.

    10. Re:Harmony what now? by meustrus · · Score: 1

      I only suggested Python because I heard some universities have already started using it for introductory courses. Of course I'm not suggesting it be the primary platform but there has been success in teaching basic programming principles without dealing with Java-specific issues immediately. I would say the progression ought to be:

      1. Python (or any other simple, untyped language)
      2. C++ (so the students can be all "whoa that's way harder")
      3. Lisp (hey wut this language is nothing like the rest)
      4. C# or Java (combined with an OO design course)
      5. branch out to various languages used in practical fields like Bash, Perl, PHP, Javascript, Cobol, Fortran...

      Java makes for a really shitty first entry into programming. Its primitive niceties (no not talking about primitive types) can only be appreciated after one has had to deal with C++ shit.

      --
      I sometimes ask revealing, often ignorant-seeming questions. Maybe they're harder to answer than you think.
    11. Re:Harmony what now? by meustrus · · Score: 1

      What about Mono?

      --
      I sometimes ask revealing, often ignorant-seeming questions. Maybe they're harder to answer than you think.
    12. Re:Harmony what now? by Anonymous Coward · · Score: 1

      I hope you are joking, .net does not have any form of up to date independent implementation, the Microsoft one is cross platform (win+Mack) but mono is subtly different, lags significantly behind, and comes with an noticeably incomplete patent licence which only covers a subset of its's features.

    13. Re:Harmony what now? by 93+Escort+Wagon · · Score: 1

      Lisp (hey wut this language is nothing like the rest)

      LISP?! We already have enough trouble attracting quality CS students - are you trying to drive everyone to becoming Philosophy majors?

      --
      #DeleteChrome
    14. Re:Harmony what now? by gl4ss · · Score: 1

      Like Oracle?

      tell that to google and openjdk.. besides, oracle seems to be way better than sun for holding it.
      really, sun fucked up mobile java domination pretty badly. they were supposed to do a thing like android but never got around to actually do it.. committees don't get around to doing fucking anything since any way you choose to do things someone has a valid point why some other way would be 'better', especially when you have contradicting goals.

      and uh, as it happens, crazily enough, virtualbox and openoffice get regular running from me and java pays the bills.

      never heard of anyone actually using harmony though so no big loss there.

      --
      world was created 5 seconds before this post as it is.
    15. Re:Harmony what now? by h4rr4r · · Score: 2

      So C# magically gets you around the patent minefield?

      How does that work?

    16. Re:Harmony what now? by Anonymous Coward · · Score: 0

      It's open, but it's GPL-licensed compared to Harmony's Apache2.0 license.

      The main dispute is that Sun/Oracle is not letting anyone create their own version of Java that's not based on OpenJDK. In theory you can get your Java implementation TCK-certified, but it's expensive and Sun/Oracle doesn't seem to even want to provide it for community projects like Harmony. Furthermore, Oracle has been threatening to sue anyone using a non-OpenJDK version of Java.

      The code may be open, but the standards are not.

    17. Re:Harmony what now? by m50d · · Score: 1

      Java is controlled by Oracle. As per the actual story, Apache tried to make their own JVM, Oracle said no, so Apache can't make their own JVM. (And as for cross-platform, in either case you're subject to the whims of the vendor. .net on freebsd is better than java on freebsd)

      --
      I am trolling
    18. Re:Harmony what now? by HarrySquatter · · Score: 1

      That's funny because there have been all of 0 lawsuits over mono but there is a pretty high-profile lawsuit from oracle over java patents. But let's ignore all that since it doesn't jive with anti-mono FUD.

    19. Re:Harmony what now? by kdemetter · · Score: 1

      That's funny since every grievance i ever had with C# was solved with Java :-)
      Though i prefer groovy.

    20. Re:Harmony what now? by Lulu+of+the+Lotus-Ea · · Score: 3, Interesting

      Aaaghh!

      Python is, of course, a STRONGLY typed language (not untyped). It is also DYNAMICALLY typed rather than STATICALLY. But these issues are orthogonal, and languages exist in every quadrant of the type system grid implied.

    21. Re:Harmony what now? by SharkLaser · · Score: 1

      How many C# lawsuits there have been? How many Java lawsuits, especially relating to total ignorance from Google, has there been? Yep.

    22. Re:Harmony what now? by Anonymous Coward · · Score: 0

      Python is a toy language that's ridiculously slow and poorly designed, and its main implementation has a primitive reference counting garbage collector and a global interpreter lock. Even Google, its primary supporter, has almost completely abandoned it. Internally they even forbid new projects from using it. Kill yourself.

    23. Re:Harmony what now? by HarrySquatter · · Score: 1

      Exactly such as C being weakly, but statically typed.

    24. Re:Harmony what now? by datavirtue · · Score: 1

      There is nothing wrong with Java. It is all in your head.

      --
      I object to power without constructive purpose. --Spock
    25. Re:Harmony what now? by the+linux+geek · · Score: 0

      C# is an open standard, as is part of the .NET standard library.

    26. Re:Harmony what now? by d4fseeker · · Score: 1

      What about PROLOG instead of LISP? Not quite as abusive of your bracket-keys but equally abusive of your "WTF?" when seeing the results :)

    27. Re:Harmony what now? by peppepz · · Score: 1
      OpenJDK is released under the GPLv2 and therefore it has no field of use restrictions.

      It's the TCK that has a restrictive license, i.e. Oracle wants money if you want to call your implementation of Java with the Java name.

    28. Re:Harmony what now? by Anonymous Coward · · Score: 0

      C++ (so the students can be all "whoa that's way harder")

      Or if you're not a mouthbreather who needs a language with training wheels and makes sure you have your mittens on you'll think "wow this is a powerful language that doesn't treat me like an idiot me or lock me out of features because someone decided they are "too dangerous for me".

    29. Re:Harmony what now? by bberens · · Score: 1

      I don't feel it's a stretch to suggest that if Dalvik had used the C# language instead of the Java language that there would have been lawsuits related to C#/.NET. But yes, your point is not lost on me.

      --
      Check out my lame java blog at www.javachopshop.com
    30. Re:Harmony what now? by rve · · Score: 1

      Apache tried to make their own JVM, Oracle said no, so Apache can't make their own JVM.

      No, it's not about the JVM. There are many JVM implementations, some open, some proprietary. It's a JDK, including the Java SE API.

    31. Re:Harmony what now? by bberens · · Score: 1

      Java has two primary things wrong with it.. The first is that it SUCKS at making local GUI apps. The second is that the first versions were painfully slow and left such a horrible taste in some peoples' mouth that they will never recover. The latter issue has largely been resolved with VM improvements and hardware. The other.. well write your GUIs in C#.

      --
      Check out my lame java blog at www.javachopshop.com
    32. Re:Harmony what now? by bberens · · Score: 1

      Being a toy language doesn't mean it's bad. I rather enjoy it as such. I have pretty much replaced perl/bash scripts with python. My understanding (perhaps incorrect) was that Redhat had embraced it quite a bit and a lot of the the GUIs for configuration and such (read: not complex GUIs) were written in python.

      --
      Check out my lame java blog at www.javachopshop.com
    33. Re:Harmony what now? by h4rr4r · · Score: 1

      Which means nothing as far as getting sued over patents goes.

      If Dalvik had tried to use the C# namespace and been closer to it then Google would be just as sued.

    34. Re:Harmony what now? by Anonymous Coward · · Score: 0

      OpenJDK may be open, but it's a different sort of open. A lot of companies would be happy to base their products on Apache-licensed code but won't even consider GPL'd code. It's not huge, but there is some impact to this project going away.

    35. Re:Harmony what now? by VGPowerlord · · Score: 1

      As far as I'm aware, it doesn't have field of use restrictions, but it also doesn't include the code for building/running Java Mobile Edition (JavaME) applications.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    36. Re:Harmony what now? by vbosch · · Score: 1

      At my university UPV ( Polytechnic University of Valencia) we studied:

      Pascal - 1st year

      C with some assembler - 2nd year

      Mathematica - 2nd year

      Octave- 2nd year

      C++ - 3rd year

      Java - 4th year

      Prolog - 4th year

      Lisp - 4th year

      Haskell - 5th year (depending on your specialization)

      Shell script was just basic as we did most our coding on the Linux distribution favored that year by the sysadmins.

    37. Re:Harmony what now? by peppepz · · Score: 1
      To be more precise: C# 2.0 is an open standard. C# 3.0 and 4.0 are proprietary.

      All versions of .NET are proprietary. A subset of .NET 2.0 is an open standard. .NET 3.0, 3.5 and 4.0 are proprietary.

    38. Re:Harmony what now? by RCL · · Score: 1

      Canonical embraced it to the point that *buntu has python scripts running in background (printer-applet and such). This is perhaps a misuse of an interpreted language.

    39. Re:Harmony what now? by shutdown+-p+now · · Score: 1

      The patents that Oracle used against Google are VM-specific, not language-specific.

      However, there have been claims that those patents also apply to .NET. If so, Google using Mono would still let Oracle sue them.

    40. Re:Harmony what now? by shutdown+-p+now · · Score: 1

      It doesn't mean anything with respect to patents as such. However, Ecma-334 (C#) and Ecma-335 (CLR) are covered by Microsoft community promise, which is basically a patent disclamer for implementers with a "patent MAD" clause:

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

    41. Re:Harmony what now? by shutdown+-p+now · · Score: 1

      OpenJDK is released under the GPLv2 and therefore it has no field of use restrictions.

      How so? Releasing something under GPLv2 does not equate to a patent grant by the original code author, since he cannot, by definition, violate any GPL provisions (as they only apply to someone who would otherwise be in danger of copyright infringement, which is never the original author). So if Sun - and now Oracle - asserts the right to use their patents to slap down anything that uses Java in a mobile context, it would apply equally to OpenJDK.

    42. Re:Harmony what now? by h4rr4r · · Score: 1

      It does not protect against any patents of the from "Doing X, but on a mobile device!". Which is what much of the java suits are about.

    43. Re:Harmony what now? by Anonymous Coward · · Score: 0

      Yup, you get a bunch of slow daemons that are using up way more memory than they should be. It gets worse because if they could ever benefit from accessing more than one CPU, they have to spawn a new process instead of a simple thread. In Windows and OS X, almost all of these trivial things are programmed in Assembler, C, C++ or Objective-C and optimized to be very fast and very energy efficient. However, RedHat and Canonical have absolutely no concern for piling on more horribly inefficient scripts.

    44. Re:Harmony what now? by Gazzonyx · · Score: 1

      That makes sense as the .NET CLR is basically what Microsoft went to after the licensing issues with J#. As I understand it, the CLR and JVM are very similar virtual machines.

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    45. Re:Harmony what now? by Zephiris · · Score: 2

      There is definitely no Microsoft version of .NET for Mac.

      --

      "A Goddess rarely smiles for she is forced by others to be an island unto herself." - Zephiris
    46. Re:Harmony what now? by siglercm · · Score: 1

      Apparently it's all 1337 now to say Python is sh177y.

      --
      sigfault (core dumped)
    47. Re:Harmony what now? by shutdown+-p+now · · Score: 1

      Java patents are not mobile-device-specific. It's just that Sun made a similar patent grant where they promised to not sue implementers of their specs, but specifically excluded mobile from that grant. This is not the case for Microsoft community promise.

    48. Re:Harmony what now? by shutdown+-p+now · · Score: 1

      They aren't actually all that similar. Well, I guess they are in that both are stack machines, and they use a fairly similar object model - but many opcodes are different, metadata is completely different, and, of course, the implementation is very different.

      So far as I know, the problem is that Sun/Oracle has patents on some very generic things. For example, they have a patent that effectively covers any JIT compiler from bytecode to native code - which they've used against Dalvik. Some are more specific - e.g. they describe the way Java .class files are laid out, and apparently Dalvik .dex files are similar enough that they infringe on that patent. It's pretty hard to sidestep a patent on JIT if you want an efficient VM, though.

    49. Re:Harmony what now? by peppepz · · Score: 1

      OpenJDK is released under the GPLv2 and therefore it has no field of use restrictions.

      How so?

      Because there is no document by Oracle specifying "field of use" restrictions for OpenJDK. The only license applied to OpenJDK is GPLv2, and GPLv2 does not contain field of use restrictions.

      Releasing something under GPLv2 does not equate to a patent grant by the original code author, since he cannot, by definition, violate any GPL provisions (as they only apply to someone who would otherwise be in danger of copyright infringement, which is never the original author).

      We were talking about field of use restrictions, not patents. Anyway, GPLv2 does include an implicit patent grant in section 6. In the intentions of the GPL authors, sections 6 and 7 were expressly meant to prevent a patent owner from limiting the redistribution of software he had licensed under the GPL. Whether the specific wording they used is lawyer-proof in every country of the globe or not, I'm not qualified to tell. Stallman believes so; but he used a stronger wording in GPLv3, just in case.

    50. Re:Harmony what now? by shutdown+-p+now · · Score: 1

      Because there is no document by Oracle specifying "field of use" restrictions for OpenJDK. The only license applied to OpenJDK is GPLv2, and GPLv2 does not contain field of use restrictions.

      The document in that case would be the patent(s) that Oracle holds.

      We were talking about field of use restrictions, not patents.

      Isn't that the same thing, ultimately? I mean, if Oracle says "this is free and open, but if you use it in firmware of your mobile device, we'll sue you over this patent" - isn't that effectively restricting the field of use?

      Anyway, GPLv2 does include an implicit patent grant in section 6. In the intentions of the GPL authors, sections 6 and 7 were expressly meant to prevent a patent owner from limiting the redistribution of software he had licensed under the GPL. Whether the specific wording they used is lawyer-proof in every country of the globe or not, I'm not qualified to tell.

      Well, the wording is definitely very vague, and it doesn't even explicitly mention patents (hence "implicit"). Apparently, some lawyers think that it's rather limited in scope.

      Interestingly enough, even if Stallman's opinion holds true, it would only apply to implementations derived from OpenJDK - any clean room reimplementation (such as Harmony) would run afoul of the patents, as the grant would not apply to it.

    51. Re:Harmony what now? by binarylarry · · Score: 2

      That's because no one has been remotely successful with Mono.

      If Android was built using parts of Mono instead of Apache Harmony, all the handset makers would be sued by Microsoft on two fronts.

      --
      Mod me down, my New Earth Global Warmingist friends!
    52. Re:Harmony what now? by spongman · · Score: 1

      There is definitely no Microsoft version of .NET for Mac.

      except the one in silverlight.

    53. Re:Harmony what now? by spongman · · Score: 1

      That's funny since every grievance i ever had with C# was solved with Java

      just curious. which grievances were those?

    54. Re:Harmony what now? by Anonymous Coward · · Score: 0

      Local GUI apps! How quaint.

      Unless you're on the Firefox or Chrome development teams, there's no reason to write a local GUI app.

    55. Re:Harmony what now? by peppepz · · Score: 1

      The document in that case would be the patent(s) that Oracle holds.

      Patents don't contain field of use restrictions by themselves, so for now we can't say that OpenJDK contains field of use restrictions.

      Isn't that the same thing, ultimately? I mean, if Oracle says "this is free and open, but if you use it in firmware of your mobile device, we'll sue you over this patent" - isn't that effectively restricting the field of use?

      Definitely, but this is not happening now. You can speculate that this might happen in the future (as you could do with *any* open source product at this point - Android, WebM, SQLite, Apache...) but in the case of OpenJDK, this would violate the GPLv2.

      Well, the wording is definitely very vague, and it doesn't even explicitly mention patents (hence "implicit"). Apparently, some lawyers think that it's rather limited in scope.

      Well, 3 x = 6 means that x = 2 only implicitly, but this doesn't make it less true :) . Above all, no lawyer seem to doubt the fact that the GPLv2 patent grant covers the users of the product itself in the USA, due to the estoppel thing. The doubts are whether the grant covers derived works (thus it's not a problem for OpenJDK itself), or over its validity in countries other than the USA which require an explicit declaration for patent grants (but this has not been proven in court yet).

      Interestingly enough, even if Stallman's opinion holds true, it would only apply to implementations derived from OpenJDK - any clean room reimplementation (such as Harmony) would run afoul of the patents, as the grant would not apply to it.

      Exactly. This is a problem for other implementations, not for OpenJDK.

    56. Re:Harmony what now? by funfail · · Score: 1

      So the only GUI application installed on your computer is Firefox or Chrome, am I right?

    57. Re:Harmony what now? by _Shad0w_ · · Score: 1

      It lags significantly behind Microsoft's .NET framework. Only fairly basic programs will compile on both Microsoft's version of the framework and on Mono without modifications. A moderately complex Windows Forms application...won't.

      The tendency for people to forget there's an entire section of the Framework that isn't about ASP.NET doesn't seem to be unique to Mono though.

      --

      Yeah, I had a sig once; I got bored of it.

    58. Re:Harmony what now? by _Shad0w_ · · Score: 2

      I believe it's also because Mono was largely developed by Novell, who had a licensing agreement with Microsoft. I think Microsoft also saw Mono as a way of proliferating support for Silverlight outside of the Windows platform, so were fairly accepting of it anyway. Although Silverlight seem to be fairly dead - I don't think I've really sites outside of Microsoft's using it and even they seem to have stopped.

      --

      Yeah, I had a sig once; I got bored of it.

    59. Re:Harmony what now? by sourcerror · · Score: 1

      In my university we studied Prolog and SML. Now they're changing SML to Erlang. You can also take up Constraint logic programming for 3 credit. (Europe)

    60. Re:Harmony what now? by sourcerror · · Score: 1

      I guess you're choosing your programming languages to brag about how 'tuff' you're.

    61. Re:Harmony what now? by youn · · Score: 1

      To be fair, using lisp is a wholly different philosophy :)

      --
      Never antropomorphize computers, they do not like that :p
    62. Re:Harmony what now? by Anonymous Coward · · Score: 0

      No, I choose programming languages based on their power and flexibility which Java fails on pretty much every count.

    63. Re:Harmony what now? by meustrus · · Score: 1

      OK, so I've never actually even seen Python code. I've only heard of how amazing it must be and I assumed it was weakly typed because it's a scripting language.

      --
      I sometimes ask revealing, often ignorant-seeming questions. Maybe they're harder to answer than you think.
    64. Re:Harmony what now? by meustrus · · Score: 1

      LISP?! We already have enough trouble attracting quality CS students - are you trying to drive everyone to becoming Philosophy majors?

      No, just to the dark side.

      --
      I sometimes ask revealing, often ignorant-seeming questions. Maybe they're harder to answer than you think.
    65. Re:Harmony what now? by Zontar+The+Mindless · · Score: 1

      That's funny, I spend at least half of my work day using a Java GUI app.

      Works pretty damn well, too.

      --
      Il n'y a pas de Planet B.
  4. Re:yay! by Anonymous Coward · · Score: 0, Offtopic

    And Albanian for "Yay! Sun Java! Sun!"

  5. That's OK. by bmo · · Score: 0

    The "write once run everywhere" model of Java was just a poor imitation of Forth's anyway.

    --
    BMO

    1. Re:That's OK. by uncle+brad · · Score: 1

      Yeah, that's exactly what it was.

  6. Re:yay! by Chris+Mattern · · Score: 0, Offtopic

    Albanians only use JDK!

  7. Strange by Anonymous Coward · · Score: 0

    That when software projects turn into failures, they move to the Attic.

    When the people that work on software projects turn into failures, they move into their mothers' basements.

    1. Re:Strange by _Shad0w_ · · Score: 1

      That's not true. I still live in my bedroom.

      Also, what do you mean "turn in to"?

      --

      Yeah, I had a sig once; I got bored of it.

  8. OpenJDK? by bigsexyjoe · · Score: 3, Insightful

    I'm not completely up to speed on these issues. But is there anything about OpenJDK that people are unhappy with? Is it not open enough in some manner?

    1. Re:OpenJDK? by Anonymous Coward · · Score: 0

      It's not a cleanroom implementation. Might be patent incumbent.

    2. Re:OpenJDK? by Jonner · · Score: 4, Insightful

      It seems that IBM started Harmony to produce a complete, permissively licensed implementation of the Java specifications, while OpenJDK is Copyleft. A year ago, IBM shifted their support to OpenJDK, so there's no longer a major sponsor for Harmony. That, in addition to the fact that Apache is no longer participating in the Java Community Process seems to be the reason there's little development going on in Harmony.

      The reason that Apache resigned from the Java Community Process Executive Committee is that the Java specifications are completely controlled by Oracle, which doesn't allow their compliance test tools to be used freely. Harmony will remain in a similar relationship with Java that Mono has to DotNet rather than being a first class implementation. The significant difference between Java and DotNet seems to be that Sun/Oracle have released most (all?) of the official implementation as Free Software, but the specifications that software implement are still proprietary.

      The main beneficiary of Harmony seems to be Google, which is using some code from the project as part of Android, though Android was never intended to be a complete Java implementation. They've made it clear that they want to use only permissively-licensed code so that they can release it as proprietary software whenever they want. That's exactly what they did with Android 3. While I'm glad IBM is now supporting a Copyleft implementation rather than a permissively-licensed implementation, a mature programming language system needs alternative implementations to keep the spec-writers honest. Oracle's handling of the specification process continues to prevent Java's use as a completely open system.

    3. Re:OpenJDK? by bigsexyjoe · · Score: 1

      Thanks for the info.

      Does copyleft mean that if you use something what you release has to also be open source and free? Does that mean that Oracle is actually suing Google to be more open in their implementation rather than shut it down?

      Do we know why they won't open source the compliance tools? Does that effectively prevent other implementations of Java from existing? Do we know why Oracle wants that?

    4. Re:OpenJDK? by increment1 · · Score: 1

      To add to the above, I believe the specific disagreements were in regards to licensing clauses of the TCK preventing the use of certified Java implementations in a mobile environment.

      The particular licensing restrictions were not in compliance with the Java Community Process rules, but that unfortunately has not resulted in the license being changed. The entire fight seems to be directed specifically at Google, and Harmony is a casualty of the battle Oracle is waging (possibly at the behest of Steve Jobs who was a purported close friend of Larry Ellison).

    5. Re:OpenJDK? by vadim_t · · Score: 1

      Does copyleft mean that if you use something what you release has to also be open source and free?

      Not if "what you release" is something that runs on the JVM.

      The copyleft part only applies to you if "what you release" is the modified JVM, or something that reuses parts of its code. The license specifically contains a linking exception, so linking to the JVM (eg, using the class library that comes with it) doesn't fall under the copyleft license.

    6. Re:OpenJDK? by increment1 · · Score: 1

      There is a field of use restriction on the TCK tools preventing other certified Java implementations from being used in a mobile environment. Ostensibly this would be done because there is money to be made by charging for mobile implementations.

    7. Re:OpenJDK? by Chibi+Merrow · · Score: 2

      Does that mean that Oracle is actually suing Google to be more open in their implementation rather than shut it down?

      No, that's not it at all. It has nothing to do with openness and everything to do with ensuring that there can never be a JVM that competes with the one Oracle bought from Sun.

      Do we know why they won't open source the compliance tools? Does that effectively prevent other implementations of Java from existing? Do we know why Oracle wants that?

      Yes, yes, and yes. Your second question is the answer to the first. As far as your third question... Oracle doesn't want competing Java implementations because they don't want to compete with another Java implementation. There's nothing deeper to it than that.

      The sad part of all this is Sun was a pretty lackluster steward of Java (too unwilling to break backwards compatibility with bytecode written in 1996 to fix problems in the language), but Oracle has been downright harmful to Java since taking it over. For their first major JVM release, they punted all the important features for Java 7 to a later release and then shipped with a (known) bug that broke loops.
      Let me repeat that again:

      THEY. BROKE. LOOPS.

      A world where Oracle has the only legal implementation of Java is a world where Java is on its way to being a dead language.

      Unfortunately for my shop, its not like we can rewrite millions of lines of code as C#, either, as Mono has a whole different patent minefield...

      Glad I'm the 'C++' guy and I'm learning Flex. :)

      --
      Maxim: People cannot follow directions.
      Increases in truth directly with the length of time spent explaining them
    8. Re:OpenJDK? by peppepz · · Score: 1

      OpenJDK is GPL, therefore it contains an implicit patent grant (for what concerns Oracle patents).

    9. Re:OpenJDK? by peppepz · · Score: 1

      Does copyleft mean that if you use something what you release has to also be open source and free?

      In this particular case no, because OpenJDK is released under the GPLv2 license but with the GNU Classpath Exception:

      As such, it can be used to run, create and distribute a large class of applications and applets. When GNU Classpath is used unmodified as the core class library for a virtual machine, compiler for the java languge, or for a program written in the java programming language it does not affect the licensing for distributing those programs directly.

      Do we know why they won't open source the compliance tools?

      I think that certification was one way for Sun's to monetize Java while offering it for free.

      Does that effectively prevent other implementations of Java from existing? Do we know why Oracle wants that?

      Other implementations can exist (that's why Apache Harmony was there until now), but you can't call them "Java" without paying Oracle for the compliance certification. I think it's more or less the same thing as the Unix trademark - Mac OS X can call itself Unix because Apple paid for the certification, Linux although largely Unix-compatible can't call itself Unix because the certification process isn't feasible for open source software.

      I am no license expert, but I think that Oracle owns key patents that might cover implementations of the Java platform; OpenJDK is safe because it's released by Oracle under the GPL, but third-party implementations might not have the same protection.

    10. Re:OpenJDK? by VGPowerlord · · Score: 1

      Does copyleft mean that if you use something what you release has to also be open source and free?

      Yes, specifically OpenJDK is under the GPLv2.

      Does that mean that Oracle is actually suing Google to be more open in their implementation rather than shut it down?

      While I wouldn't put it that way, technically yes.

      However, the real reason is Oracle wants Google to pay royalties to them like all phones that use JavaME do.

      Do we know why they won't open source the compliance tools?

      Because they make money from it?

      Does that effectively prevent other implementations of Java from existing?

      No, other implementations exist, such as IBM's version. JRockIt was another, but BEA was bought by Oracle before Sun was.

      Do we know why Oracle wants that?

      See: Sun Microsystems, Inc. v. Microsoft Corporation

      In other words, Sun (and their successor in interest Oracle) want to control the platform to prevent fragmentation, and they likely perceive open source systems not under their control as being likely to fragment it.

      I could be wrong though.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    11. Re:OpenJDK? by Anonymous Coward · · Score: 0

      Performance wise on ARM it sucks compared to the ejre.

    12. Re:OpenJDK? by Hognoxious · · Score: 1

      Never run against the encumbered.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    13. Re:OpenJDK? by DickBreath · · Score: 1

      > It's not a cleanroom implementation. Might be patent incumbent.

      Newsflash: Anything open source is almost certainly patent encumbered.

      Pick a technology. Whatever is your favorite. Python? Ruby? C? C++? (MAYBE-P (OR '(Lisp Scheme))) JavaScript, Linux, BSD, Etc.

      Guess what? Probably every major company from Lucent to Google to Microsoft to Apple, Oracle, Unisys, IBM, and God only knows who else probably has patent claims that are infringed by your favorite technology.

      So you can quit whining about Java being patent encumbered.

      Whatever you happen to be a fanboy of is already patent encumbered. It's not that your favorite technology (including Java) has done anything wrong. It's that the patent system is hopelessly and utterly broken beyond any possibility of repair. Its built on the fallacy that someone can own an idea called Imaginary Property.

      If you do something profitable (in any technology) and Microsoft (or Apple or Oracle etc) doesn't like it, then you can expect a patent infringement lawsuit. The patents are not the real issue. The patent lawsuit is merely a tool for the underlying motive. You are making money by innovating and they are a dinosaur unable to innovate but feel entitled to your money.

      This message brought to you as a public service. Hope that helps. Very few animals were harmed in the making of this post. BTW, the SCO case, in true zombie invasion fashion, is alive again. Did you expect otherwise?

      --

      I'll see your senator, and I'll raise you two judges.
    14. Re:OpenJDK? by Bill_the_Engineer · · Score: 1

      No, that's not it at all. It has nothing to do with openness and everything to do with ensuring that there can never be a JVM that competes with the one Oracle bought from Sun.

      You may have your tin foil hat on too tight. The suit has more to do with Google trying to circumvent Sun's license by making a "clean room" implementation of JVM for mobile use. Sun was never happy about Google doing an end run on their sale of embedded Java.

      That said, nothing prevents us from wondering "what if" Google had based their JVM on OpenJDK. Google wouldn't be using J2ME and they would have a GPL'd JVM running the code. They would have a Dalvik Java library and could offered the minimum compatibility with standard Java libraries required by the license. Naturally developers would stick with the Dalvik library for performance issues and we would still have the Android OS. Oracle wouldn't have much of a legal leg to stand on, at least a more tenuous one, because technically their JVM would be installed in a portable computer that happens to be a phone and not an embedded version of Java with a MIDP profile for that hardware. We will never know.

      Sometimes Google suffers from NIH (Not invented here). I think Google would came up with any excuse to have their own JVM, since the creator of the JVM would have the most control of the development space. Think about it... What would happen if Google supported Meego or other open source based Phone OS? Instead we have a potential new boss (Google) that is the same as the old boss (Oracle/Sun). Got to guarantee those ad clicks somehow. You're right conjecture is fun!

      The sad part of all this is Sun was a pretty lackluster steward of Java (too unwilling to break backwards compatibility with bytecode written in 1996 to fix problems in the language), but Oracle has been downright harmful to Java since taking it over. For their first major JVM release, they punted all the important features for Java 7 to a later release and then shipped with a (known) bug that broke loops. Let me repeat that again: THEY. BROKE. LOOPS.

      Bending the truth a little to make a point are we? They didn't break loops. There was a bug in the hot spot compiler that would incorrectly optimize the loops produced by the JVM. THIS WAS FIXED IN A PATCH that was released shortly after the initial release of Java 7.

      Of all the modern programming languages in popular use today, Java is the most backward compatible. Python2 v. Python3, Perl5.10 v. Perl6, and Ruby 1.8 v. Ruby 1.9 comes to mind. And just like you can have several versions of these languages and their associated libraries installed on your computer, nothing prevents you from having Java5, Java6 and Java7 installed at the same time too. Though I never really had a reason to keep all versions installed, since Java7 still runs all the code on my server. Once we test the code on Java7, we change the settings to run that code using Java7. In a very short period of time testing, we had all code running on the latest Java. BTW, we go through this same process when updating any software/library.

      Glad I'm the 'C++' guy and I'm learning Flex. :)

      Good for you. Here's your cookie. To be fair, as a fellow C++ guy, I would be remiss if we perpetuated a false image of C++ code always being backward compatible or working unmodified on different platforms or even using different compilers on the same platform. While there is a C++ standard, the implementation of that standard is left to each compiler vendor and your milage may vary. With regards to Flex, it looks nice and it has potential. It still will be a jack of all trades and a master of none.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    15. Re:OpenJDK? by amorsen · · Score: 1

      Pick a technology. Whatever is your favorite. Python? Ruby? C? C++? (MAYBE-P (OR '(Lisp Scheme))) JavaScript, Linux, BSD, Etc.

      Guess what? Probably every major company from Lucent to Google to Microsoft to Apple, Oracle, Unisys, IBM, and God only knows who else probably has patent claims that are infringed by your favorite technology.

      This is somewhat unlikely for C, as long as you stick to the standard library at least. Patents would have expired by now.

      --
      Finally! A year of moderation! Ready for 2019?
    16. Re:OpenJDK? by Anonymous Coward · · Score: 0

      This is plain trolling. Bashing java for not being open enough and learning Flex, which is based on Flash, which can not be more closed and is tightly controlled by Adobe, is really funny.

    17. Re:OpenJDK? by Chibi+Merrow · · Score: 1

      Hey chief, where did I complain about Java not being open? I complained about Sun (and now Oracle) being terrible godawful maintainers of it, and using patents to prevent other people from providing a useful implementation.

      And I can apparently get paid a lot more to develop Flex than Java at this point in time.

      --
      Maxim: People cannot follow directions.
      Increases in truth directly with the length of time spent explaining them
    18. Re:OpenJDK? by Chibi+Merrow · · Score: 1

      You may have your tin foil hat on too tight. The suit has more to do with Google trying to circumvent Sun's license by making a "clean room" implementation of JVM for mobile use. Sun was never happy about Google doing an end run on their sale of embedded Java.

      That's pretty much exactly what I said, though. They're using patents to prevent competition.

      And it's kind of hard to say Sun was "never happy" when they published press releases congratulating Google on releasing Android and promised Android support in NetBeans.

      That said, nothing prevents us from wondering "what if" Google had based their JVM on OpenJDK. ...

      It would suck. The JVM is a lumbering undead monstrosity. I say this as someone who's livelihood depends on it on a daily basis and (unfortunately) spends about 70% of his time writing Java code, now. It's just bad. There are significant, low-level design differences between the Dalvik JVM and the Java JVM that make it a significantly better choice for mobile development.

      Sometimes Google suffers from NIH (Not invented here). I think Google would came up with any excuse to have their own JVM, since the creator of the JVM would have the most control of the development space.

      I don't believe Google invented Dalvik. And I know they didn't write the initial version of Android. And, again, the Sun JVM is terrible for mobile development.

      Bending the truth a little to make a point are we? They didn't break loops. There was a bug in the hot spot compiler that would incorrectly optimize the loops produced by the JVM. THIS WAS FIXED IN A PATCH that was released shortly after the initial release of Java 7.

      They broke loops in our app, and in Apache's stuff. Granted, I only care about the first one... They shouldn't have shipped it broken. They were informed about it and stuck their fingers in their ears and said "LA LA LA I'M NOT LISTENING" and shipped anyway.

      Of all the modern programming languages in popular use today, Java is the most backward compatible.

      And I'm listing that as a negative, not a positive. So much of the legacy Java 1.1 stuff is just BAD and completely broken, but it stays around and causes problems for everyone. So many APIs are completely braindead, and yet we can't fix them because that may break someone's code from 1996!

      To be fair, as a fellow C++ guy, I would be remiss if we perpetuated a false image of C++ code always being backward compatible or working unmodified on different platforms or even using different compilers on the same platform.

      It was never my intention to give that image of C++. On the bright side, C++ in fact breaks backwards compatibility where it makes sense, as seen with C++11.

      With regards to Flex, it looks nice and it has potential. It still will be a jack of all trades and a master of none.

      Flex is a much nicer way to make nice looking client-server apps than I've ever had to deal with before. There's some idiosyncrasies with scoping in ActionScript, but I've learned to deal with them. And it's getting me paid, so I'm happy. :)

      Oh, and Flex actually has closures... Which was one of those features Sun/Oracle punted on in Java 7. So nice...

      --
      Maxim: People cannot follow directions.
      Increases in truth directly with the length of time spent explaining them
    19. Re:OpenJDK? by Bill_the_Engineer · · Score: 1

      It would suck. The JVM is a lumbering undead monstrosity. I say this as someone who's livelihood depends on it on a daily basis and (unfortunately) spends about 70% of his time writing Java code, now. It's just bad.

      JVM is not Java. Scala, Jython, and JRuby run within the JVM and JVM7 has better support for these dynamic languages.

      And I'm listing that as a negative, not a positive. So much of the legacy Java 1.1 stuff is just BAD and completely broken, but it stays around and causes problems for everyone. So many APIs are completely braindead, and yet we can't fix them because that may break someone's code from 1996!

      That's a feature that separates a mature language from a flavor of the month language. With your examples, I doubt the authenticity of your points.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    20. Re:OpenJDK? by Chibi+Merrow · · Score: 1

      JVM is not Java. Scala, Jython, and JRuby run within the JVM and JVM7 has better support for these dynamic languages.

      Are you suggesting the JVM should be used to run Scala, Jython, and JRuby on a mobile platform?

      That's a feature that separates a mature language from a flavor of the month language. With your examples, I doubt the authenticity of your points.

      Refusing to fix broken, braindead APIs sounds more like a mark of senility than maturity to me. :)

      --
      Maxim: People cannot follow directions.
      Increases in truth directly with the length of time spent explaining them
    21. Re:OpenJDK? by Bill_the_Engineer · · Score: 1

      Are you suggesting the JVM should be used to run Scala, Jython, and JRuby on a mobile platform?

      Why not? I'm seeing the same thing done with Dalvik. JVM is ahead of the game when it comes to JIT and dynamic language support.

      I didn't mean to sound too harsh on the "authenticity" comment.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    22. Re:OpenJDK? by Jonner · · Score: 1

      Thanks for the info.

      Does copyleft mean that if you use something what you release has to also be open source and free? Does that mean that Oracle is actually suing Google to be more open in their implementation rather than shut it down?

      Do we know why they won't open source the compliance tools? Does that effectively prevent other implementations of Java from existing? Do we know why Oracle wants that?

      I forget that not everyone here is familiar with Free Software and Open Source licenses. Copyleft is "a general method for making a program (or other work) free, and requiring all modified and extended versions of the program to be free as well." Since most of OpenJDK is under the GNU General Public License, the most common and best known Copyleft license, if you use any OpenJDK code as part of something which you release, it must also be released under the GPL. If you add some features to OpenJDK and release it, this applies, but it does not apply to Java programs complied by the OpenJDK compiler or Java bytecode running on the OpenJDK JVM.

      In contrast, since the Apache Harmony project is under a permissive, non-Copyleft license, anyone is able to use it for any purpose, including using it in proprietary, non-Free software, which is what Google has done by using parts of it in Android.

      Oracle does not want anything to be more open. I haven't been following their suit against Google closely, but I believe their claims are primarily about patent infringement. They have attempted to make some bogus copyright claims, but I think they've abandoned that by now since Google didn't use any of their code and doesn't seem to have violated anyone's copyright license. The patents Oracle is claiming Google violated are probably violated by anyone implementing Java whether they use OpenJDK, Harmony, or some unrelated implementation. Oracle seems to be saying, "as long as you use the implementation of Java we control, we probably won't sue you, but if you piss us off, all bets are off." Since patents covering software are independent of the implementation source code and language, this is potentially dangerous for anyone using Java and probably other languages.

    23. Re:OpenJDK? by Jonner · · Score: 1

      Does that mean that Oracle is actually suing Google to be more open in their implementation rather than shut it down?

      While I wouldn't put it that way, technically yes.

      However, the real reason is Oracle wants Google to pay royalties to them like all phones that use JavaME do.

      Oracle is not suing Google to make anything more open. They are suing Google for patent infringement in code Google has already released as Free and Open Source software. Oracle is attempting to use their patents to extort money out of Google. I'm sure they'll do the same to anyone else with enough cash for them to think it's worth it.

    24. Re:OpenJDK? by DickBreath · · Score: 1

      It's not just limited to the programming language, like C. The problem is that if you write any non trivial code and are making money from it, and someone, say Apple or Oracle or Microsoft does not like it because they are unable to compete in that field, then they will find a patent somewhere that you infringe and sue you. The patent doesn't have to be over the language you write in. It could be over anything they have a patent on, such as displaying an animated indicator as a placeholder while some background operation completes (eg, equivalent of spinning hourglass).

      It's that you're innovating where they cannot.

      The patent is just the tool to extort money from you. It does not need to be a patent covering C, or Java, or any other language. Just a patent, any patent, will do as a club.

      --

      I'll see your senator, and I'll raise you two judges.
    25. Re:OpenJDK? by Anonymous Coward · · Score: 0

      The GPL license is not copyleft. OpenJDK is GPL 2, as Harmony was Apache 2.

      Apache 2 is GPL 3 compatible, but not GPL 2 compatible.

      GPL compatible licenses
      Apache GPL compatibility

  9. Apach eHarmony by Anonymous Coward · · Score: 0

    Anyone else read the title as "Apach eHarmony Moves To Apache Attic"?
    Damn I'm lonely.

  10. screw apple! by Anonymous Coward · · Score: 0

    just another example of apple stifling innovation! oh this is apache... sorry, stopped reading the article after the first three letters.

  11. Harmony by Anonymous Coward · · Score: 0

    "Harm me with Harmony" says MC Hawking. http://www.youtube.com/watch?v=2knWCuzcdJo

  12. In the spirit of the Golden Girls theme troll by Anonymous Coward · · Score: 0

    Harmony and me
    Are pretty good company
    looking for an island in a photo pharmacy
    Harmony gee I really love you
    and I want to love you forever
    and dream of never, never leaving Harmony

  13. Harmony went to the attic? by Anonymous Coward · · Score: 0

    Sounds like an old IRC discussion.

  14. Re:Good by Anonymous Coward · · Score: 0

    Apache fails again. Good.

    Good? What did Apache run over your dog or something?

  15. Thanks Google by Anonymous Coward · · Score: 0

    Thank you Google. There could have been a fully compatible Java implementation with a compatible and permissive license but no, you saw just the Apache license and so you took it, forked it and released it as your own incompatible Java, ruining it for everyone. And you're supposed to be the good guys?

    1. Re:Thanks Google by Anonymous Coward · · Score: 0

      I'm happy that the accumulated cruft of JDK/JRE is not there in mobile devices. Plus they'd also probably have stripped half of OpenJDK anyway.

      But the option of forking JDK maybe was better from the current point of view, for avoiding legal trouble. The Oracle lawsuit wouldn't be possible, or would be much more limited in scope (GPLv2 also grants free patent license). Maybe they are keeping the possibility of switching their code to GPLv2 as a way of being compliant instead of paying licenses or getting banned from the US market (not sure if all code written based on OpenJDK libraries is obligued to be GPL, similar to past situation with linking of Qt libs?)

      Maybe Java fans are hoping that Oracle could force JRE or JME into Android, but I hope Google wins the case ,at least the copyright one, because other outcome would mean that clean room API implementations are illegal. Many emulators, compatibility layers, Wine project, hell, even Unix clones itself, would become vulnerable to lawsuits, probably regardless of compatibility justification (although Dalvik is compatible only to the extent of luring developers into a familiar environment by keeping the basic API set and language syntax).

    2. Re:Thanks Google by Anonymous Coward · · Score: 0

      To update myself, there is a classpath exception, which is a linking exception to OpenJDK's GPLv2 license. Therefore it's clearly legal to write, compile and run code with different licenses using only OpenJDK. Also there is no restriction on field of use with OpenJDK, only with optional conformance license.

      There's a caveat for Google though. Since GPLv2 explicitely revokes the license in case of violation, it might not be enough to convert part of the Android core and API bits, particularly Harmony-based code, back to GPLv2 in case Google is found guilty of copyright lawsuit, but the classpath exception will anyway mark all the linking code, such as Android libs or apps as non infringing. Also patent lawsuit is complicating it for Dalvik since it's not based on OpenJDK, so Google would need to "cleanly" reimplement it using OpenJDK to get a patent license (or somehow work around these patents).

  16. Relocate people to Symphony & OO by Anonymous Coward · · Score: 0

    pleaseeeeeeeeeeee.

  17. Re:Good by Anonymous Coward · · Score: 0

    His job got taken by an Indian.