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