Apache Software Foundation Resigns from JCP
The Apache Software Foundation announced their resignation from both the JCP Executive Committee as well as the JCP as a whole. Given their earlier statements around the JCP and the Apache Harmony TCK dispute, this move was expected by most observers.
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.
In short, the EC and the Java Community Process are neither.
Oracle have responded to Apache's departure with a claim that they have to move Java forwards and a plead to come back:
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.
However, the news quickly trended on twitter with #JCPisDead, mostly from retweeting Apache's announcement. Some have gone as far as saying The JCP is Dead ... and Oracle killed it, a view shared by Stephen Colebourne
And so, the JCP is dead... All that remains is a zombie, walking the streets of the Java ecosystem, looking for brains...
Since the stalemate with Oracle is unlikely to change, the Apache Software Foundation is unlikely to come back to the JCP; though it is considered a sham by some now in any case. This mirrors the increasingly hostile feelings towards Oracle in the standoff regarding Hudson and Oracle's false claims to the Hudson trademark. Some even see not having Oracle on-board is an indication of project quality. Neil Bartlett weeps for the experts, who have been caught in a political cross-fire.
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.
Oracle appear not to have a clue yet, and the ongoing lawsuit with Google now looks to bring this into sharp focus from an economic perspective.
Good Technology with Bad Owner
by
krishna srinivasan
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.
Re: Good Technology with Bad Owner
by
hong l
Re: Good Technology with Bad Owner
by
Richard L. Burton III
Re: Good Technology with Bad Owner
by
hong l
Nice article
by
Paul Fremantle
Time to look seriously at JavaScript on the back-end
by
Nat Pryce
JavaScript VMs are getting faster and faster, JavaScript IDEs are improving, Node.JS is maturing rapidly.
JavaScript has beaten Java in the front-end. Looks to me like it could replace Java at the back-end too.
a lot of crying over spilled milk
by
peter lin
Re: a lot of crying over spilled milk
by
Paulo Pinto
Python - www.python.org/dev/peps/
TCL - wiki.tcl.tk/983
C, C++, Ada, Smalltalk, Lisp, Eiffel, and many others - ANSI/ISO
Wait for the equilibrium
by
Saad Khawaja
java in troubled waters
by
Madhav Bhargava
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.
Re: java in troubled waters
by
Matt Giacomini
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).
I like python, but I find your comment quite off the mark.
(I don't, and have never, worked for Oracle)
Java is fine
by
Cameron Purdy
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.
Peace,
Cameron Purdy | Oracle Coherence
coherence.oracle.com/
Re: Java is fine
by
Oleg Zhurakousky
understanding the Apache license
by
Bojan Antonovic
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?
Before you start to guess: I don't work for Oracle.
Re: Time to look seriously at JavaScript on the back-end
by
Bojan Antonovic
Or inventent my own language! ;)
Re: understanding the Apache license
by
Vikas Mlb
Re: Time to look seriously at JavaScript on the back-end
by
Jimmy K.
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.
Re: understanding the Apache license
by
Bojan Antonovic
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.
But, like mentioned multiple times, there is OpenJDK.
Re: Time to look seriously at JavaScript on the back-end
by
Bojan Antonovic
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! :)
Re: Java is fine
by
Cameron Purdy
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.
Peace,
Cameron Purdy | Oracle Coherence
coherence.oracle.com/
We really need a new VM
by
Faisal Waris
-a) Strong enough type system to support all major languages (Haskell is probably the strongest)
-b) Dynamic languages
-c) Functional languages (tailcall optimization,etc)
-d) Actor semantics (e.g. Erlang)
- And liberal licensing terms
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
Re: Time to look seriously at JavaScript on the back-end
by
Richard Clayton
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
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.
Re: We really need a new VM
by
Paul Beckford
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.
The again I wouldn't hold your breath :)
Regards,
Paul.
Re: understanding the Apache license
by
Guillaume Nodet
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 :-(
Re: Java is fine
by
emmanuel lecharny
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
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.
Re: understanding the Apache license
by
Andrew McVeigh
OpenJDK is free (as in free beer), but you can't really use it the way you want because of the FOU restriction.
I don't believe that OpenJDK has a field of use restriction. The field of use restriction was instead something that was placed on clean room implementations, in return for access to the TCK.
OpenJDK could not technically be GPL if it had an FOU.
mail.openjdk.java.net/pipermail/build-dev/2010-...
If you believe that the FOU provision applies to OpenJDK, can you please cite a definitive source, otherwise it's FUD.
Re: Java is fine
by
Cameron Purdy
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.
Peace,
Cameron Purdy | Oracle Coherence
coherence.oracle.com/
Re: Time to look seriously at JavaScript on the back-end
by
Richard Clayton
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.
Re: understanding the Apache license
by
emmanuel lecharny
If you believe that the FOU provision applies to OpenJDK, can you please cite a definitive source, otherwise it's FUD.
I guss Guillaume was talking about Java 7, not Java 6.
The current OpenJDK Community TCK is explicit about it :
1.5 "Java Specification" means the written specification for Java SE 6 technology.
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) :
jcp.org/aboutJava/communityprocess/licenses/STA... :
"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."
Re: understanding the Apache license
by
Andrew McVeigh
> 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
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).
Re: understanding the Apache license
by
emmanuel lecharny
Re: understanding the Apache license
by
Andrew McVeigh
There is one slight problem though : I'm not sure you can use OpenJDK 6 on a mobile device. (just wondering...)
It's an interesting question. Here's my take on it, but I am most certainly not a lawyer. Treat this as pure conjecture.
lwn.net/Articles/400692/
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...
Educational Content
Writing Usable APIs in Practice
Giovanni Asproni May 19, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think