Software bounty
By issuing a software bounty a user, or a group of users, who doesn't know how to program can attract coder(s) to solve a programming problem. The user(s) specify a new program, or a new feature or bugfix for an existing open source program, and then announce that they will give any coder who successfully completes the job a certain amount of money.
Traditionaly, a user of an open source program, who isn't able to program themselves, but has access to some money, can support a project by donating money. But this, while appreciated, does little to speed the completion of the project. Aside from the programmer's time, a computer, and an internet connection, programming usually requires very little in the way of physical resources. And unless the donations are enough to enable the programmer to quit his or her day job, they can't spend more time on the project as more money comes in.
By pooling their money, users can create a bounty to attract programmers with spare time. These programmers are still working mostly for the "love of the game", but the bounty will attract additional coders to the project, specifically the new feature or bugfix that the users really want fixed.
But software bounties do have the downside. If the requested solution is complex and it takes a while to do, multiple coders will work on it. Since they are all in competition for the single prize, they have no incentive to share their work until they are finished. The end result is one acceptable solution, and several subpar solutions. The way to avoid this is to make the requested solution small and incremental, so that a single coder can finish it is a resonable amount of time, before the competition heats up.
Also, the users might make too loose of a specification when they create the bounty, leading to an arguement between the users who are running the bounty and the coders who attempted to fulfill it. Also, the users might not know enough coding to tell how well written the code is. Thirdly, the programmer has no idea if the users will actually stand good on their half of the agreement. For these reasons, Open Code Markets exist to broker software bounties and act as arbitrators.
Open Code Markets
Here is a list of of Open Code Markets, in no particular order.