Find JSRs
Submit this Search

Ad Banner

JCP EC minutes: September 15-16 2016

Executive Committee Meeting Minutes
for November 8 2016

version 2 November 22 2016


November 8 2016


  • Teleconference


  • Personnel changes
  • EC Stats
  • Membership report
  • Recruitment drive (Bruno Souza)
  • JavaOne feedback
  • 2016 JCP elections
  • 8:00 am: OpenJDK and the JCP (Georges Saab & Brian Goetz)


  • Patrick Curran
  • Heather Vancura
Executive Committee
  • Azul Systems – Simon Ritter, Matt Schuetze – present
  • Credit Suisse – Suzi Cech – present
  • Eclipse – Wayne Beaton – present
  • Fujitsu – Mike DeNicola – present
  • GemaltoThomas Lampart – present
  • Goldman Sachs – Tim Dinsdale – present
  • Hazelcast – Jaromir Hamara – present
  • HPE – Naresh Shah – present
  • IBM – Steve Wallin – present
  • Intel – Michael Berg – present
  • Werner Keil – present
  • London Java Community – Martijn Verburg – present
  • Geir Magnusson – present
  • MicroDoc – Hendrik Hoefer – present
  • NXP – Maulin Patel – present
  • Oracle – Don Deutsch, Anish Karmarkar, Calinel Pasteanu – present
  • Red Hat – Scott Stark – present
  • SAP – Volker Simonis – present
  • Software AG – Prasad Yendluri, Chris Dennis – present
  • SouJava – Bruno Souza, Otavio Santana – present
  • Twitter – Tony Printezis – present
  • V2COM – Leonardo Limapresent

Total attendance: 22 of 22 voting members

Since 75% of the EC's voting members were present, the EC was quorate for this session


Changes in status as a result of attendance at this meeting

The EC Standing Rules state the following penalties for non-attendance at EC meetings (note that those who participate in face-to-face meetings by phone are officially counted as absent):

  • Missing two meetings in a row results in a loss of voting privileges until two consecutive meetings have been attended.
  • Missing five meetings in a row, or missing two-thirds of the meetings in any consecutive 12-month period results in loss of the EC seat.

There were no changes in voting status as a result of this meeting.

Personnel changes

Patrick reported that Ericsson resigned their seat on November 2 and that TOTVS and ARM did not nominate themselves for re-election.

EC stats

Patrick presented the usual EC stats (see the presentation for details).

Membership report

Patrick presented the latest membership report, noting that we have been very successful in recruiting new Associate members (see the presentation for details).

Membership recruitment drive

Bruno Souza gave a brief verbal report on a one-week "Career Secrets" campaign that he recently ran online, with video presentations from Patrick, Java Champions, and other members of the community that focused on how young developers can advance their careers and on the benefits of participating in collaborative activities such as the JCP or open source projects. Many applications for Associate membership resulted from this campaign. Bruno confirmed that the online materials will continue to be available for an ongoing campaign. Patrick asked Bruno to circulate a link to the website; Bruno promised to do so.

JavaOne feedback

Patrick asked members for feedback on JavaOne. Leonardo Lima noted that there was no mention of Java ME. Patrick responded that he had forwarded an earlier email request from Leonardo on this matter to Oracle's executive management but had received no response. He promised to try again.

Election report

Patrick reported on the ongoing JCP elections, noting that we have a large number of strong candidates this year. He reported that Associate members are voting in large numbers. (See the presentation for details.)

OpenJDK and the JCP

Georges Saab and Brian Goetz from Oracle then addressed the matter of the relationship between OpenJDK and the JCP which the EC has discussed several times over the past few months. Georges reported that they are considering more frequent releases of Java SE, and suggested that in this context we should discuss what improvements might be needed in the JCP's and OpenJDK's processes. He said that in the past the Java SE team has put a lot of emphasis on the most significant features ("drivers" of major releases), noting that if anything goes wrong with the "driver" then the entire release must slip even though many other features may be complete (as is the case with Java SE 9). He also noted that when a platform JSR is initially submitted they do not necessarily know long it will take to complete, nor what the effects of the major features might be.

Georges said that as an alternative they are considering a "train model" approach, whereby releases are delivered on a fixed schedule. Features that are ready in time are included, while those that are not must wait for the next "train". He argued that the current model tends to encourage people working on a "driving feature" to incorporate it into the release even if it is not quite ready, since the alternative would be that they would have to wait years for the next release. (Expert Groups might also feel the same pressure.) He noted that other languages and platforms are more agile than Java; although our throughput is good, our latency is not. (He emphasized that by "we" he meant Oracle, the OpenJDK community, and the JCP.)

