They follow recent departures such as Doug Lea in October, who said “I believe that the JCP is no longer a credible specification and standards body”, as well as more recently Tim Peierls, who voted against the Java SE JSRs.

The decision, whilst widely expected, shines a light on the specific issue at hand; that Oracle has “failed to uphold their responsibilities under the JSPA” in providing reasonable and non discriminatory licensing for the Java SE TCK. In fact, in court Oracle recently acknowledged that they used to support Apache in an open TCK, whilst claiming in court that they “were and are available free of charge to qualifying universities, colleges, not-for-profit organizations, and individuals ”

Apache finish by claiming that the JCP's integrity has been damaged beyond repair.

The Apache Software Foundation concludes that that JCP is not an open specification process - that Java specifications are proprietary technology that must be licensed directly from the spec lead under whatever terms the spec lead chooses; that the commercial concerns of a single entity, Oracle, will continue to seriously interfere with and bias the transparent governance of the ecosystem; that it is impossible to distribute independent implementations of JSRs under open source licenses such that users are protected from IP litigation by expert group members or the spec lead; and finally, the EC is unwilling or unable to assert the basic power of their role in the JCP governance process.

Oracle has a responsibility to move Java forward and to maintain the uniformity of the Java standard for the millions of Java developers and the majority of Executive Committee members agree. We encourage Apache to reconsider its position and remain a part of the process to move Java forward. ASF and many open source projects within it are an important part of the overall Java ecosystem.

Ultimately, Oracle's acquisition of Sun was about getting a bargain in order to drive more revenue. With the community drifting away from the JCP and Oracle's TCK Trap, Oracle seems more interested in driving short-term economic gain whilst running Java (and the community) into the ground. Unfortunately, communities can be powerful movers in the technology world; look at the recent growth of SpringSource and their acquisition by VMWare, which happened through significant community building and therefore sponsoring of products.

It is very bad news that ASF leaving the JCP. The things done by ASF for the java community is huge. I don't know what oracle is thinking in their mind. They should first realize that money is not everything. Lets respect the community first and technology will grow easily. I am so much worried about the future of java.

Another big lawsuit is by Oracle against the Android platform. Everything shows oracle wants to dominate the Java world.God only can save Java from the Oracle Killer.

I don't work for Oracle and never worked for SUN. All of this drama is just drama. It says nothing about the future of Java. Not every apache committer feels the same way. Although flawed, the JCP is a useful organization. Where's the JCP equivalent for C#, Perl or Python?

Oracle is spending more money in stacking lawyers than spending money, time and effort into betterment of the language. It will not bother Oracle even if java is dead in times to come. It's main revenue is anyways not from java neither will it be.

A language is as good as the ecosystem around it. Java was prevalent because of its community support spearheaded by apache, google and the likes. Now google is moving away from java to python. Apache has shown the first signs of its disgust against the current state of affairs. Apache foundation has all the brains and it will not be very tough for them to make the switch to another platform and contribute there.

Python has grown enormously, thanks to the community effort in creating a gamut of very well written libraries therefore creating an even bigger ecosystem. It's recent foray into cloud adds to its benefits as a language.

Every language has its life, so will java. Unfortunately with the help of Oracle the end might be sooner than thought.

Oracle is spending more money in stacking lawyers than spending money, time and effort into betterment of the language. It will not bother Oracle even if java is dead in times to come. It's main revenue is anyways not from java neither will it be.

Really? It felt to me as if Sun was starting to grind to a halt with respect to moving java forward. Oracle's vast resources will likely lead to more money being spent on Java. Also Java is at the core of many (most) of Oracle's products, minus the database itself (even there they have an embedded JVM). Oracle still make more money from DB sales, but the ratio's are shifting.

Now google is moving away from java to python.

What data do you have to back this up. Google always used Python & Java, and they still heavily use both. One of their biggest ventures is Android (linux/java).

Madhav: Oracle is spending more money in stacking lawyers than spending money, time and effort into betterment of the language.

