Hi all,

Let's start off with basics by discussing what our contracts are WRT API's,
and releases with our users. We can throw out the past focusing on the
future to save time since 2.0 will effectively be a new era.

This 2.0 release I'm gathering is the first stable, serious, enterprise
ready major release of ApacheDS. 1.0 was kind of a toy considering all it's
faults and shortcomings so the two situations are not completely the same.

We have to select a release scheme. Based on the scheme we select, we have
to adhere to the rules of that scheme. This is like picking what our
contract with users of the server will be for release compatibility.

So when considering compatibility we have to consider several things besides
just APIs and SPIs:

  o Database Format
  o Schema
  o Replication Mechanism
  o Configuration
  o API Compatibility
  o Plugins - We have pseudo plugins like Partitions, Interceptors and
Handlers that users can alter which involve SPIs.

So based the scheme we select we have to define policies for these
interfaces. I am calling anything that is exposed to the users as interfaces
like DB format for example. We have the following choices for schemes:

1. Milestone Scheme (Eclipse)
2. Traditional major.minor.micro Scheme
3. maj.min.mic with Odd Numbered Versions for Development Releases (Old
Linux Kernel)
4. Modern Linux Versioning Scheme

Se let's start off talking about which scheme we like best and why along
with pros and cons taking into account realistically how we work.

Regards,
-- 
Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org
To set up a meeting with me: http://tungle.me/AlexKarasulu

Reply via email to