Will's blog

purpose: Will Kahn-Greene's blog of Python, Linux, random content, PyBlosxom, Miro, and other projects mixed in there ad hoc, half-baked, and with a twist of lemon

[ home | blog home | recent activity | guestbook | plugins i'm using (19) ]

Fri, 05 Feb 2010

Thoughts on crowdsourcing development

Today I read You can't crowdsource software. The title sums up what it's about.

I've had this experience with Miro. We occassionally get patches from non-PCF people but most of the work is done by PCF developers. We've spent a lot of time and effort over the last few years on getting more code contributors and reducing the barriers to entry. We haven't had much success.

However, there's a lot of other "stuff" that goes into developing an application and the article only focuses on code. Some of this "stuff" can be successfully crowdsourced without a lot of effort. For example, Miro crowdsources all of our strings translation work through Launchpad.

I work on another project called PyBlosxom. We have a core group of developers (right now this is me) who do the bulk of the core code work. I do some plugin work, but the bulk of the plugin work is done by users of PyBlosxom many of whom have never touched the core code. For PyBlosxom, plugin development is crowdsourced.

The article suggests that it's a waste of time to help bring new contributors come up to speed and contribute because they often don't contribute much. That conclusion really concerns me. How can we get more people helping out if we're not working on getting people to help out?

Jono Bacon wrote an article titled Project Awesome Opportunity which talks about a few projects that are reducing the barriers to contributing and making it a lot easier. It's very Launchpad-centric, though.

OpenHatch is a startup working on building the next generation of contributors and connecting contributors to projects that need help. They're wrestling with how to effectively fix these problems, but without tying the fix to a project development silo (e.g. Launchpad, GitHub, ...). I think that's really important.

I think systems like these will reduce the effort in getting contributors and make it easier to crowdsource code contribution.

And if you, dear reader, are looking for a project to help out on that's written in Python and need someone to mentor you, let me know.

February 5th, 2010: I should clarify I think the article is fine. I don't think the conclusion that code contribution doesn't crowdsource well is poorly formed or anything like that. Just that the implications suck.

Posted by Jack Diederich on Fri Feb 5 06:55:04 2010
Hey Will, going to PyCon?  It's an odd fact of life that I mainly see Boston python people there and not in Boston (I don't get to the PIG group often except in the runup to PyCon).

I forgive Vasile for overstating his case because blogs are mostly hyperbole and that is what hyperbole is /for/;  You say something twice as loud as necessary because people are only going to remember half of it.  Plus he admits as much in the comments.

I've rolled it around in my head a couple times and I'm not even sure what his main point is.  Maybe it is "turning users into developers is hard" which is harder for end user applications than it is for projects that make developer tools.  In the app case maybe 1% of your users are potential developers and in the tool case 90% of the users also have the skills required to be contributors.  I'm sure you have a greater percentage of bug & patch submitters for PyBlosxom than you do for Miro*.  I'd guess your user to developer rate for Miro is much smaller than for PyBloxsom.

His point that your time is better spent hunkering down and coding than trying to recruit people to hunker down and code is OK as far as it goes.  But it misses the point that you don't know where your developers are going to come from.  You have to try to do developer outreach because it /might/ work.  If it doesn't work you can stop or change tactics but you don't know until you try.

I've submitted one off patches to over a hundred projects in the last ten years;  half were rejected or left to fallow; and I only became a committer on maybe six of them.  Check out the list of the 117 people who can commit to the CPython core.  For fucks sake there are over 1000 people going to PyCon this month who could be committers and a hundred times that who can't be assed to even attend PyCon.  The percentage of possible committers to actual committers is vanishingly small and the percentage gets worse the bigger the project is because the easy stuff has been done and the hardcore user base doesn't grow at the same rate as the casual.

* I downloaded Miro and even run it occasionally but I'm not sure what purpose it serves.  So that might be a marketing problem;  I think of it as a front end to Hulu.


Posted by Fabrix on Fri Feb 5 15:40:59 2010
Your experiences bring me one obvious conclusion:
plugins for miro!
:) :P


Please keep comments appropriate. I reserve the right to remove anonymous comments, flames, spammy, inappropriate, and other comments that I deem to be worth removing.

Note: New comments get placed in a "draft" status and will NOT show up on the site until I explicitly approve it. Usually that happens within 24 hours, but sometimes I go away and it takes a day or two.

Note 2: There is now a preview button for those of you who want to see a preview! However, it doesn't quite work the way you'd think it should work. I'll look into adjusting it some day.

Note 3: If you can't for some reason post a comment, send me an email: willg at bluesock dot org.

Your name:


Your e-mail address (this doesn't get displayed to anyone--I use it to contact you if there are issues):


URL of your website (optional):


Comment:


Yes, I am a human!


pyblosxom::1.5 dev

All contents Copyright 1996 to 2010 Will Guaraldi Kahn-Greene.

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.