I have an uncomfortable gut feeling with the current status of our
pre-release version and I'd like your feedback on these concerns and
my suggestions to change our process.

My concerns with the current situation:

- in the last few month a number of exciting major projects
  (location maps, views, i18n, change of cocoon ...)and a number of
  smaller ones have been developed (which is good!)

- most of them have not been finished to the point of being releasable
  and (so it seems to me) will not be for considerable time so it
  seems like we won't be able to release quickly without a major clean-up
  effort (which I consider bad).
  
- the work-in-progress-state and its (perfectly normal) unfinished
  documentation make it very hard for people to understand the
  development version or work with it at any point in time or
  understand the implications and side effects of each new development.

What I'd like to see in the future:

1 Adjust our development process so that the current development
  version (I think this is called 'trunk') is always releasable,
  stable and _well documented_ (meaning complete and correct, not well
  written or suitable for a dummy user).

2 Develop all major changes and new features in separate branches that
  will only be merged back into trunk when they are stable
  and well documented (not talking refined documentation but good enough
  that a technical writer could work with it) and a good number of committers
  not involved in the process have reviewed and tested them.

3 Discuss and vote one merging each branch back into trunk.

4 Create a new release whenever such a merger has taken place so that
  new functionalities become quickly available to new users and can be
  stress tested in a production environment without too many changes
  to consider as a source for potential problems.

  This would also make testing of new releases a lot more focussed.

Obviously plugins would not require a separate branch as they already
have the whiteboard and a similar process. However, I would like to
suggest an optional step 4 for important plugins (like views).

5 As a supportive measure, clearly mark threads in this list when they
  deal with a particular branch so that people not working on that
  issue can safely ignore it.

  Only take issues to the list as a general topic when
  interface issues or planned architectural changes
  require input from the general community or the development
  team is ready to show and explain their work and suggest a merger.

wdyt?

--
Ferdinand Soethe

Reply via email to