Crowdsourcing Software Development to the Masses
Lucas123 writes "Computer World is running a piece on Crowdsourcing. That's a catchy term for the practice of taking a job traditionally performed by employees or a contracted company and outsourcing it to an undefined, large group of people in the form of an open call on the Web. Article author Mary Brandel views it as a viable way to develop cheap but innovative software. Sites like TopCoder and their coding competitions are becoming more popular with big name companies like Constellation Energy because programmers who take on the job are global, offering many different perspectives on any one job. 'The creativity and innovation of how people are rationalizing these designs and building components enables us to interject a perspective and approach that normally we wouldn't have access to,' Constellation's director of IT said." Is there any potential here, or is this just a buzzword bad idea?
TopCoder has nothing to do with people accomplishing work. It's a competition, nothing more.
I bet this will be about as successful as my last idea, cokesourcing. I'd open my garage door in the morning and there would be piles of cocaine for anyone to walk up and snort in huge mounds. While they were there I merely encouraged them to add some code on the computers sitting in my garage.
I've never seen so many confusing drug related delusions put into comments! Luckily the comments made for a great book and that was how I, L. Ron Hubbard began Scientology!
While this definitely isn't new it's always a good thing to get another pair of eyes on code. Turning it into a competition has the tendency to trick programmers into doing better or working harder with a (sometimes false) sense of personal gain.
Excuse me while I gather the virgin sacrifice and assemble the pentagram required to solve your problem
"Crowdsourcing" usually means getting people to do stuff for you for free, where you own the results and the people who created them cannot use them except by paying you (if at all). This is why people should be sure that projects they contribute to as volunteers release their results under some kind of Free license. For example, contributions to Wikipedia are free-licensed, and even if Wikipedia died or turned ultra-evil tomorrow, you could use the articles yourself under the GFDL, or set up a fork based on them. The same is true of contributions to MusicBrainz (Open Audio License), among other such projects.
For a good early example of the opposite, recall the CDDB fiasco---lots of people submitting data that ends up owned by someone who won't let you use it except under onerous licensing terms. The rise of "Web 2.0" has basically taken CDDB-style business models and made them much more common, so it's important to make sure you aren't enabling that sort of thing that in the long term ends up working directly against your interests.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Jeesh - Doesn't anyone read the classics anymore? It's only been available for over 130 years...
Building new things is great and all but any sane software engineer will understand that maintaining the software is a much harder and more complex problem than building the first version. Even if you pick the best built components, at some point later your customers are going to want a new feature or want a broken feature fixed. I don't think you can simply hold a competition to figure out who can submit the best maintenance job. Additionally, once the competitors submit their entries, they have no further obligation to work for you. So you've essentially lost the most important assets (the people that wrote the stuff) on the day you receive the finished the work. You could always have your own people maintain it but they will be much more costly than had you kept the original authors who do not need to re-learn the code.
They must have added the '-' in their address lately. Guess they got way too many requests from confused individuals.
Everybody uses broad generalizations.