Why Do Some Software Commons Succeed and Others Fail?