Fields of a CSR request
Joseph D. Darcy
joe.darcy at oracle.com
Mon Apr 17 23:37:50 UTC 2017
Hi Doug,
On 4/13/2017 6:52 AM, Doug Lea wrote:
> On 04/12/2017 05:14 PM, joe darcy wrote:
>> Compatibility-related fields:
>>
>> Compatibility kind: check boxes for source, binary, and behavioral.
>> Check which kinds of compatibility are impacted by this proposal. See
>> https://wiki.openjdk.java.net/display/csr/Kinds+of+Compatibility for a
>> detailed discussion on the different kinds of compatibility.
>>
>> Compatibility risk: minimal, low, medium, high
>>
>> Compatibility risk description: Issues with a compatibility risk of low,
>> medium, or high should usually have a release note.
>
> It might be helpful to additionally categorize cases that arise, and
> the considerations that typically apply.
>
> Here's a first shot at some categories (but missing any associated
> considerations and criteria):
>
> 1. The old spec was unintentionally overly permissive -- it didn't
> rule out some behaviors, or was ambiguously worded or incomplete.
> (Implementations are unchanged.)
>
> 2. [Converse to 1] The old spec was overly restrictive, and did not
> allow reasonable/desirable implementation behavior.
>
> 3. The old spec contradicted implementation. The implementation was
> correct/desirable, so need to fix spec.
>
> 4. [Converse to 3] The old spec contradicted implementation. The
> implementation was incorrect/undesirable, but there is user code that
> relies on current implementation, so it is better to change spec.
>
> All four cases are crossed by whether the spec is part of an
> interface, class, or method that could be implemented or overridden
> externally to JDK.
Worth noting that between cases 3 and 4, generally we follow case 3 in
terms of resolving a conflict between the spec and implementation. That
is, generally the spec is changed to match the implementation,
especially if the implementation has been behaving in a certain way for
several releases. There are exceptions to this of course. But, when it
would be technically reasonable to change either the spec XOR the
implementation, we prefer to change the spec, highlighting the
importance of having solid specs and implementation to begin with!
Thanks,
-Joe
More information about the csr-discuss
mailing list