Georges then addressed the question of what changes the adoption of a train model might imply. He noted that our existing processes were defined in a different age; the JCP was created when the design process was "closed", whereas now it is open. Processes that made sense 15 years ago might not make sense today now that we are more agile.

Brian Goetz provided an example, pointing out that in the early days of the JCP the Early Draft Review (EDR) was the first opportunity for the public to see what the Expert Group was working on, whereas now everything is done in public from the beginning. He argued that producing an EDR requires a significant amount of potentially unnecessary work. Patrick pointed out the the JCP's processes do not define the format of specifications, and asked why the EDR could not simply consist of a list of pointers to already-created documents. Brian agreed that this would simplify the work of the OpenJDK team.

Volker Simonis raised the question of different licensing models between the JCP and OpenJDK, suggesting that this could cause problems. Brian responded that OpenJDK is available under different licenses including a non-GPL one for the biweekly builds.

Simon Ritter asked whether Georges was proposing to do away with JSRs for Java SE. Georges responded "no". Volker Simonis said that work is done in OpenJDK under the JEP process using GPL and the Oracle Contributor Agreement, which makes it difficult for many EC and JCP members to participate. Then at the end of the process the results are packaged up and the EC is asked to approve them.

Georges responded that he disagreed. He argued that many JCP members are involved in the JEP and mailing-list communities. As to whether the GPL makes it impossible for many people to participate, he argued that bi-weekly builds are available not under the GPL but under the Oracle evaluation license. Patrick responded that other EC members have complained about this problem in the past, and asked IBM to comment. Steve Wallin said that he had not been aware of the bi-weekly builds under a separate license, and suggested that these would be helpful. He said he would look into the matter. Georges responded that if there are licensing problems they will fix them. Brian noted that IBM had participated in Lambda working groups.

Matt Schuetze from Azul pointed out that the JCP's processes ensure that JSRs make very explicit IP grants. He said that Azul participates in OpenJDK but does not see the same clarity of licensing with explicit grants, so that they have to wait for official JCP deliverables before they can work on their implementation (even being on the Expert Group doesn't help).

Mike DeNicola asked whether if we resolve the EDR issue (pointing to a list of "works in progress") whether we could run the JCP and OpenJDK processes in parallel rather than serially. Georges responded that he didn't think this would make sense. The initial JSR submission is expected to have a reasonably clear statement of what is planned, what will be released, and what the goals are. The two processes should be complimentary but there is an inevitable tension between innovation and specification. They cannot write the spec in advance.

Werner Keil asked whether they expected Associate Members to become formal Contributors. Brian responded that they have lots of individual contributors. Patrick explained that Contributor status is intended to be a way to provide a "pat on the back" for people who make smaller contributions. Brian responded that they want to recognize all contributors.

Steve Wallin said that IBM does not look at OpenJDK, only at the spec. They need the docs under an appropriate license. Small changes that aren't reflected in the formal spec but only in implementations can trip people up.

Brian responded that many JEPs are implementation only, but others are incorporated into the JavaDoc; they can deliver diffs. For the language and VM there is only the spec (no JavaDoc). He agreed that they need to formally document these changes. Steve responded that this would be very helpful and that they will be happy to test the process.

Scott Stark said that the OpenJDK licenses don't have the full and explicit IP copyright and patent grants that the JCP mandates. It is not enough to simply see the implementation. Brian responded that the interim builds must give people what they need. If they don't they will fix it. Scott responded that developers are not lawyers and it's not up to them to point out problems with the licenses; the burden is on Oracle to ensure that they are meeting the JCP's requirements.

Georges responded that they just want their processes to be efficient. Scott said that we have been trying to change the JCP's processes for 5 years. Patrick said that the JSPA is what it is for now. We need to make sure that the interim drops are licensed under suitable terms. Everyone recognizes that things start out fuzzy and change over time. Mike DeNicola suggested that we might be able to make some smaller changes to the JSPA perhaps Oracle Legal would permit this. Patrick said we can certainly ask.

Patrick promised to set up a Working Group with EC members and representatives from OpenJDK to continue the discussion. Chris Dennis noted that OpenJDK is both the Reference Implementation and an Oracle product and that some tension between these two roles is natural; if we eliminate all the tension we may do a disservice. Brian said that he agrees; they just want to smooth the way. Bruno said that OpenJDK is extremely important and that these discussions are very healthy. He thanked Georges and Brian for coming to talk to the EC.

The meeting then adjourned.

Next meeting

December 13, 2016, 7:00-9:00 am PST (teleconference)