"Was schuldet ein Softwareentwickler? Kann man den Softwareentwickler beispielsweise haftbar machen, wenn ein Softwareprojekt in Verzug gerät? Das hängt sehr maßgeblich von der Vertragsgestaltung ab. Grundsätzlich werden zwei Vertragstypen unterschieden: Der Werkvertrag und der Dienstvertrag.
Wenn eine genaue Spezifikation vorliegt (dies ist im Einzelfall zu bewerten), ist der geschuldete Erfolg (Stichwort: Erfolgshaftung) bestimmt. Der Softwareentwickler schuldet folglich ein individuelles Programm, er kann zur kostenlosen Mängelbeseitigung herangezogen werden. Liegt eine solche Spezifikation nicht vor, dann erbringt der Softwareentwickler lediglich Programmierarbeiten; im letzteren Fall liegt ein Dienstvertrag vor. "