Max has a good post on what levers a social network can pull to attract and incent a “well behaved” base of app developers to their platform. Summarizing (my words) he says:
1. Let app developers make money, get famous or learn something
2. Have consistent and fairly applied rules
3. Provide some guidelines for “winning” and be thoughtful about what they are (basically what metrics do you make available and how do you rank apps as people will compete to be on the top of these lists)
4. Offer meaningful distribution (ie be big, and open the viral channels so that apps can spread)
5. “Reward” good and well behaved app developers
Max is a smart guy and I agree with his thoughts. Facebook has done a decent job against this list (although the consistency has been variable). Read the whole thing.