Thanks everybody for taking the time to respond and giving me a change
to re-think and refine my own thoughts on these issues.
Here are some comments for a start:
- Ignoring of threads (or developments)
I'm sorry to say this but I'm simply not able to read everything that's
on this list all the time. And even though this might have to do
with going kayaking too often in my case :-), I think that with growing
volume of project and list this will happen to most of us sooner or
later.
For me prioritizing stuff in this list is a necessity rather
than a choice. And at the moment I can never tell the relevance of a
thread to Forrest as a hole.
I know that it would be nice if all of us could follow all the
threads, but honestly, is that realistic?
Also: A lot of people might join the list without the interest or
the capacity to follow all our discussion from the start. Following
new developments from when a merger is proposed gives them a good interface to
cutting-edge forrest development without the bloodloss :-).
- When to branch
After considering your responses I realize that I need to refine the
criteria for branching:
Changes should happen in a branch when they
- change (not fix) to output
- require additional or different input
- change (not add) existing configuration options
The reason behind this demand is, that all these changes require
users and developers to adjust their applications or their coding
work in progress. So in order to do that efficiently they should
have well defined, finalized and properly documented changes to deal
with.
In addition I would suggest branching also
- when the internal workings
of a module are altered in a major way.
The reason for this being that anybody also working on, extending or
even debugging such a module does not get in the middle of somebody
else's major change or has to guesswork about the function of some
undocumented new piece of code.
- Vote on merging branches
I have no problem with the lazy consensus model her. What is more
important to me is that fact that at least some developers not
involved in the implementation should have looked at (not just 'have
had a chance to look at') and tried the new functionality.
Now I know that this is hard because you have to get somebody to do
this and perhaps even wait for them to do it. But on the other hand
I expect this to have a couple of useful side effects:
- Documentation and value of the new developed functionality have to
be properly balanced or nobody will do the testing.
- The time waiting for a tester is often useful to rethink and
refine the solution and perhaps even improve on the docs.
--
Ferdinand Soethe