Ferdinand Soethe wrote:
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 :-).


I agree with everything said and feel that this is what the conclusion of the thread has been.

It is the respopnsbility of the PMC to read *all* commits, not *all* mails. We should not *ignore* threads though. I tend to read the first post in a thread, if it is a priority for me I read all subsequent posts otherwise I skin read the subsequent posts.

I also have filters set up on my mail client that will detect if someone types my name. So if someone says "I wonder what Ross thinks" or "Ross, how would this fit into plugins" or something like that my client flags the message for me.

In addition, as you point out well worded subjects are important. I'm not sure about prefixing with a branch name since a discussion about something in a branch is also a discussion about what will end up in core. So it is no less relevant just because it is in a branch.

- 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 option

In earlier threads (linked to in my prevoius mail) we discussed criteria for branching. I think the conclusion was that it should be up to the individual dev do decide. It isn't really possible to create a set of rules - nothing wrong with examples like those above (and below) though.

  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.

+1, I think Tim expressed this as something like a realeasable trunk does not requrie users to jump through any hoops.

  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.

Since all PMC members have a responsability for reading *all* commits, then (in theory) all developers will ahve watched what was going on in the branch anyeay. There should be no need for a separate review cycle before merge.

In my opinion the docs + tests we discussed are more important.

  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.

Here you are proposing a formal test process before merging. I'm not sure how I feel about this. Speaking personally, I don't have the time to test *all* of other peopls code, they could wait for me for a long time, this will cause problems. I prefer to trust that they have tested it sufficiently before commiting and merging.

(longer term I would prefer a proper test suite in Forrest, but that is a whole different thing and should not delay progress on your proposal).

Ross

Reply via email to