That said, these systems are chicken & egg. Without a lot of jobs few developers will participate because they need a steady, predictable, source of new work before they consider freelance work full time. The other problem is committing to a single developer who fails to deliver in a timely manner results in delays. Eventually I would like to move to this model as it would be most efficient/profitable for both developers and employers. But before we can do that we must bootstrap the development community.
I was thinking more along the lines of a combination marketing/development effort. Everyone wants us to distribute PTS / AGS / BTS far and wide with 'give aways' that generate buzz and excitement. In this market SPEED and QUALITY are the most important factors and with the amount of money to be made cost is almost no consideration. So the way you get speed is to make it a race. The way you get quality is to make it a requirement to win the race. The way you get developers to compete is to make the prize outsized to justify the risk of losing. The way you get a large number of developers is to pay bounties for referring the winner to the bounty.
The problem I saw with the competition model in the documentation contest bounty in Mastercoin was that people did not and could not work together which sacrificed quality for competitiveness. I think cooperation can produce a better product than competitiveness in most situations. Competitiveness can get something completed faster but it also introduces risks which would not exist if work could be shared without any punishment. For this reason a bounty exchange model could work better because work could be divided up or exchange. You're right that there has to be a lot of jobs for the exchange model to work but if crowd funding takes off like we think it will there will be plenty of jobs for everyone.
How much marketing buzz and talent do you think we could recruit if we launched a well organized bounty campaign worth $1 million USD total divided among hundreds of bounties? If these bounties were all competitions where the amount you earn from winning the race is 2-3x what you could earn with a straight up contract?
I think competition for writing code does not necessarily produce better quality code. You could end up with code which is more buggy or less safe than usual. You could end up with programmers who would ordinarily share knowledge instead keeping it to themselves as trade secrets. You could end up with some trying to game the system to win the competition to get more money by stealing other peoples work.
For this reason I don't think it should be rushed but I do agree for certain specific tasks you can go with this model. For critical functionality or components I don't think competition beats cooperation and team work.
The goal would be to manage the campaign bounties in a way that is transparent, easy to understand, and predictable. I would like to discuss how we could operate such a campaign.
I think it all depends on the budget. If the budget is big enough you could have the bounty exchange and the competitive campaigns running at the same time for different kinds of work. You could have teams working and cooperating and have competitions to solve really difficult design oriented problems.
A lot of problems with code are just about designing an algorithm or coming up with some pseudo-code. For stuff like this I think competition is best because the code does not have to work well or work at all, it just has to be some algorithm to solve some specific problem. For contests we need to find specific problems which remain unsolved and set high bounties which DECREASE over time. This would encourage people who have the solution to this problems sitting in their notes to open their notes and describe the solution. It could be in the form of a white paper, or a forum post with pseudo-code.
But I think if we are talking about writing code to secure our money we should do that cooperatively. Not a contest or competition to solve some tough theoretical problem but the focus is instead on writing secure, bug free code which can pass peer review and auditing. This in my opinion is very important.