This week, we discussed two main topics
regarding our (WTP) API policy, and the need to further clarify the stated
I could use some suggestions, especially
on the new section defining "How to evolve API". Please
comment / change / rewrite
1) Amend the "Declared API"
section to include the following (borrowed from the platform description):
API (Application Programming Interface) is the entire public programming
surface of the framework,
thus it includes not only Java classes,
packages, and interfaces, but also extension points, file formats, generated
meta-data, and even objects that are passed through to internal packages.
A good example
of extension point metadata is the use
of defined facets representing a collection of Java classes, libraries,
and attributes that define a specific domain.
2) Create a new section named "Process
to evolve an API"
"There is a promise of stability
from release to release, and evolving an api by various techniques that
don't break adopters and maintain the current API behavior, can be proposed
with required approval by the project lead.
If a need for breaking api or
behavior changes of existing api is deemed necessary, these exceptions
must be brought to the PMC for approval, and will only be considered in
new development releases(Not maintenance)"
Thanks - Chuck
RAD Architect, Java EE Tools, WTP PMC