JEP 2: JEP Template

OwnerMark Reinhold
Created2011/06/23 20:00
Updated2014/07/10 20:40
TypeProcess
StatusCandidate
ScopeJDK
Discussiondiscuss at openjdk dot java dot net
Issue8046186
//
// JDK Enhancement Proposal ("JEP") body template, v2.0
//
// ==> Delete all lines starting with "//"
//     before entering a proposal into JBS
//
// Instances of this template are meant to be evolving documents.  When
// you initially draft a JEP you don't need to fill out every section of
// the template, and in fact at that point you probably won't be able to
// do so.  As you get feedback and build consensus around your proposal
// you'll revise the JEP accordingly.  If your JEP is accepted and targeted
// then you'll continue to revise it as the work progresses so that, once
// it's complete, the JEP can serve as an authoritative record of what
// was actually done.
//
// The body of a JEP uses the Markdown markup language
// (http://daringfireball.net/projects/markdown/basics).
//
// All sections are optional except those marked REQUIRED.  Please keep
// sections in the order shown below.  Please use lines of dashes under
// section titles rather than "##"-style prefixes, which are less
// readable.
//

Summary
-------

// REQUIRED -- Provide a one-paragraph summary of the proposal, no more
// than a few sentences.  This summary will be rolled up into feature
// lists, JSRs, and other documents, so please take the time to make it
// short and sweet.

Goals
-----

// What are the goals of this proposal?  Omit this section if you have
// nothing to say beyond what's already in the summary.

Non-Goals
---------

// Describe any goals you wish to identify specifically as being out of
// scope for this proposal.

Success Metrics
---------------

// If the success of this work can be gauged by specific numerical
// metrics and associated goals then describe them here.

Motivation
----------

// Why should this work be done?  What are its benefits?  Who's asking
// for it?  How does it compare to the competition, if any?

Description
-----------

// REQUIRED -- Describe the enhancement in detail: Both what it is and,
// to the extent understood, how you intend to implement it.  Summarize,
// at a high level, all of the interfaces you expect to modify or extend,
// including Java APIs, command-line switches, library/JVM interfaces,
// and file formats.  Explain how failures in applications using this
// enhancement will be diagnosed, both during development and in
// production.  Describe any open design issues.
//
// This section will evolve over time as the work progresses, ultimately
// becoming the authoritative high-level description of the end result.
// Include hyperlinks to additional documents as required.

Alternatives
------------

// Did you consider any alternative approaches or technologies?  If so
// then please describe them here and explain why they were not chosen.

Testing
-------

// What kinds of test development and execution will be required in order
// to validate this enhancement, beyond the usual mandatory unit tests?
// Be sure to list any special platform or hardware requirements.

Risks and Assumptions
---------------------

// Describe any risks or assumptions that must be considered along with
// this proposal.  Could any plausible events derail this work, or even
// render it unnecessary?  If you have mitigation plans for the known
// risks then please describe them.

Dependences
-----------

// Describe all dependences that this JEP has on other JEPs, JBS issues,
// components, products, or anything else.  Dependences upon JEPs or JBS
// issues should also be recorded as links in the JEP issue itself.
//
// Describe any JEPs that depend upon this JEP, and likewise make sure
// they are linked to this issue in JBS.