Compatibility is a key strategic decision in software production. Proposals exist for standards in several fields of software production, such as networking (ISO and IEEE), operating systems (Posix), object management (OMG). However a formal treatment of standards in software is still missing. This paper tries to overcome such lack, presenting a model of the effects of compatibility in software production. It overviews existing works on compatibility. It details a model on the effects of compatibility decisions in software development. It describes the application of this model to the cases of new products being introduced and of well-established incumbents.