Here’s the question: “Developing social and mobile applications can be expensive and risky. Some programmers are willing to reduce or eliminate their fees in exchange for revenue share on the application. What is the best way to structure a deal? If the application doesn’t earn expected revenues, how can you then remunerate programmers for their work?”
To begin with, I’m not sure I agree with the premise of the question, in general.
If you want good solid work and it’s early, then pay people or make them cofounders.
Offering them a revenue share later (assuming revenue shows up) is problematic for just the reason you’re asking — what do you do if the revenue doesn’t show up?
Trying to find programmers willing to work for a promise of a share of potential revenue is likely to attract only programmers who can’t get a better deal. In other words, if they were really good they’d either be co-founding something or getting paid well for their skills.
Bottom line — either make them ‘co-founders’ or pay them. If not, you’ll increase your potential to attract people with nothing better to work on.