This is completely untrue, and it's insulting to the people who are investing time in building the Java platform -- and it's worth pointing out that there are now many more of them at Oracle than there were at Sun when Oracle acquired Sun!

Madhav: It will not bother Oracle even if java is dead in times to come. It's main revenue is anyways not from java neither will it be.

Again, this is a ridiculous and completely unfounded assertion. Java is hugely and strategically important to Oracle, and it was important to Oracle even before the acquisition of Sun!

A significant portion of Oracle's business comes from "middleware", which includes Java, application servers, SOA infrastructure, etc. Even more significantly, the Oracle suite of applications is built on top of these technologies, and this "applications" part of Oracle dwarfs the "tech" part.

Madhav: Apache has shown the first signs of its disgust against the current state of affairs.

No. Apache has been upset with the licensing issue for years. The difference now is simple: Oracle was successful in pushing the Java 7 vote through the JCP, which Sun had not been able to do. Whether or not you agree or disagree with Oracle, Sun or Apache, you must understand that Apache was able to successfully keep the licensing issue front-and-center, and to use it as a lever to block the Java 7 JSR until Sun dealt with the licensing issue. What forced Apache to make a decision (i.e. to leave the EC and the JCP) was that Oracle was able bring the Java 7 JSR to a vote, and to get enough "yes" votes to pass it.

Since the licensing issues that Apache had raised had not been addressed, they resigned from the EC and the JCP. I do think that Apache's departure is unfortunate (it is a loss for the JCP), and it was quite likely avoidable.

Nonetheless, it is neither fatal for Java nor an irreversible decision for Apache. Whatever issues were there that caused Apache to vote against the Java 7 JSR and to leave the JCP remain, and should be answered and (where possible) resolved. Likewise, Java 7 (and Java 8, which was also ratified) must be completed and delivered. There's a lot of work to be done, and a lot of good work that is already being done.

Cameron, I agree with you 100% that the reasons behind Apache departure which were also concerns of most of the EC members must be addressed, but so far the responses from Oracle are nothing more then buzzwords that never addressed those concerns. So when will we see a relevant response? After all if 'C' in JCP still stands for "community" and not "customer only" then there is an obligation to the community which so far is ignored by Oracle.

Please stop thinking, that the Apache project will stop doing any Java projects anymore! They will not make suicide! This is not what will happen!

Java exists in 2 open source versions:

OpenJDK, GPL licenced (with exceptions)

Apache Harmony, Apache licence

So you have 2 versions of Java which are independent of Oracle, and can be included in any fully free Linux distribution. 99% of OSS users are happy.

Why are 1% unhappy? Because of the secondary effect of the licenses!

From Apache Harmony you can make proprietary versions of Java and (so) keep the modifications, and with OpenJDK you can't. If you are just a user of core Java (JVM, Java API), you won't bother, because you are developing Java applications, and (possibly) make your money with them.

But if you want to make your money with modifications of core Java, then Oracle has something against it! Apache Harmony is financed by companies, which want to do this (some, like IBM, have given it up in the meantime).

What it not understandable is why the Apache Software Foundation is doing this step for 1 single project, when they can use their influence for the other over 100 (!) projects? Are particular interests inside the Apache Software Foundation this step worth?

Hello Bojan, I am a Java programmer for 9 years. The latest version I have been using is the 1.6.x. Now, atleast 1.6 should be free from the Shackles of Oracle, am I right? As a programmer, do I need to worry if only Oracle has the rights over Java. Is it not true that the programs that I write in Java should belong to me and not to Oracle? Will Oracle allow people to run Java on their servers without any cost? Even if for Apache, Java doesn't grow beyond 1.6, I think the version 1.6 + Groovy should be good enough for current applications needs. What do you guys think?

