[darcs-users] managing change

Dan Pascu dan at ag-projects.com
Mon Feb 9 01:01:42 UTC 2009


On Sunday 08 February 2009, zooko wrote:
> I was concerned about this during the first year or so after Twisted
> Python launched their new "no exceptions" policy that every patch had
> to come with thorough testing of all the code that it touched.  The
> policy that came into effect, dubbed The Ultimate Quality Development
> System, also mandated that every patch thoroughly documented the code
> that it changed and that every patch was reviewed by someone other
> than the author to certify the first two requirements.
>
> I started to fear that, even though the Ultimate Quality Development
> System was good at forcing the codebase to be monotonically less
> buggy, that it might accomplish this by there never being another
> release of Twisted after the policy came into effect.  :-)
>
> However, eventually releases of Twisted started up again, and now
> progress seems to be steady despite the iron hand of the Ultimate
> Quality Development System blocking untested or undocumented patches
> from landing in trunk.  I think part of what happened was a culture
> shift -- after a few months contributors got used to the idea that
> patches just really weren't ever going to go in until *someone* wrote
> tests for them, and they got into the habit of writing tests for the
> patches they cared about.

Let's not forget the context of this. When it started this policy, twisted 
was already a very successful and widely used framework. In other words 
it had a big momentum. The alternative for the contributors would have 
been to:

1. Comply
2. Not see their bug fixes/changes in twisted ever
3. Switch to a different framework.

I can easily see that option 1 was the cheapest alternative, even though 
it felt like being forced on them. I'm also sure many resisted it for 
quite a while.

Now this policy would be a completely different story if applied to a new 
project you just started. I can guarantee that you will be the only 
contributor to your project for a very, very long time. Only when it will 
gain enough momentum, will people start to overcome the restriction and 
contribute.

Another point of view, is that there are many more Python programmers out 
there than Haskell programmers, which makes it much easier to find new 
contributors for twisted after some were driven out by the policy, than 
it would be to find new Haskell programmers if some darcs contributors 
leave.

In the end I think the whole point of this is to correctly evaluate its 
impact in the specific context where it is applied, so it won't kill the 
goose laying the golden eggs.

-- 
Dan


More information about the darcs-users mailing list