Buy my bug

Wanna buy a piece of my bug?

One of our ongoing projects is a client-side processor for subscribers to very broken services; a huge chunk of the program exists only to fix the feed providers brokenness. Each service vendor probably has thousands of customers, and each and every one of these customers independently funded their own kludge fix --- the cummulative cost of all these must be staggering, easily enough money to fix the broken server side many times over.

I've seen services where opensource projects are auctioned to the highest bidder -- you bid a price, some programmer accepts your contract -- but are there any services who auction bugs and features to an aggregate bid?

Random muse time -- This is how I see it working:

Take even one small fix to these service provider feeds, for example, the annoying artifact of duplicate lines. Sure it's no big deal, takes perhaps 3-4 hours for an experienced programmer to write a two-line look-ahead buffer to check last against current and then pass only the non-duplicate lines down the pipe (unix <code>uniq</code>). It's not difficult and can be done, coded and debugged in under half a day <u>but</u> when that innocent half-day of labour cost is compounded over thousands of programmers each working alone at their own shop, it may be a trivial expense of only a few hundred dollars, but it's an aggregated development budget of hundreds of thousands of dollars!

Waved beneath the nose of any vendor, this sort of attention-getter would get most any bug fixed at the source in very short order ... and turn a very healthy profit in the process!

let's apply this open source development. The Collab.net and others have tried to find individual sponsors for large-scale inventions, but what about simply adding credit-card hooks to Drupal or fixing pagination in OpenOffice ... this aggregate consortium funding adds up pretty quickly and might rapidly accellerate some of the nearly-there applications to a prime-time status. For example, a new-feature request for even some critical hack to the Linux kernel, if it carries a current market pledge in the thousands or hundreds of thousands of dollars -- which may only be $200 from 1000 companies --- well that's pretty good impetus for some enterprising engineers to go out, hire top people and work diligently to solve the problem.

Many eyes make all bugs shallow, and many wallets make all bugs cheap!

It seems such an obvious idea and it has some precident: it's really not very far from PBS deciding what shows to keep based on viewer membership donations! MandrakeSoft did try something vaguely similar in trying to drum up donations for it's pet projects such as the 8086 emulator, but this was fuzzy and general donation funding to specific individuals, not an open market bid on a specific feature; I don't know ow successful they've been, but I haven't heard of any great breakthroughs from their fund-target projects either.

Would a per-feature model do better? Has anyone seen anything like this out in the wild? (in software engineering or any other domains) Any comments, thoughts, ideas on the implementation?


Quick reference, posted 7 Feb 2003 at 23:30 UTC by mbrubeck » (Journeyer)

I just want to throw in a link to a recent Advogato article on Conditional donations to fund software development, which discussed mechanisms to funnel aggregated donations to developers.

Also look for some background on SourceXchange and CoSource, two late-1990s "code for bounty" sites, now defunct. I believe that CoSource allowed multiple users to contribute donations for a single project specification, and focused on per-feature or per-bug bounties.

CoSource, etc., posted 8 Feb 2003 at 00:14 UTC by emk » (Master)

CoSource did this for a while, with marginal success.

In theory, it's a good idea for anything which takes a couple of days to a few weeks of programming. Two hour projects are just too small to justify the transaction costs; bigger projects involve a lot more digging for specifications, and a lot more risks.

In practice, you have a lot of "people" issues to solve, or your transaction costs (risks, time overhead, etc.) will be way too high. E-Bay solved these issues for online auctions--using rating systems to enforce good behavior--but I'm not sure if there are similarly clever ways to specify a software design and decide whether it has been implemented well.

I'm currently working as an in-house tools guy who occasionally arranges to hire open source project leaders to add features to their projects (the best way to spend money on software, PERIOD). I could easily imagine joining some sort of second-level co-operative to help maintain the open-source toolkits we use. This could be a way to contribute to an open-source project without employing a full-time developer. Member organizations could invest a few thousand dollars/year, vote on bugs to fix and features to implement, and employ a few full-time programmers to do the work.

It sounds like your company is basically the for-profit version of this. :-)

I think sourceXchange and CoSource both failed because they mistook a bunch of clever Perl scripts (and a few policy documents) for a living, breathing organization. SourceXchange's specification and bidding process was designed to keep sponsors and programmers from talking to each other (d'oh!), and CoSource was just a database with draconian legal agreements (deliver the project one day late, receive zero pay). Ironically enough, you can't really use software to automate software contracting; there are too many human variables involved.

If you depend on open source software for mission-critical operations, hunt down some other users in the same situation and see if you can't work out some sort of plan, formal or informal. Open source software is all about use value, not sale value, so I think the users of open-source software are in the best position to dream up new funding ideas.

Encouraging collaboration and smart users are the key., posted 11 Feb 2003 at 21:17 UTC by davb » (Apprentice)

A great example of user cooperating to improve an open source project is < href="http://www.collaboraid.biz/blog/one-entry?entry%5fid=6122">http://www.collaboraid.biz/blog/one-entry?entry%5fid=6122</a>. (I work on OpenACS, but I am not involved in this project.)More groups need to work togther to fund this kind of development. The users need to understand that spreading the cost between multiple parties saves them money and results in a better solution for everyone involved. This means the people who are making decisions in these organizations need to understand open source, and usually also believe in the benefits of open source solutions.

Fixed link, posted 11 Feb 2003 at 21:27 UTC by mbrubeck » (Journeyer)

[Here's a fixed version of the link from davb's comment above.]

collaboraid, posted 12 Feb 2003 at 07:29 UTC by garym » (Master)

collaboraid isn't precisely what I was thinking of, but it's an excellent model just the same. Where I see any direct sponsorship for free software its usually one vendor paying for code that others can "take it or leave it" whereas this one is starting off with the balance that comes from multiple applications. Very encouraging!

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page