As you all know ASF quit the JCP and the things between them and Oracle are not going so smooth. Not only that, Oracle is cooking some enterprise level JVMs. With all of these happening, I think it proves that Java is moving to a more closed-source environment.

I'm curious if this will affect all those apache projects built around Java, e.g. Tomcat, Ant, Maven, Derby, Jackrabbit, just to name a few. Will these projects be in danger of disappearing due to the conflicts revolving around Java? Why?

  • 9
    Um, you should probably ask Apache this. – chrisaycock Dec 23 '10 at 14:37
  • 1
    How exactly are the conflicts related to ASF abandoning Tomcat or any other of its projects ? – mP01 Jun 19 '11 at 10:17

I think what Apache is doing is waiting for the community to pick up on OpenJDK - they want that to be the future of Java instead of Oracle. This is a very mature decision from Apache and I really respect them for this.

Java is just a language. It's silly for Apache to change languages because they're having issues with one implementation they were using (Oracle's).

So yes, they will definitely continue writing things in Java, and I'm pretty sure OpenJDK will be the next big thing for them.

Here's a quote from Jim Jagielski (Co-Founder, Chairman, Apache Software Foundation) on his blog-post about JCP's death and a new future that should be driven by the community:

But maybe, from this death, a new, true community process might arise somewhere, with a different collection of people, one with no entity "more equal than others". That is something I think the ASF would be quite interested in seeing.

It's great to see these kind of radical changes happening in software. I wish they would happen in the government system as well, because sometimes things need to change.

  • I don't believe Apache had problems with Oracle's Java implementation, it was with Oracles stewardship of the JCP and, by extension, the Java language standard. Oracle may well find itself in another "Hudson" situation if it doesn't play better with the community it depends on. – TMN Dec 24 '12 at 17:36

AFS' conflict with Oracle centers on "Field of Use" restrictions that Oracle placed on Technology Compatibility Kits for the Java language. As I understand it, the TCK's are only licensed for use under the GPL, which effectively bars Apache from a license under their own terms (the Apache license is not GPL compatible).

This is not the first time this battle has been fought. It was fought in 2007 with Sun as well. More info here. As far as I can tell, this issue was never satisfactorily resolved. But Apache is still around, and all of their software products are still here and being vigorously maintained and enthusiastically used in software projects.

Note that the lack of a license for the TCK does not bar the unrestricted use of the Java language for Apache products, and Oracle offers a TCK that can be used to prove Java compatibility. Apache merely wants their own, unrestricted implementation of the TCK (called "Harmony").

When the JSR voted to move forward with Java SE 7/8, they did so begrudgingly, and on the technical merits only. Most of the members are unhappy with Oracle's "Field of Use" restrictions on the TCK. This kind of thing illustrates why it takes so long for the Java language to get new features.

I don't think the changes to [the license agreement for TCK] would have any practical difference from what they were under Sun's leadership. Sun didn't remove the restrictions on the TCK and showed no intention of changing their mind. The new license wording just clarifies what it is that they are prohibiting (basically a third-party open-source implementation of the Java platform).

So this is exactly as it was before, only specified more clearly. So, yes, the Java SE specification is not entirely open, and it never has been.

Somehow, this rebellion broke out only after Sun's acquisition. It seems to me that the reason is that Oracle just seems an annoying organisation (which it definitely is), and Larry Ellison seems like an annoying guy (which he probably is). Also, Oracle is just too powerful. IBM and Google like the Java leader to be weak. Sun was. Oracle isn't. That's the only reason this is all happening now.

I don't think this affects the Java user community that much. We have the OpenJDK, and commodity Java products have never made much use of Harmony. This only affects huge companies that want to distribute their own Java platform without licensing it from Oracle.



The problem is not with the projects using java (like those you mention), but the projects implementing Java.

The way to be certain you do it correctly is to run the TCK with your implementation and be told what works correctly and what not. If the Java implementation passes the TCK correctly, it can be called Java-compatible. If it doesn't it cannot.

Problem is that the intent for others to be able to implement the Java Language Specification cannot be verified unless they have a license to the TCK. Apache has asked for a TCK license for free, but this has silently been denied by first Sun and then Oracle. This is most likely because the engineers who knew that the best way to make software is to help each others worked towards Open Source, but the decision makers have denied for the potentially money making technologies to be opened up.

What all this means is - in MY opinion - that it has finally been clearly shown without any doubt that Java is a proprietary Oracle technology, and not a free open source technology. This does not imply any changes for the libraries under the Apache umbrella, unless if Apache itself decides to boycott Java which I belive is very unlikely, only for the Apache Harmony Java implementation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy