Hadoop 1.0's goal was compatibility on several fronts.
(See https://issues.apache.org/jira/browse/HADOOP-5071) for details.
Due to the amount of work involved, it has been necessary to split
this work across several releases prior to 1.0.
Turns out that release 0.21 has a number of Jiras targeted towards API
and config stability.
Further, in 0.21, we are tagging interfaces with a classification of
their intended audience(scope) and their stability
(see HADOOP-5073 for the classification).
Post 1.0 stable interfaces will remain stable (both syntax and
semantics) according the proposed 1.0 rules.
Hadoop's pre-1.0 rules allow interfaces to be changed regardless of
stability as long as one allows 2 releases of deprecation.
(See http://wiki.apache.org/hadoop/Roadmap for the current i.e.
pre-1.0 rules).
So how do we arrange to maintain that stable interfaces remain stable
(both syntax and semantics) between 0.21 and 1.0?
I propose that we honor the compatibility of stable interfaces from
release 0.21 onwards;
i.e. apply the same post 1.0 rules to pre-1.0 releases.
The actual discussion on what needs to be stable or not belongs inside
Jira Hadoop-5073, not in this email thread;
I would like to use this email thread to discuss the proposal of
honoring compatibility of stable interfaces prior to 1.0.
Feedback?
sanjay