[development] Trust (was: Hit and run contrib)

Angela Byron drupal-devel at webchick.net
Sat May 31 15:10:38 UTC 2008


Jakob Petsovits wrote:
> Imho that's a quick-and-dirty workaround, whereas the proper solution would 
> involve letting the contributor commit the patch by herself. That might 
> either be reached by switching to a distributed VCS (where "committer" 
> and "uploader" are decoupled from each other - probably the right solution 
> for core) or by the even more open-sourcey way of granting access to all of 
> contrib by default.

Here's a counter-showcase for you. :)

That's how contrib used to be, back when I joined the project (June 2005).

On my very first CVS commits to Quiz module (my SoC project), because...

a) I didn't know what the hell I was doing and had never used CVS before
b) The only docs for CVS back then were geared toward people who already 
knew CVS and thus were totally useless to me
c) Therefore, I was using TortoiseCVS since that was the only thing that 
made sense and there were absolutely NO docs in the handbook for that

...I ended up somehow changing code in Voting module accidentally during 
my commits. Look! You can still see it in the list of commits on my user 
account page. ;) http://drupal.org/user/24967

(I think I did a checkout of the entire contributions repository, added 
my files, and then committed *everything* from the root modules 
directory, and in the time between me checking out contrib and getting 
my stuff ready to commit, Voting module had made a change, and I ended 
up committing old stuff back. Maybe. I'm still not sure how I ever 
managed to do this.)

Anyway, I got yelled at for it, and directed to send the maintainer of 
Voting module an e-mail to apologize. After my life finished flashing 
before my eyes, I did so. Fortunately, he was a nice guy and said it was 
okay, and managed to undo the damage I'd done, which was great, because 
I had absolutely no idea how to possibly fix it myself. But how annoying 
and frustrating must it have been for him, in addition to the stuff he 
already had on his plate that day, to have to add "fix webchick's stupid 
CVS mistake" to his TODO list? :(

Yes, the docs are better today, and yes, the collective intelligence of 
the Drupal development community has risen significantly in the past 3 
years, so there are more people I could've asked for help nowadays. But 
consider that I single-handedly managed to cause this poor maintainer at 
least 20 minutes' worth of un-screwing up what I'd done. And I'm just 
one person. Figure that some percentage of CVS accounts are newbies like 
I was (I'd even go as high as 20%, given the questions that regularly 
pop up on #drupal), and throw the fact that you can branch and tag now 
and that those have implications on the release system, and that's a 
*frightening* amount of time that would be spent undoing mistakes, by 
both module maintainers and the CVS admins.

Read
http://lists.drupal.org/pipermail/development/2006-May/016096.html for 
more behind the rationale for this change, but IMO this was one of the 
smartest things we ever did as a community. If anything, this encourages 
us to allow *more* people to have CVS accounts, because at worst, the 
only thing they can really screw up is their own modules, not everyone 
else's.

And although I like you a lot and respect your development skills, 
Jakob, I don't want you or anyone else but Earl Miles and people he's 
specifically christened as knowledgeable, committing *anything* to Views 
module, which is used on approximately 40 gazillion sites, even if it is 
a "simple" break; fix. :) That module is critically important for the 
community, and Earl has done a fantastic job of maintaining it. 
Secondly, shame on you for wanting to commit something without a 
corresponding issue #. Tsk, tsk. ;)

Oh. And let's not forget the fact that Update Status module now yells 
loudly when there are new versions of modules available. So if I'm 
tracking dev releases (which I might be, while my site's in development, 
to get the latest stuff) I could cvs up and get the parse error you 
accidentally left in your break; statement fix (cos, you know, you were 
in a hurry so you did the commit and then stepped away to go grab a 
sandwich and got distracted by pickles), then I start screaming at Earl 
Miles for committing a parse error because I'm just a poor user and 
don't have the ability to fix the parse error myself.

And for old, crusty projects that aren't being maintained which you 
claim blocks contribution? Ever since Michelle wrote up 
http://drupal.org/node/248145 I've been noticing a rash of project 
take-overs (in a good way!), which has resulted both in new contributors 
AND support for modules that were dying from lack of attention. I follow 
the webmasters list pretty closely, and have never once heard back from 
a maintainer screaming, "HEY! What did you give away my project for?!??" 
The guidelines give the existing maintainer a reasonable timeframe in 
which to respond, while at the same time not being a horribly long time 
(two weeks) for a prospective maintainer to wait around, during which 
time they can submit patches to prove their interest in long-term 
maintenance, which thus makes our jobs easier to fork over the keys.

Basically, are you sure that you're trying to solve something that needs 
to be solved?

-Angie


More information about the development mailing list