This paper studies the role of intrinsic motivation, reputation and reciprocity in driving open source software innovation. We exploit the observed pattern of contributions - the 'revealed preference' of developers - to infer the underlying incentives. Using detailed information on code contributions and project membership, we classify developers into distinct groups and study how contributions from each developer type vary by license (contract) type and other project characteristics. The central empirical finding is that developers strongly sort by license type, project size and corporate sponsorship. This evidence confirms the importance of heterogeneous motivations, specifically a key role for motivated agents and reputation, but less for reciprocity.