Executive Committee Meeting Minutes
Total attendance: 22 of 22 voting members
|Since 75% of the EC's voting members were present, the EC was quorate for this session|
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):
There were no changes in voting status as a result of this meeting.
Patrick reported that Ericsson resigned their seat on November 2 and that TOTVS and ARM did not nominate themselves for re-election.
Patrick presented the usual EC stats (see the presentation for details).
Patrick presented the latest membership report, noting that we have been very successful in recruiting new Associate members (see the presentation for details).
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.
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.
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.)
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.
December 13, 2016, 7:00-9:00 am PST (teleconference)