I think it's time to face the music. Java is in decline. The language itself hardly evolves (the features included in Java 7 are a big laugh, .NET has them for 'years') and the ecosystem around it is a big mess. You can see it every day: people are abandoning the sinking ship. Why? Because the Java ecosystem is just one big place people whining about the 'openess' of the platform instead of moving the platform forward. Each of them have their own agenda and the result is just a total mess.Let's have an example: some people have tried to provide new languages on the JVM as Scala, Clojure, Groovy... as they thought it could be a way out of the decline of the Java language. However what we've seen is the problem we always have seen in Java's history: each day we had a new 'the flavour of the day'-technology (language in this case). Just as it went with the MVC frameworks and the ORM technologies and so forth. Now the question is: which language on the JVM will be the future replacement for Java? The answer: none. The community will never agree on a language and there will always be something around which is newer, more flashy and blablabla. As long as 'developers' and other technology-blinded people are running the place, the problem won't be solved.Now, let's have a look at the Microsoft way. Microsoft and only Microsoft determines the future of the .NET platform. No endless discussions between people who are whining about the openess of the platform and 'ideologies of 18-year old kids'. One central point of decision and one provider of technologies/frameworks. It's philosophy: take it or leave it. The result: a couple of languages which are not a mess as Java is today, some nice frameworks and all these nicely integrated in the IDE. No 20000 integration points within the IDE or between frameworks. Just a 'working' environment where people just code instead of wasting time trying to integrate broken plugins of different providers which don't work or don't seem to work together (Eclipse anyone?). If I was a customer hiring a Java developer and I would see how many of their hours they had to spend not actually delivering business value but just making workarounds getting stuff integrated, I simply wouldn't pay them (serious). Business has no interest in your broken platform/technologies.What we need is a strong policy from Oracle. Let them make the choices. It's so much more efficient to have one central decision point and one provider of a 'working' platform. A message to the community: stop whining about openess and other flawed ideology. Let's move the platform forward. It's time for the community to grow up.Anyway I already had a look at the .NET framework and I hope my next job is a .NET one. No more need to waste time learning 500 frameworks who actually all do the same thing. No more wasted time integrating broken stuff. Just having the opportunity for doing what a developer is supposed to do. No more inmates running the asylum.

In no case will your code belong to Oracle! Even if you are using the OpenJDK. That's why there are exceptions to the GPL license!

Whether the, since a decade fast, server version of Java (=JVM + API) will stay free depends on Oracle. As companies use commercial versions of OSS like the one for JBoss, so they will be ready to pay for Java. However, there is still OpenJDK.

I don't care which version something has. However, Groovy runs only on the JVM. You will have a different language, but your dependence to Oracle will stay the same.

I hope Oracle won't be so sadistic to just let the interpreter mode for free! There are many Java virtual machines, even commercial ones for different purposes. Some are for hard real time operations, other for handling big amount of memory.

Re: Time to look seriously at JavaScript on the back-end
by
Bojan Antonovic

@Jimmy: I get your argument about one central decision point, but not your conclusions.

How many operating systems should be allowed on the x86 architecture? The same amount as languages for the JVM? Is 1 the answer, or many? How many chess games should exist? How many versions of Civilization-like games?

"Take it or leave it" counts for all Java based frameworks too. Alternatives to the "default" are good because the "default" can stagnate.

There are so many Java based frameworks, because everything allowed it to grow, in the positive sense! Do I have to remember you that the collections part of the .NET framework was such a crap that a student had to develop the C5 framework in his diploma (or master ?) theses as a replacement?

If you want to use just only one Java framework, take the actually most preferred one, and learn this one well.

Diversity and uniqueness have their own benefits and pain points. But as Microsoft lacks ingenuity, I became an Apple user 10 years ago. And I wouldn't use a language like C# which repeats the complexity errors of C++.

I left Microsoft and C++ and took Apple and Java. Because ingenuity. My choices, and my conclusions. No offense! :)

Oleg: "so far the responses from Oracle are nothing more then buzzwords that never addressed those concerns. So when will we see a relevant response?"

Regarding a large company like Oracle, it's important to understand the difference between influence and decisions. There are many people at Oracle (including many from Sun and BEA) who are working to positively influence the way in which Oracle as a company manages and stewards Java, and the way in which it interacts with and invests in the development community, but there are key decisions (such as those around licensing, which relate to Apache and the Java TCK for example) which -- as business decisions -- are made several levels up the tree, and for which engineering only provides guidance and influence.

