Groovy Enhancement Proposal

Metadata

Number:

GEP-1

Title:

Groovy Enhancement Proposal

Version:

1

Type:

Informational

Status:

Draft

Leader:

Guillaume Laforge

Created:

2009-03-26

Last modification:

2009-03-26

Abstract: What is a GEP?

GEP stands for Groovy Enhancement Proposal. A GEP is a document providing information to the Groovy development team and user community describing a new feature, an enhancement, or a change to Groovy, the language, its APIs, its integration, or its infrastructure. Whenever such an addition or change is significant and deserves a detailed discussion on its rationale, its design, or its impact on the project, the writing of a GEP should be considered.

The concept of the GEP was freely inspired from Python's PEP (Python Enhancement Proposal).

Rationale: Why a GEP?

For non-trivial, complex or strategic features, discussions on mailing-lists are difficult to lead and follow, and often don't help reach a concensus. Writing a proper document explaining the design and implications of said feature allows both the originator of the idea and the community at large to have a chance to provide interesting and useful feedback and helps better undestanding the rationale, the design decisions, the impact of the proposal.

What's in a GEP?

A GEP is:

The type of a GEP can be of the following:

If the GEP is a Feature GEP, it should also:

The "Status" of a GEP can be:

Beyond all these metadata, as appropriate, a GEP should also:

The general workflow

The general workflow of a Groovy Enhancement Proposal is as follows:

References

Mailing-list discussions

JIRA issues

Useful links