11.12.2024
Softwareerstellungsvertrag: So sichern Sie Ihre Softwareprojekte ab
Was ist ein Softwareerstellungsvertrag und worauf sollten Sie bei der Gestaltung achten? Ob klassische oder agile Entwicklungsmethoden, Werk- oder Dienstvertrag, Datenschutz oder Urheberrechte – dieser Leitfaden erklärt die wichtigsten Aspekte und zeigt, wie Sie rechtliche Sicherheit bei Softwareprojekten gewinnen können. Entdecken Sie auch, welche Rolle NDAs spielen und wie Sie passende Vertragsmodelle finden. Jetzt weiterlesen und optimal vorbereitet sein!
Inhalt
- Was ist ein Softwareerstellungsvertrag?
- Softwareerstellung als Werkvertrag oder als Dienstvertrag vereinbaren?
- Welchen Inhalt muss ein Softwareerstellungsvertrag haben?
- Welche Rolle spielt Datenschutz und Datensicherheit bei einem Softwareerstellungsvertrag?
- Welche Rolle spielt das Urheberrecht bei einem Softwareerstellungsvertrag?
- Braucht man bei Softwareerstellungsverträgen ein Non-Disclosure Agreement (NDA)?
- Was ist bei der Gestaltung eines Softwareerstellungsvertrag sonst zu beachten?
- Wie kann SRD Rechtsanwälte bei Softwareerstellungsverträgen helfen?
Was ist ein Softwareerstellungsvertrag?
Unter einem Softwareerstellungsvertrag ist eine vertragliche Vereinbarung zwischen dem Auftraggeber und den Softwareentwickler:innen zu verstehen, deren Gegenstand die Erstellung bzw. Entwicklung einer Individualsoftware zur Umsetzung der individuellen Anforderungen des Auftraggebers ist.
Unter einer "Individualsoftware" ist eine Software zu verstehen, die auf die Bedürfnisse des Auftraggebers spezifisch zugeschnitten und erstellt wurde und daher einzeln beauftragt wird. Demgegenüber werden Anwendungen oder Module, die für die Bedürfnisse einer Mehrzahl von Kunden und nicht speziell für die Bedürfnisse eines konkreten Auftraggebers entwickelt wurden, als Standardsoftware bezeichnet.
Softwareerstellung als Werkvertrag oder als Dienstvertrag vereinbaren?
Für Softwareerstellungsverträge gibt es unterschiedliche Vertragsmodelle. Besonders die Frage, wie Softwareerstellungsverträge für agile Entwicklungsprojekte zu klassifizieren sind, wird intensiv diskutiert.
Grundsätzlich gilt: Ein Werkvertrag verpflichtet den Entwickler zur Lieferung eines bestimmten Erfolgs – in diesem Fall einer funktionsfähigen Software. Beim Dienstvertrag hingegen wird lediglich die Erbringung von Entwicklungsleistungen geschuldet, ohne dass ein bestimmtes Ergebnis garantiert werden muss. Übertragen auf die Softwareentwicklung bedeutet dies, dass bei einem Werkvertrag das fertige Softwareprodukt (also eine funktionierende Anwendung) geschuldet wird, während bei einem Dienstvertrag nur die Tätigkeit der Entwicklung erbracht wird, ohne Garantie eines fertigen Produkts.
Klassische Entwicklungsmethoden (z. B. Wasserfallmodell):
Bei der klassischen Softwareentwicklung, wie etwa dem Wasserfallmodell, wird die Entwicklung in Phasen strukturiert und folgt einem festen Ablauf. Zu Beginn werden die fachlichen und technischen Anforderungen vollständig definiert. Erst nach Abschluss dieser Planungsphase beginnt die eigentliche Entwicklung, die Schritt für Schritt zum Ziel führt – am Ende steht eine fertige und funktionsfähige Software. Ein solcher Entwicklungsprozess wird häufig als Werkvertrag gestaltet, da ein fest definiertes Endprodukt vereinbart wird.
Agile Entwicklungsmethoden (z. B. SCRUM):
Agile Methoden wie SCRUM hingegen arbeiten iterativ und flexibel. Hier wird die Software nicht nach einem starren Plan entwickelt; stattdessen werden anfangs nur grobe Anforderungen festgelegt, die während der Entwicklung durch enge Zusammenarbeit mit dem Auftraggeber konkretisiert und angepasst werden. In solchen Projekten wird das Endergebnis oft erst im Verlauf des Entwicklungsprozesses definiert und angepasst. Agile Projekte werden daher häufig als Dienstverträge gestaltet, da der Fokus eher auf der laufenden Entwicklungsleistung als auf einem fest definierten Endprodukt liegt.
Hybride Vertragsformen:
In der Praxis kommen bei agilen Projekten auch Mischformen vor, die Elemente von Werk- und Dienstverträgen kombinieren. Ein agiles Projekt kann vertraglich so ausgestaltet werden, dass die Entwicklung in einzelnen Phasen oder Sprints erfolgt, die jeweils ein eigenes Abnahmeziel haben. Auf diese Weise lassen sich ein flexibler Entwicklungsprozess und regelmäßige Ergebnisverpflichtungen kombinieren, wodurch ein agiles Projekt ebenfalls werkvertraglich gestaltet werden kann.
Vereinbaren Sie jetzt ein
unverbindliches Erstgespräch!
Lassen Sie uns über Ihre Herausforderungen sprechen und vereinbaren Sie ein unverbindliches Erstgespräch mit unseren spezialisierten Anwält:innen.
Welchen Inhalt muss ein Softwareerstellungsvertrag haben?
Ausgehend von der gewählten Entwicklungsmethode und der Rechtsnatur des Vertrags können sich Unterschiede beim erforderlichen Inhalt des Vertrags ergeben. Die einzelnen Bestandteile sind sowohl für Entwicklungsleistungen nach klassischen als auch für agile Entwicklungsmethoden grundsätzlich dieselben. Unterschiede ergeben sich jedoch beim Inhalt. Ungeachtet der vertragstypologischen Einordnung sollten zumindest folgende Punkte geregelt werden:
Vertragsgegenstand:
Der Vertragsgegenstand sollte möglichst präzise festgehalten werden. Bei einem Werkvertrag besteht der Vertragsgegenstand darin, eine funktionsfähige Software herzustellen. Bei einem Dienstvertrag ist Gegenstand des Vertrages das Erbringen von Entwicklungsleistungen.
Leistungsumfang:
Zudem sollte konkret festgehalten werden, was die Rechte und Pflichten der Parteien sind.
Dokumentation:
Der Vertrag sollte Festlegungen zur geschuldeten Dokumentation enthalten. Aus der Dokumentation sollte sich Art, Inhalt, Umfang, Detailtiefe, Sprache und Art der Bereitstellung ergeben.
Mitwirkungen des Auftraggebers:
Abhängig von dem konkreten Vertrag und der Entwicklungsmethode kann den Auftraggeber neben seiner Pflicht zur Zahlung der Vergütung auch Mitwirkungspflichten treffen. Diese können entweder darin bestehen, dass der Auftraggeber dazu verpflichtet wird, den Entwicklern erforderliche Informationen oder ähnliches bereitzustellen. Bei agilen Entwicklungsmethoden erlangen die Mitwirkungspflichten eine besondere Rolle, da der Auftraggeber regelmäßig einige Rollen innerhalb des Entwicklungsteams mit eigenen Beschäftigten besetzt und daher aktiv an der Entwicklungsleistung mitzuwirken hat. Die konkreten Pflichten des Auftraggebers sind daher möglichst präzise darzustellen.
Abnahme der Software:
Sofern die Softwareentwicklungsvertrag werkvertraglicher Natur ist, sollte eine Regelung zur Abnahme enthalten sein. Abnahme meint die Entgegennahme des Werkes und Billigung der Leistung als im Wesentlichen vertragsgemäß. Anders gesagt, es wird dabei überprüft, ob die Beschaffenheit der Software den Anforderungen entspricht. Aufgrund des Umstands, dass Softwareentwicklungsprojekte regelmäßig über eine längere Zeit laufen, kann es sinnvoll sein, Teilabnahmen für einzelne Abschnitte festzulegen.
Change Requests (Änderungsverlangen):
Nur in Ausnahmefällen besteht ein gesetzlicher Anspruch darauf, den Vertrag nach Abschluss zu ändern. In der Softwareentwicklung ist es jedoch typisch, dass sich im Laufe des Projekts der Bedarf nach zusätzlichen oder ergänzenden Anforderungen und Funktionen ergibt. Ohne eine vertragliche Regelung, die solche Änderungsverlangen zulassen, kann der Auftraggeber die Umsetzung nicht verlangen. Es bedarf einer Regelung im Vertrag, wie mit solchen Change Requests umgegangen werden soll.
Vergütung:
Der Vertrag sollte Festlegungen zur Vergütung und der Fälligkeit der Vergütung enthalten. Verbreitet sind hierbei vor allem die Methoden von Festpreis und aufwandsbasierter Vergütung, wobei auch Mischformen möglich sind.
Gewährleistung und Haftung
Die Bedeutung der gewählten Entwicklungsmethode und der gewählte Vertragstypus wirken sich auf die Gewährleistung aus. Wenn es sich bei dem Softwareerstellungsvertrag um einen Werkvertrag handelt, so bestehen gesetzliche Gewährleistungsrechte des Auftraggebers. Der Auftraggeber kann unter anderem Nacherfüllung oder Schadensersatz verlangen. Darüber hinaus kann der Auftraggeber den Mangel auch selbst beseitigen und die entstanden Kosten von den Entwicklern zurückverlangen.
Bei agilen Projekten bedarf es regelmäßig vertraglicher Regelungen hinsichtlich der Gewährleistung und Haftung - insbesondere dann, wenn Abweichungen vom gesetzlichen Vertragstyp gewünscht sind. Des Weiteren ändert sich durch den Umstand, dass der Auftraggeber (anders als bei klassischen Entwicklungsmodellen) eine aktive Rolle einnimmt, die Erfolgs- und Ausführungsverantwortung. Es wäre daher unbillig, den Entwickler:innen das alleinige Erfolgsrisiko aufzubürden. Aus diesem Grund wird in der Regel das Erfolgsrisiko entsprechend der Rollen- und Verantwortungsverteilung zwischen den Vertragsparteien aufgeteilt.
Sollte der Vertrag als reiner Dienstvertrag ausgestaltet sein, so fehlt es an (gesetzlichen) Gewährleistungsrechten. Es obliegt insofern den Vertragsparteien in diesem Fall vertraglich zu vereinbaren, in welchen Fällen, unter welchen Voraussetzungen und wie der Auftraggeber Gewährleistungsrechte ausüben kann.
Laufzeit und Kündigung bei einem Softwareerstellungsvertrag
Ob und wie der Softwareerstellungsvertrag vorzeitig beendet werden kann, ist von dem gewählten Vertragstypus abhängig. Zu unterscheiden ist zudem zwischen gesetzlichen und vertraglichen Kündigungsrechten.
Falls der Vertrag keine Regelung zur Laufzeit enthält, kann insbesondere bei werkvertraglich ausgestalteten Softwareerstellungsverträgen angenommen werden, dass der Vertrag so lange läuft, bis die konkrete Software fertiggestellt ist. Meist empfiehlt es sich, einen Zeitplan festzulegen.
Bei einem Werkvertrag kann sich der Auftraggeber jederzeit bis zur Vollendung des Werks durch die sog. Werkbestellerkündigung (§ 648 S. 1 BGB) vom Vertrag lösen, sofern dieses Recht nicht im Vertrag ausgeschlossen wurde. Die Softwareentwickler haben ebenfalls ein Kündigungsrecht aus § 643 BGB. Dieses kann der Softwareentwickler jedoch nur ausüben, wenn der Auftragsgeber eine Mitwirkungshandlung trotz Fristsetzung nicht unternimmt. Beide Seiten können den Vertrag zudem außerordentlich kündigen.
Sofern der Softwareerstellungsvertrag dem Dienstvertragsrecht folgt und kein Zeitplan festgelegt wurde, kann der Vertrag grundsätzlich ordentlich unter Einhaltung einer Kündigungsfrist aufgekündigt werden.
Neben diesen gesetzlich Kündigungsrechten, können die Vertragsparteien auch zusätzliche vertragliche Kündigungsmöglichkeiten festlegen. Bei den Regelungen hinsichtlich des Exit-Managements sollten die Interessen der Vertragsparteien in einen angemessenen Ausgleich gebracht werden.
Newsletter
Alle wichtigen Neuigkeiten zu Themen wie Datenschutz, Künstliche Intelligenz, IT-Recht und vielen mehr – einmal monatlich in Ihr Postfach.
Welche Rolle spielt Datenschutz und Datensicherheit bei einem Softwareerstellungsvertrag?
Die gesetzlichen Regelungen des Datenschutzes sind einzuhalten und erlangen in zweifacher Hinsicht Bedeutung. Denn zum einen muss die Verarbeitung der personenbezogenen Daten der Vertragsparteien (z.B. personenbezogene Daten der Mitarbeiter) den geltenden Datenschutzbestimmungen entsprechen.
Zum anderen kann der Datenschutz auch unmittelbar bei der Softwareerstellung eine Rolle spielen. Sollen beispielsweise mit der Software personenbezogene Daten verarbeitet werden, müssen die Vorgaben der DSGVO schon bei der Konzeption und Entwicklung der Software beachtet werden (Stichwort: Privacy by Design). Das bedeutet, dass bei der Entwicklung unter anderem berücksichtigt werden muss, welche personenbezogenen Daten zur Erbringung der gewünschten Softwarefunktionen überhaupt erforderlich sind und wie diese innerhalb der Software technisch geschützt werden.
Welche Rolle spielt das Urheberrecht bei einem Softwareerstellungsvertrag?
Beim Erstellen von Software ist es wichtig zu klären, welche Partei am Ende die Nutzungsrechte an der Software erhalten soll – also wer sie verwenden, ändern oder weitergeben darf. In den meisten Fällen muss das ausdrücklich im Vertrag geregelt werden, da ansonsten unklar ist, wie weit die Rechte des Auftraggebers tatsächlich reichen.
Der Vertrag sollte daher festlegen, welche Rechte der Auftraggeber erhält, ab wann diese gelten und ob er auch Zugang zum Quellcode bekommt. Der Quellcode ist entscheidend, wenn die Software später angepasst oder weiterentwickelt werden soll. Ohne eine entsprechende Vereinbarung hat der Auftraggeber in der Regel nur das Recht, die fertige Software zu nutzen, jedoch nicht, Änderungen vorzunehmen.
Zusätzlich sollte geklärt werden, ob der Auftraggeber ein einfaches oder ein ausschließliches Nutzungsrecht erhält:
- Einfaches Nutzungsrecht: Der Auftraggeber darf die Software wie vereinbart nutzen, aber der Entwickler kann die Software auch anderen zur Nutzung überlassen.
- Ausschließliches Nutzungsrecht: Der Auftraggeber hat das alleinige Nutzungsrecht und kann selbst entscheiden, ob er Dritten Nutzungsrechte an der Software einräumt.
Solche Regelungen schaffen klare Verhältnisse und vermeiden spätere Missverständnisse. Es lohnt sich hier in eine vertragliche Regelung zu investieren.
Braucht man bei Softwareerstellungsverträgen ein Non-Disclosure Agreement (NDA)?
Ein Non-Disclosure Agreement (NDA), also eine Geheimhaltungsvereinbarung, ist zwar nicht zwingend erforderlich für einen Softwareerstellungsvertrag, aber in vielen Fällen ratsam. Oft muss der Auftraggeber dem Softwareentwickler Details zu seinen internen Prozessen oder anderen vertraulichen Informationen offenlegen, die als Geschäftsgeheimnisse gelten. Ebenso kann es sein, dass der Entwickler eigene sensible Informationen preisgibt.
Eine Geheimhaltungsvereinbarung schützt beide Parteien und sorgt dafür, dass vertrauliche Informationen nicht unbefugt weitergegeben oder genutzt werden. Ein NDA schafft damit klare Verhältnisse und fördert das Vertrauen in die Zusammenarbeit.
Was ist bei der Gestaltung eines Softwareerstellungsvertrag sonst zu beachten?
Bei der Gestaltung eines Softwareerstellungsvertrags sollten weitere wichtige Punkte berücksichtigt werden. Zum einen sollte der Vertrag regeln, wer für die Pflege der Software und mögliche Updates zuständig ist und für welchen Zeitraum diese Wartungsleistungen erbracht werden müssen. Zum anderen ist es wichtig, bei vorformulierten und standardisierten Verträgen (Allgemeinen Geschäftsbedingungen) zu prüfen, ob die enthaltenen Klauseln rechtlich wirksam sind, um spätere Unwirksamkeiten zu vermeiden.
Wie kann SRD Rechtsanwälte bei Softwareerstellungsverträgen helfen?
maßgeschneiderte Lösungen für Sie finden. Dazu gehört auch, dass wir Sie darüber beraten, welche Methode der Softwareentwicklung sich für das gewünschte Produkt am besten anbietet. Insbesondere bei agilen Softwareprojekten unterstützen wir Sie durch eine flexible und gleichzeitig rechtssichere Vertragsgestaltung mit klaren Regelungen bzgl. Leistungen, Methoden, Rollen, Vergütung und Haftung.
Darüber hinaus unterstützen und betreuen wir Sie während der Dauer des Softwareprojekts und unterstützen Sie bei der Durchsetzung und Abwehr von Ansprüchen.
Vereinbaren Sie jetzt ein
unverbindliches Erstgespräch!
Lassen Sie uns über Ihre Herausforderungen sprechen und vereinbaren Sie ein unverbindliches Erstgespräch mit unseren spezialisierten Anwält:innen.
Inhalt
- Was ist ein Softwareerstellungsvertrag?
- Softwareerstellung als Werkvertrag oder als Dienstvertrag vereinbaren?
- Welchen Inhalt muss ein Softwareerstellungsvertrag haben?
- Welche Rolle spielt Datenschutz und Datensicherheit bei einem Softwareerstellungsvertrag?
- Welche Rolle spielt das Urheberrecht bei einem Softwareerstellungsvertrag?
- Braucht man bei Softwareerstellungsverträgen ein Non-Disclosure Agreement (NDA)?
- Was ist bei der Gestaltung eines Softwareerstellungsvertrag sonst zu beachten?
- Wie kann SRD Rechtsanwälte bei Softwareerstellungsverträgen helfen?
Weitere Experten zum Thema
Weitere Neuigkeiten
14.01.2025
Software Escrow: Source Code sicher hinterlegen
20.12.2024
MiCA-Verordnung: Schritte zur Compliance im digitalen Sektor
18.12.2024