What many perceive as aggressiveness and even malevolence is much simpler: many of these issues have yet to be evaluated and decided, and the generic policies in place in the meantime are intended to provide simple, safe -- but not necessarily the desired -- answers. As in any large hierarchical organization, there is a "decision traffic jam" as decisions go higher in the organization, so it's not surprising that what is perceived externally as a simple decision may get queued for weeks or longer. Take the Apple OpenJDK decision: it took several weeks (after it had been negotiated) to get the decision and the announcement approved.

Oleg: After all if 'C' in JCP still stands for "community" and not "customer only" then there is an obligation to the community which so far is ignored by Oracle.

Oleg, despite its huge success over many years, Oracle has not had a tradition of fostering strong, vibrant developer communities, and has never had a responsibility quite like the one it inherited when it acquired Java. Fortunately, Oracle does have a great set of employees who are willing and working to change that for the better. That change isn't going to occur overnight though, and it isn't going to occur in the absence of a plan that shows that what's good for the Java community is also good for Oracle as a business. And that's exactly what we're working to bring about.

With such an infrastructure we will be able to develop in whatever language we choose and still obtain interoperability across modules. Cross-langauge interoperability in the new VM may require additional restrictions but that would just affect the edges of a module or component.

Re: Time to look seriously at JavaScript on the back-end
by
Richard Clayton

Nonsense. JavaScript is not going to replace Java. There are some many frameworks on the JVM and such a stigma for JavaScript. Have you tried using NodeJS? What web framework's are you using on it? How about distributed transactions and Database Access? I think it's far more likely that .NET/Mono, Ruby, and Python will take some of this market share, but Java is still not going anywhere. We'll probably see new, non-Oracle JVM's become popular before we see 10 million Enterprise JavaScript Architects!

Re: Time to look seriously at JavaScript on the back-end
by
Richard Clayton

I think you underestimate the importance of having a rich set of pre-existing frameworks and communities for a language. The Java language is dated. Yes, I hate writing in Java and prefer C#. But .NET's open source community was the big laugh (especially compared to Java) until the last 2 years. * I should caveat this by saying "the big laugh" was the size, not the quality of software. * The Java Open Source community has continuously pushed the boundaries of technology in so many areas. Where is the .NET MapReduce framework? Outside of RavenDB, where is .NET in NoSQL? Many of the excellent .NET open source frameworks are simply ports of Java ones (Spring, Hibernate, Lucene, etc). I admit, I would like to see .NET's community improve, but I think we should not discount Java's.

Also, the new JVM languages are not fads. They are well thought out and powerful. I love Clojure, but it's such a jarring experience trying learn (especially if you come from an traditional C-style language) I don't think it will become the dominant one on Java. Scala, however, is powerful, not very difficult to learn and addresses many of the inadequacies of Java. I think the fact that there are so many JVM languages demonstrates the power of Java community. These engineers could have migrated to .NET or Mono, but didn't.

Re: Time to look seriously at JavaScript on the back-end
by
Amarnath Palavalli

@Bojan:Well said. It is nightmare to use technologies from MS (no offense). I have used it for 5 years and still don't understand why it should be so closed. For every big of problem should do search on MSDN for hours and wait for the next release from MS like a beggar. After shifting to Java I have choices, I can download the source code and debug myself. Fix the issues in minutes than wasting days. To give an example, not all .Net run time versions are backward compatible. Is it good for developer community to work with such technologies? Why waste in making fixes to your code with every release of windows OS and .Net versions. It is a hell to download various services packs and unknown things from their website. Take their OS itself, because of Vista (Visaster) I tried Mac and am very very happy to make this change.

Great idea. The Google V8 VM is an ideal candidate. Static VM's like the JVM were a mistake of history (wrongly borrowing the idea of compile time optimisation from C++). Runtime optimisation is the way forward, and V8 has that in spade loads. Also Javascript has the real possibility of becoming a universal assembly language, with back end compilers that compile from popular languages to Javascript as needed.

