Friday, 12 January 2007

a release?

Hi people! I think everyone wants a release, and many have asked for one. but I wonder what shall be on our first release... and a first release of what.

a release of what? there another question comes to my mind... what are we (as product)? and I see four things.
  1. a framework and set of tools
  2. a package database
  3. a bunch of distributions (targets) powered by OpenSDE
  4. a book!
I see on each of these parts of the OpenSDE project a different goal, a different definition for stabilization and even different people behind. That's why I have been promoting their independence.

Independence of the framework


To me the framework is the engine which makes OpenSDE move, the functionality, the architectures and building generic knowledge, the tools and helpers which make the project possible... and huge place for improvements. And a very sensitive field when it comes to the usability of OpenSDE itself.

Independence of the package database

It may sound weird but if you look at our development model what traditionally has defined our stability is the stability of the package database, keeping it up to date, increasing the amount of supported packages, been more clever on integrating them without affecting the flexibility needed by the targets and minimizing the amount of broken packages.

The package database expects some functionality (API?) on the framework but it's not really bind to how that framework is implemented, the package database is just information, patches and a few specific tricks. and it's very easy to break with one innocent update.

Independence of the powered-by distributions

The distributions on the other hand have a different kind of users, the final users, those which don't need to know about OpenSDE, and their developers are the users of the framework and the package database, what defines stability here is (imho) on a different universe than what defines stability on the previous two.

In their case I think we have to move every (except the generic) target into their own repository (or sub-repository) giving them their own trac and space for their own website or mailing list (http://$target.opensde.net or even helping people to keep those related projects under their own domain), and having a directory where everyone can choose which targets to link (svn:external) on their working copy. I would like to see these powered-by distributions making their own releases powered by certain version of the package database and certain version of the framework.

Independence of the documentation?


The documentation makes the framework and the package database accessible to the people, the documentation helps final system users know how to do thinks, the documentation is able to see the OpenSDE project as a whole. That's why we are working on a book, a handbook, trying to cover the different levels of OpenSDE, this book also has a different definition for stability and different reasons to make a tag, a branch or announce a release.

So... what do we want to release? what shall be there? do we grant the independence or bundle? how much can we split? how much would be sane to split? should we focus on what makes us equal or on what makes us different? what should we postpone to be able to achieve a release of something else?

what do you think?

No comments: