Thursday, 16 April 2009

No Java SE 7 - The ASF perspective

I've allowed my recent blog posts on the lack of a Java SE 7 platform JSR and the ASF-Sun dispute to simmer for a couple of weeks. Now, in this post, I'm going to draw on the public information available from the ASF on this topic.

Since all the quotes in this blog are taken from ASF sources (ie. one side of the dispute) I would encourage all readers to consider carefully whether they state fact or opinion. As always, I state that I'm an ASF member, but I'm speaking personally here. My aim is to bring this debate to a wider audience.

ASF board minutes

The ASF is an open and transparent organisation whenever possible. As such, the board meeting minutes for the ASF board are publicly available. As usual, certain items are kept private when sensitive, but most information is public, and the ASF-Sun dispute around Harmony can be traced.

VP of JCP [Geir]
Geir reported that involvement in the JCP regarding JSR's has been active and healthy. He also noted Harmony's intent to request and receive the TCK.

Meeting minutes, July 19th 2006

Here is the first reference to the ASF deciding to ask for the testing kit for Apache Harmony.

VP of JCP [Geir]
Further, we are currently working on the Java SE 5 TCK (for the eventual Apache Harmony project), which is on course for having identical terms as our existing Java EE license. We have been granted the scholarship for the support for Java SE 5 and I have had one draft of the TCK license, so there is measurable progress.

Meeting minutes, October 25th 2006

So, back in 2006 there is evidence that Sun was offering a license with "identical terms" to the other 25 JSR testing kits that the ASF uses.

VP of JCP [Geir]
In other areas, we are still negotiating with Sun regarding the Java SE TCK license (also known as the "JCK"). Discussions on appropriate terms seem to be nearing an impasse, with the current terms unacceptable to the ASF. There still is one more avenue of exploration, and if unsuccessful, will need to escalate inside Sun, or beyond.

Meeting minutes, January 17th 2007

Now, just a few months later it is clear that a problem has arisen.

VP of JCP [Geir]
Last month I attended the quarterly JCP EC f2f [face to face] meeting and was able to give a presentation on our JCK [testing kit] issue. I first described a hypothetical case that was "structurally" similar to ours - where an imple- mentor was being deliberately denied a usable TCK license due to the business strategy of the spec lead. I then argued why such behavior was prohibited by referring to the relevant sections of the JSPA. Once I felt that the basics were clearly explained, I conducted a "straw poll" (informal, unrecorded) and IMO demonstrated that the EC generally agreed with our assertion that the JSPA prohibits field of use limitations in a TCK license. Once this was estabilshed, I informed the EC of the basic details of our dipute with Sun, after which followed a vigorous and somewhat heated general discussion. I'm satisfied that our issue is clearly understood by the EC.

Meeting minutes, March 28th 2007
(Abbreviations expanded in square brackets)

The face to face meeting referred to is described in the JCP meeting minutes of February 27th 2007. It was at this meeting that we now have a record of the vote (in the ASFs favour).

The interesting aspect is how Geir indicates that he described the issue first without any reference to the specifics of the ASF case. Only then was the ASF issue raised. This could be interpreted such that the 'Field-of-use' clause could be used against any JCP member, not just the ASF.

VP of JCP [Geir]
In other related activities, we've asked the SFLC for help in this area, specifically to validate our interpretation that the offered TCK license is in violation of the JSPA from the perspective that the terms prevent us from distributing under an open source license, and also act as a liaison between us and Sun, as Eben is prominently positioned by Sun as a supporter of their recent OpenJDK project. They did agree with our interpretation of terms, and engaged in discussion with Sun (to no avail).

I've also asked some other industry notables that are independent from the ASF and the various commercial actors in the Java ecosystem to appeal to Sun on our behalf.

Meeting minutes, March 28th 2007

In this continuation, Geir clearly indicates that the ASF made efforts to use other groups to mediate before writing an open letter. Specifically mentioned are the Software Freedom Law Center and Eben Moglen.