With the ubiquitous nature of V8, the power, optimisation possibilities and feature support of a dynamic VM, and the relative ease to parse popular languages (including Java) into Javascript, V8 could become the VM of the future.

Bojan, I think you missed one of the critical point here. There's is *no* real open source Java version. OpenJDK is free (as in free beer), but you can't really use it the way you want because of the FOU restriction. Apache Harmony can't be released because Sun/Oracle did not agree with giving Apache a free TCK, which is the only way to free Harmony of patents. So OpenJDK isn't really free (as in speech) and Harmony can't be used at all. Why would you think Google created Dalvik if that wasn't the case?

As to Java being strategic to Oracle, it's certainly true as a lot of Oracle's software are based on Java, but now that Oracle controls Java, why would it care about the community ? Their only read need is to make sure they have full control over the JVM they use in their products.

I think C# is safer, because is it an ECMA standard, so Mono can freely implement it, whereas noone but Oracle have rights on Java :-(

Cameron: Regarding a large company like Oracle, it's important to understand the difference between influence and decisions. There are many people at Oracle (including many from Sun and BEA) who are working to positively influence the way in which Oracle as a company manages and stewards Java, and the way in which it interacts with and invests in the development community, but there are key decisions (such as those around licensing, which relate to Apache and the Java TCK for example) which -- as business decisions -- are made several levels up the tree, and for which engineering only provides guidance and influence.

What many perceive as aggressiveness and even malevolence is much simpler: many of these issues have yet to be evaluated and decided, and the generic policies in place in the meantime are intended to provide simple, safe -- but not necessarily the desired -- answers. As in any large hierarchical organization, there is a "decision traffic jam" as decisions go higher in the organization, so it's not surprising that what is perceived externally as a simple decision may get queued for weeks or longer. Take the Apple OpenJDK decision: it took several weeks (after it had been negotiated) to get the decision and the announcement approved.

Cameron, with all due respect, this problem is on top of the stack since *2006*. We are not talking about *weeks* here. More than that, Oracle has totally changed its mind when it acquired Sun. Oracle backed The ASF until then, claiming that SUN wasn't respecting the JSPA.

How do you explain this 180° change of mind, and how do you explain the lack of response to the simple questions The EC members asked? You simply can't, Oracle simply can't without admitting its bad faith.

Now, Oracle changed its mind for good business reasons, but anyway, this will harm Java in the long term. More than that, it harms oracle image - well, some might consider Oracle is already evil, so one more drop does not change anything -.

If you wonder how to waste both a technology and a company reputation, I bet this event will be studied in business school in the coming years...

Re: Time to look seriously at JavaScript on the back-end
by
Stan Spotts

The MapReduce framework is equivalent to the Dryad project from Microsoft. Here's a link to a YouTube video from a Dryad presentation at Google in 1997 - www.youtube.com/watch?v=WPhE5JCP2Ak.

If you've been following anything about Azure, you might realize that Azure is a huge platform for NoSQL, and MongoDB is either announcing or already announced integration this month.

My only point here is that there is more going on with open source and Microsoft than many people (want to) recognize. Microsoft isn't very good at promoting it, but there is a growing movement internally and externally to support open source. You're definitely right that its only been in the last few years that the momentum reached something of a tipping point.

Emmanuel: ".. this problem is on top of the stack since *2006*. We are not talking about *weeks* here. More than that, Oracle changed its mind for good business reasons, but anyway, this will harm Java in the long term. More than that, it harms oracle image - well, some might consider Oracle is already evil, so one more drop does not change anything -."

With reference to Java SE, the case we are attempting to make internally is that the current (originally Sun, now Oracle) approach to limiting the FOU on Java SE (e.g. in order to reserve the option to later attempt to monetize specific use cases) is a waste of time and effort, and not good for for business. With respect to Apache, I do know that work was going on just a few weeks ago to resolve the TCK licensing issue, and I still personally hope to see that resolved.

