This document discusses the keys to successful online communities using Drupal and Livemocha as case studies. It outlines that communities should (1) create a framework that allows members to benefit collectively, (2) structure itself to be self-organizing, and (3) let users contribute content through collective action. Successful communities also motivate continual participation, allow members to shape rules, monitor internally for misuse, and provide easy conflict resolution. Both cooperation and competition among members are important, as is giving participants autonomy.