VP of JCP [Geir]
The ASF has adopted the policy of voting "no" on any JSR for which Sun is the spec lead, starting with the Java EE 6 JSR. This is the only logical position for the ASF to take regarding this matter - we believe that Sun is in breach of the JSPA and public promises, and therefore shouldn't be allowed to start new JSRs in the JCP until the matter is resolved.

Meeting minutes, July 18th 2007

The ASF have now adopted their stance of voting 'no' to Sun spec lead JSRs.

VP of JCP [Geir]
While we have not received an official response from Sun, we do believe that the open letter has alerted the community to the problem. The most visible manifestation of this is how EC members are using a commitment for a FOU-free TCK license as a gating factor in voting decisions. See the recent Java EE 6 vote (http://www.jcp.org/en/jsr/results?id=4306)

Meeting minutes, July 18th 2007

It is noted how other JCP members (companies) are starting to push for FOU-free licenses.

VP of JCP [Geir]
We initiated a motion for vote by both Executive Committees of the JCP...
The vote was held by electronic ballot, and finished last week on Sept 13.
... The vote went as we expected, and I am satisfied with the result. For the record, the motion was as follows, bracketed by "-=-" :
-=-
This is a very important issue and the proposers of this motion recommend that each EC member use the ballot period to review this question within their respective companies and get whatever business or legal opinions they feel that they need to get in order to come back with a firm position.

Motion: We move that the ECs adopt the following statement:

"TCK licenses must not be used to discriminate against or restrict compatible implementations of Java specifications by including field of use restrictions on the tested implementations or otherwise. Licenses containing such limitations do not meet the requirements of the JSPA, the agreement under which the JCP operates, and violate the expectations of the Java community that JCP specs can be openly implemented."
-=-

Question was asked of Geir as to whether he expected Sun to change as a result of this vote. Geir seemed less hopeful than before.

Meeting minutes, September 19th 2007

As far as I can tell, the results of this vote are not present in the JCP minutes. It seems reasonable to assume that if Geir was "satisfied" with the result that the vote was in favour of the ASFs position.

VP of JCP [Geir]
The highlight of this month was the quarterly JCP EC F2F meeting held in Marlborough, a frigid suburb of Boston. Held in a barn heated by a woodstove in the corner, the closest seats to which where appropriated and viciously defended by the repectable gentlemen from IBM and the ASF, the meeting was very well attended (probably the best F2F attendence in literally years) and has been noted publicly elsewhere, the meeting concentrated on the "future of the JCP". Led by Doug Lea, it really was a refreshing and open discussion.

Due to the letter and spirit of the confidentiality restrictions of the event, I cannot report publicly any details other than what I did, but will file a note to the members list later on this week.

As part of the discussion, I noted that for whatever reason, Sun has not offered a JSR for Java SE 7, despite publicly talking about such a version, and creating a project at OpenJDK to work on the RI for the same. Given that it has been 12 months since the release of Java SE 6, it clearly was time to move with Java SE 7 in order to prevent Java from falling even further behind other computing platforms. I asked that Sun, as the spec lead for Java SE 6, to please bring forth a JSR for Java SE 7 for vote by the EC, and be sure that such JSR made it clear that there would be no FOU or other restrictions that could prevent any independent implementation from being distributed under the terms of choice by the implementor. Failing that, I noted that the ASF was ready to lead or co-lead such a JSR, and if vetoed by Sun due to their special rights under the JSPA, we'd lead JSRs to add new features and extensions to Java SE 6 as non-platform JSRs.

Meeting minutes, December 19th 2007
(My highlight)

As far as I know, this constitutes information not previously reported on. The ASF, via Geir, asked Sun to submit the Javs SE 7 platform JSR in December 2007. As an alternative, the ASF offered to lead the JSR themselves. Again, it highlights the connection between the Apache Harmony dispute and the Java SE 7 JSR.

VP of JCP [Geir]
It was made clear that all parties, including Sun, understand the seriousness of the situation and the firmness of resolve among many of the EC to resolve in a satisfactory manner

Meeting minutes, January 16th 2008

The point to note here is the "resolve" of other EC members, by which I'd interpret that the dispute is broader than just ASF vs Sun.

VP of JCP [Geir]
Over the last month, Sun offered the ASF a TCK license for Java SE that while a step in the right direction, failed to comply with the JSPA on a number of fronts and that nothwithstanding, placed requirements upon the ASF that weren't acceptable.

Meeting minutes, April 16th 2008

Sun did try to resolve the dispute here, but they clearly failed to address the root cause of the problem.

VP of JCP [Geir]
Still in the rabbit hole, we continue our discussions with Sun regarding the Harmony TCK license. I had a long meeting with Jeet Kaul at Sun during JavaOne, and I continue to appreciate his candor and directness, but am concerned about the ultimate outcome.

We currently have a proposed license that contains a mix of objectionable elements, including a kind of FOU limitation, a notice requirement and some discussion on the version of the TCK that would be licensed. Honestly, I'm getting tired of backing up.

The notice still doesn't conform to the "3 principles" that have been articulated on internal (and soon to be external) member and legal lists, so I haven't been formally wasting the board's or member's time with the minutea. ...

Meeting minutes, May 21th 2008

This provides more details on Sun's attempts to 'fix' the problem. The minutes indicate that the proposal from Sun wasn't a lot better than previous offerings.

VP of JCP [Geir]
On June 12, I formally told Sun that we are rejecting the then- current TCK license for Java SE as it contained requirements that were unacceptable to us, and in our opinion, incompatible with the spirit and letter of the JSPA as well as open standards.

Meeting minutes, June 25th 2008

The ASF formally rejects the latest attempt by Sun to 'fix' the problem.

VP of JCP [Geir]
We currently remain in a state of deadlock. The effect of this on those who know the details as well as the overall progress of Java itself has been fairly profound, and I'm looking for ways to get the information of the history and status out to the community.

I've thought about drastic action that we could take - such as exiting the JCP EC - but I think that given the reasons for Sun's lack of compliance with the JSPA in this matter, I don't think it would help.

Meeting minutes, August 20th 2008

Deadlock remains. But the effect is becoming more explicit.

VP of JCP [Geir]
The Incomprehensible Battle Against Stupidity and Evil (iBASE) (a.k.a. WOFTAM - "Waste of ... Time and Money") continues, with Sun standing firm with their continued refusal to supply a JSPA-compliant and open-source compatible TCK license for Apache Harmony. This was the only subject of any interest at the recent JCP Quarterly F2F. There is a growing recocnition that Sun's recalcitrance is causing growing harm to the Java platform as a whole, and EC members are eager for something to happen.

Meeting minutes, October 15th 2008

Are there really acronyms for the dispute now?! Again, the message is that Java itself is being damaged here.

VP of JCP [Geir]
Finally - after the last EC f2f meeting, the terms of the Java SE TCK license were made available to all EC members at my request. Many could not understand the problem with the NOTICE as it is deceptively similar to the language found in the JSPA. I've been challenging EC members to take a harder look with their legal team and decide if they would post such an item with their products and services at the request of Sun. So far, one of the major EC members who initially questioned our resistance to post the NOTICE has publicly reversed his position and is arguing on our behalf.

Meeting minutes, December 17th 2008

This seems interesting. Its clear that the exact wording of the terms in dispute appear to be fine at a first read. Yet, at least one corporate (and probably their legal department) has found an issue on closer examination.

VP of JCP [Geir]
0) At request of the JCP EC from the last quarterly meeting, Onno Kluyt of Sun and myself met in NYC to discuss the TCK dispute and see if any forward progress could be found. While we had a nice lunch, and it's always nice to see Onno, nothing was achieved. Sun still believes that it's critical for their business to force us to post the NOTICE (implying, to me, that Sun certainly believes that the NOTICE will materially affect our users - logically, there could be no other reason for them to persist with this destructive dispute.) I iterated our position that we only distribute software under the Apache License, and because the NOTICE would be adding additional terms to that license, it was unacceptable.