Emmanuel: "If you wonder how to waste both a technology and a company reputation, I bet this event will be studied in business school in the coming years..."

Unfortunately, I doubt that you are correct. Developer good-will takes many years to engender, and it does not tend to have measurable Return On Investment (ROI). Therefore, business schools will either ignore this event altogether, or ironically they might even classify it as a success for Oracle (revenues, stock price, etc.)

Nonetheless, I do believe that Java's success to date -- and its likely success in the future -- is in no small measure based on the vibrancy of the Java development community. As you have pointed out, this is something that Oracle can unwittingly harm as a side-effect of business decisions, but it is also something that Oracle can help ensure a future for -- by communicating well, being open to industry and community involvement, and by investing in the development community, e.g. through events such as JavaOne.

Re: Time to look seriously at JavaScript on the back-end
by
Richard Clayton

Dryad has an academic license (cannot be used for commercial purposes) and is not being used by anybody in some meaningful manner. Meanwhile, thousands of companies are using Hadoop and Google's been using MapReduce prior to the framework's existence.

I have no idea as to Azure's capability, but I do know there's no option for private cloud. I also doubt you can accurately claim that Azure is as big as Amazon EC2 and Google AppEngine.

So, for OpenJDK6, the current OpenJDK community TCK does not have such a FOU. But it applies only to JDK 6, not JDK 7, for which the standard TCK applies (unless Oracle decide to s/6/7/ in the OpenJDK community TCK) :

"II. Field(s) of Use: Products for use on “General Purpose Desktop Computers and Servers" meaning computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools). The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function-specific software applications, for example, but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, netbooks, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition."

@Guillame> There's is *no* real open source Java version. OpenJDK is free (as in free beer), but you can't really use> it the way you want because of the FOU restriction

@Emmanuel> I guess Guillaume was talking about Java 7, not Java 6.

With respect, I don't think he was. He said there is "*no* real open source Java version". OpenJDK is free (as in beer) when it is actually free (as in speech). It's protected by the implied patent license in the GPLv2 and has no field of use restrictions. So, yes, there is a fully open source version of Java. Does that mean you can take it and relicense it in ASL2? No, the license doesn't allow this, but that's by GPL design.

(People often get confused by the Apache TCK issue, and conclude that it tars the OpenJDK also)

It's a fair point you make about Java 7, but Oracle have recently stated they intend to build Java 7 into OpenJDK. Let's hope (and presume) they keep their word.

Re: Time to look seriously at JavaScript on the back-end
by
Tester Testersson

Well said - I couldn't agree more.

As long as Java ecosystem will be fragmented (not to be confused with "diversified") the whole platform will remain one big mess.

No 20000 integration points within the IDE or between frameworks. Just a 'working' environment where people just code instead of wasting time trying to integrate broken plugins of different providers which don't work or don't seem to work together (Eclipse anyone?).

Yeah, Eclipse serves as a nice example of the problem (especially in IBM's WAS IDE flavour).

The OpenJDK has a classpath extension allowing certain named non-GPL'ed libraries to be linked into the JavaSE VM without this forcing them to be GPL'ed themselves. The JavaME libraries, apparently are not part of this provision. So, legally there is nothing stopping you from using OpenJDK (without JavaME) as the basis of a mobile platform, but any libraries for interfacing to the hardware etc would have to be GPL'ed.

However, GPL'ing all your proprietary libraries is not acceptable to the carriers/handset manufacturers, hence they either license JavaME and the libraries or they use Android...

Is your profile up-to-date? Please take a moment to review and update.

Email Address

Note: If updating/changing your email, a validation request will be sent

Company name:

Keep current company name

Update Company name to:

Company role:

Keep current company role

Update company role to:

Company size:

Keep current company Size

Update company size to:

Country/Zone:

Keep current country/zone

Update country/zone to:

State/Province/Region:

Keep current state/province/region

Update state/province/region to:

Subscribe to our newsletter?

Subscribe to our industry email notices?

You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.