Mar 13, 2009
I suppose this is really a subset of a larger question: does it make sense to get involved with open source software projects in general? Seeing Jane Wells’ recent posting about contributing to WordPress stoked an old ember deep inside me and I thought this is actually a question worth asking out in the open (not moderated by, um, moderators with a vested interest).
By their very nature, open source projects are pet projects. They have people who are very interested in their success. And, of course, this is a good thing (no, I’m not going to capitalize those last two words). Also, there is a need to have some degree of management and control over what gets dumped into the repository. This is sensible – that there should be some level of review and direction that keeps the project on track (even if that track is the Oregon Trail).
Within the WordPress development system, everyone is encouraged to contribute. Everyone has read (a.k.a. checkout) permission to the SVN repository. However, only a handful of people have “submit” access to the repository. That is, only a few (key personnel) can write to the code base directly. If you’re not one of those few, you can still grab a bug or whatever out of their Trac, work away on it and then submit a patch back to the Trac whereupon somebody needs to recognize the patch has been submitted, test it, and then approve it.
Reality kicks in, though, when you realize that the core developers who have direct write access to the repository also grab bugs from the Trac and also work away on them (feverishly, even). However, they don’t always check to see that somebody else has claimed the bug (or if they do, they don’t care). So it’s a bit of a slap when you discover that after going through the motions of following their procedures, claiming responsibility for the bug, the thing you’d spent hours, days working on has been been superseded and already patched by either Matt, Ryan, Mark or whoever – while it’s still marked as YOUR BUG IN THE TRAC. Either that, or you submit the patch and nobody notices. I mean, hell, the system flags it (assuming you submit the tags properly), so somebody should notice, no?
God bless them. They work hard and there’s a lot of stuff to crank through and they do a great job. Yeah – but if you want to get involved and help out with squashing bugs in the core? Forget it. It’s really not worth your time. There are theoretically better things to do, like work on the documentation, offer help in the support forums, write a plugin or a theme – basically anything that doesn’t require direct approval or suffer from intervention-itis. I guess what I’m saying is only work on stuff that’s useful and that matters. And by that I mean, if it doesn’t matter to the developers if you are spending or have spent your time, then your time has been wasted.
And while a lot of open source projects suffer from the same deficiencies (or benefits, as some call them), not all do. You could also just start your own pet project.
Note: this has been written intentionally rhetorical, but not untruthful. I am a crankietech, after all (and I have voiced this concern in the appropriate places prior to this). If you feel that I’m way off base, please feel free to comment and also give me write access to your repository. Whatever your project is. :) I would love to hear from people whose experiences contradict mine.