1) Quarterly JCP EC Meeting : I attended by phone (there were several that did). Amazingly, the Apache-Sun TCK dispute is still a hot topic. I reported the lack of progress from my meeting with Onno, and participate in a general, sometimes heated, discussion. I iterated the following points :
* This is an active dispute - it is not something of only historical nature, and thus any proposal attempts to fix Java SE licensing in the JCP must address current, active, ongoing problems
* Apache's position is that implementors should be able to distribute implementations under terms that they choose, and Sun trying to limit the license under which the ASF distributes it's software is no different from Sun telling a competitor how much to charge or what markets are acceptable, neither of which would be tolerated.
* Apache isn't looking for an open source TCK or the right to distribute the TCK to anyone else - it would be only for our own use in the Harmony project. We have always worked with Sun's closed source TCKs under confidentiality constraints as specified by Sun.
* Apache would have a tough time trusting any statements from Sun about future licensing as our experience with the Java SE TCK shows that while such statements may be made with the best of intentions, Sun has demonstrated that commitments may not be met.

Meeting minutes, January 21st 2009

This is a fairly detailed restatement of the issues involved. Motivation is indicated for Sun to continue in this battle despite the negative impact. Specifically it is mentioned that the limitations being applied are fundamentally no different to Sun trying to tell a competitor "how much to charge or what markets are acceptable".

