Guidelines for backporting

Seán Coffey sean.coffey at oracle.com
Tue Feb 18 13:42:12 UTC 2014


Stephen,

Joe Darcy laid out some general rules for OpenJDK 6 back in 2008 at 
http://openjdk.java.net/projects/jdk6/ which are equally valid for the 
JDK 8u Project. A suitable interpretation would be :

"As an implementation of the Java SE 8 specification, all changes to JDK 
8u source code must be allowable within that specification. This 
requirement precludes many API changes. Acceptable API changes include 
those permitted by the endorsed standards mechanism, such as upgrading 
to a newer version of a standalone technology, like a component JSR. One 
example of such an API change would be an upgrade of JAX-WS.

Changes allowable within the Java SE 8 specification may still be 
rejected for inclusion in JDK 8u Project if the behavioral compatibility 
risk is judged as too large. Behavioral compatibility concerns 
implementation properties of the JDK. Clients of the JDK can knowingly 
or unknowingly come to rely upon implementation-specification behaviors 
not guaranteed by the specification and care should be taken to not 
break such applications needlessly. In contrast, if a change is 
appropriate for every other JDK release train, it is generally 
appropriate for OpenJDK 8u too. Examples of such universal changes 
include security fixes and time zone information updates.

With the above caveats, bug fixes in JDK 9 that do not involve 
specification changes have presumptive validity for JDK 8u. That is, by 
default such fixes are assumed to be applicable to JDK 8u, especially if 
having "soaked" in JDK 9 for a time without incident.

As a general guideline, if a change is applicable to both 9 and 8u, the 
change should be made in 9 no later than the change is made in 8u."

Have you got more specific questions around specific changes in the 
pipeline ? If people aren't sure about the suitability of certain 
changes for the JDK 8u Project they should certainly air those questions 
on this mailing list.

regards,
Sean.

On 18/02/2014 10:36, Stephen Colebourne wrote:
> Is there a page that discusses what should/can be backported (as
> opposed to how, which does seem to be documented).
>
> In particular, I have questions around:
> - what is the goal of update releases beyond security patches?
> - what is intended? bug fixes vs performance fixes vs optimisations vs features
> - can the Javadoc can be changed or not?
> - what does "no spec changes" really mean?
>
> I'm hoping such a page exists already, but I can't find it if it does.
>
> Stephen




More information about the jdk8u-dev mailing list