JDK 9 Outreach
Rory O‘Donnell OpenJDK Quality Group Lead February 4th, 2017 @ FOSDEM
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direc on. It is intended for informa on purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or func onality, and should not be relied upon in making purchasing decisions. The development, release, and ming of any features or func onality described for Oracle’s products remains at the sole discre on of Oracle.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 4 Program Agenda
1 OpenJDK Quality Outreach Update
2 Quality Outreach By The Numbers
3 JDK 9 Outreach Experiences
4 Where Do We Go Next?
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 5 OpenJDK Quality Outreach Update
• Doubled the number of par cipa ng FOSS projects – 19 added in last 6 months – 104 Open Source Projects • Issues submi ed by par cipa ng projects up almost 50% Y/Y – ~ 37 issues logged in the last six months – ~ 72 issues submi ed in past year – ~185 issues submi ed overall so far
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 6 104 Open Source Projects Ant Antlr ECHache Javassist Classworlds MongoDB- Morphia Batik Asciidoctorj JavaEWAH MongoDB - Java Driver Builds ElasticSearch AssertJ jBPM Eclipse IBM Redhat Infispan Chemistry Findbugs Arquillian JBossForge Eclipse GEF Redhat Netty Commons FXGraphics Byteman Jfreechart EHCache Redhat Tools VFS Gradle BlueJ JFreeSVG Golo Redhat Wildfly CXF GraphHopper Checkstyle JITWatch Hudson Scala Team,Lightbend HttpComponents Greenfoot Classworlds Jline Jogl-jogamp SonarQube Derby Griffon Clojure Spring Jmeter Groovy JOSM Junit 5 CruiseControl SLF4J Karaf Hadoop Qdox Jython DataCleaner Thermostat Log4j Hazelcast Roaring Polygene Drools Tomcat Lucene/Solr HeapStats RxJava LWJGL EasyMock Travis CI Maven Hibernate ZXing Metamodel Eclipse HSQLDB Ratpack EJBCA Woodstox PDFBox Eclipse-AspectJ IntelliJ Objensis ISIS Xstream POI Eclipse GEF Jackson Optaplanner Proguard Xtend Tika Eclipse-Jetty JaCoCo oVirt engine PMD Xtext Eclipse-Vert.x Reflections
FXGraphics2D
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Projects added in the last 6 months
• Apache Polygene • BlueJ • Qdox • Greenfoot • Thermostat • Jline • oVirt engine • Apache Karaf • SLF4J • Apache H pComponents • Javassist • RxJava • EHCache • Classworlds • Golo • Zxing • Eclipse GEF • JavaEWAH • Roaring
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
OpenJDK Quality Outreach Update Easy To Join • e-mail to quality-discuss@openjdk.java.net or [email protected] • Someone will get back to you with details ... – Soon!
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 9 FOSS Bugs logged in the last year Issues submi ed Issues submi ed Issues submi ed in past year (72) in past year in past year
Apache Lucene 14 Apache POI 5 Apache Derby 1
IntelliJ IDEA 10 Jboss Wildfly 4 Apache Ant 1
Apache Tomcat 8 PDF Box 3 Pmd 1
JOSM Apache 8 2 Scala 1 Commons Apache Maven Apache JMeter 6 2
JaCoCo 6 Hibernate 2
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 10 Issues Submi ed - By Priority since Nov’13.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 11 Issues Submi ed - By Component
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 12 JDK 9 Outreach Experiences Increased Awareness & Par cipa on • 6x increase in JDK 9-related traffic in FOSS projects since 2014 Y/Y – 2014: 1015 messages on Markmail outside of OpenJDK mailing lists – 2015: 2545 messages – 2016: 6715 messages • 1 year before JDK 9 GA: more than 2x what it was for JDK 8 at same me – 2013: 2386 messages on Markmail outside of OpenJDK mailing lists
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 13 JDK 9 Outreach Survey
• Targe ng OpenJDK Quality Outreach par cipants • Ran for two weeks before JavaOne • Summary of results was posted on [email protected] – 37 responses (out of 77 par cipa ng projects at the me) – 89% had tried building their FOSS project with JDK 9 EA builds – 16% planned to support JDK 9 immediately from JDK 9 GA – 54% planned to support JDK 9 in their project within six months a er JDK 9 GA – 86% planned to support JDK 9 in their project within a year a er JDK 9 GA – More: h p://mail.openjdk.java.net/pipermail/discuss/2016-November/004089.html
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 14 JDK 9 Outreach Example JDK-8163449 : Allow per protocol se ng for URLConnec on defaultUseCaches
• Submi ed by Mark Thomas from the Apache Tomcat project – “The default behavior of URLConnec on is to use caching. This can cause file descriptor leaks / locked files when using JarURLConnec on.
My sugges on is that the constructor for JarURLConnec on be modified to change the default for useCaches to false for JarURLConnec on instances. ” • Discussed on [email protected] and [email protected] • Resolved by adding an API for this, while maintaining current behavior • @since 9: public sta c get/setDefaultUseCaches in java.net.URLConnec on
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 15 JDK 9 Outreach Example JDK-8165116: redirect func on is not allowed even with enableExtensionFunc ons
• Outreach team can o en help with simple problems – Use javac –release flag when cross compiling for older JDKs – See h p://openjdk.java.net/jeps/247 for details • If we can‘t help you directly – We might ask you to file an issue and let us know the ID – We might ask you to start a thread on an OpenJDK list
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 16 JDK 9 Outreach Example JDK-8165116: redirect func on is not allowed even with enableExtensionFunc ons
• Submi ed by Stefan Bodewig from the Apache Ant project – “This is our use-case: The user wants to execute Ant's
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 17 JDK 9 Outreach Examples
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 18 JDK 9 Outreach Examples
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 19 Where Do We Go Next?
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 20 Safe Harbor Statement The preceding is intended to outline our general product direc on. It is intended for informa on purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or func onality, and should not be relied upon in making purchasing decisions. The development, release, and ming of any features or func onality described for Oracle’s products remains at the sole discre on of Oracle.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 21 Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 22