It is also interesting to note that after over two years, the EC are still interested in this topic. And that the ASF have, perhaps understandable, deep distrust of any future promises made by Sun.

ASF JCP mailing list

Another source of ASF info is the open mailing list - jcp-open.

> What I don't quite yet understand is why the terms of the TCK were not
> disclosed when we first announced our intentions to implement JSR-176.

Because we understand the JSPA and after N TCK licenses (I forget what N is) I never suspected this would happen. As a matter of fact, the first draft of the TCK license we received was just fine - it was like every other TCK license we received. THe only thing it was missing was the "list price" for the JCK in the event that the ASF converted to a for-profit entity. :/

At the time, I suggested that they put any number they wanted (I suggested $1B) given the likelihood of the ASF being a for-profit. But someone wanted to be a sticker for process, and my assessment is that once the sales people caught wind of this, that's when this problem started.

Geir on jcp-open, May 13th 2007
(My highlights)

So, according to Geir (speaking personally on this occasion), the original version of the testing kit license was fine. It was normal. There was no dispute.

And then something changed which has caused this ongoing dispute. It seems fair to say that the dispute is quite deliberate on the part of Sun.

Summary

So, this is another action packed tour into the world of the lack of a Java SE 7 JSR and the ASF-Sun dispute. I know that there is lots of detail here (and more that I have omitted). And in some ways it doesn't tell us that much more than the previous blogs. But it does help to strengthen the overall view once you find the same information from different sources.

As always, please read and check my sources as this is a controversial issue, and especially as the quotes in this blog (but hopefully not the analysis) is solely from the perspective of the ASF.

Finally, I noticed that Joe Darcy's talk at JavaOne now has a title:

JavaOne 2009: Small Language Changes in JDK™ Release 7

Yep - no 'Java SE 7' in sight...


Stephen Colebourne
Apache Software Foundation member, speaking personally
Sun Java Champion, speaking personally
Not a committer on Harmony or OpenJDK

4 comments:

  1. Thanks for putting all this together.

    ReplyDelete
  2. Thanks for providing this information!

    ReplyDelete
  3. Did Joe Darcy already reacted somehow on your discovery?

    ReplyDelete