Was ist die Verantwortung für Nichtübereinstimmung von Verträgen in der System- und Softwareentwicklung? Erläuterung der Änderungen
Was sollten Sie rechtlich tun, wenn es nach der Lieferung des bestellten Systems Fehler gibt?
Schwierige Bedienung, langsame Verarbeitungsgeschwindigkeit, fehlende bestellte Funktionen… Bei solchen Systemproblemen wird der Auftraggeber den Systementwickler, also den Anbieter, aufgrund der “Vertragswidrigen Verantwortung” in Frage stellen.
Die “Vertragswidrige Verantwortung” wurde mit der Änderung des japanischen Zivilgesetzes (Bürgerliches Gesetzbuch) im Jahr 2017 (Heisei 29) neu eingeführt, um die abgeschaffte “Gewährleistungspflicht für Mängel” zu ersetzen. Daher ist es notwendig, auf die Auswirkungen dieser Änderung auf die System- und Softwareentwicklung zu achten.
Probleme, die häufig nach der Lieferung auftreten. Um solche Probleme zu vermeiden, erläutern wir den Inhalt der “Vertragswidrigen Verantwortung” und die Auswirkungen der Änderung.
Änderungen im Bürgerlichen Gesetzbuch bezüglich der Haftung für Vertragswidrigkeiten
Das “Gesetz zur Änderung eines Teils des Bürgerlichen Gesetzbuches” (japanisches Bürgerliches Gesetzbuch), das am 2. Juni 2017 (Heisei 29) verkündet wurde, ist seit dem 1. April 2020 in Kraft.
Im Bürgerlichen Gesetzbuch wird der grundlegendste Teil der Regeln bezüglich Verträgen und ähnlichem als “Schuldrecht” bezeichnet.
Seit seiner Einführung im Jahr 1896 (Meiji 29) wurde das Schuldrecht fast 120 Jahre lang kaum überarbeitet.
Die aktuelle Überarbeitung wurde durchgeführt, um eine umfassende Anpassung an die heutige Gesellschaft zu erreichen.
Die konkreten Änderungen sind vielfältig, aber eine der Hauptänderungen ist die Einführung des Konzepts der Haftung für Vertragswidrigkeiten.
Dadurch wurde das, was als “Gewährleistungshaftung” bezeichnet wurde, in “Haftung für Vertragswidrigkeiten” umbenannt.
Was ist eine Vertragswidrigkeit?
Unter “Vertragswidrigkeit” versteht man das Fehlen von Funktionen, Qualität, Leistung oder Zustand, die im Einklang mit der Vereinbarung der Parteien, dem Zweck und der Natur des Vertrags vorhanden sein sollten.
Diese “Vertragswidrigkeit” wurde durch die Änderung des Bürgerlichen Gesetzbuches (BGB) eingeführt und ersetzt den bisherigen Begriff “Mangel”.
Im Bereich der System- und Softwareentwicklung gilt ein fertiges System, das nicht den vorab festgelegten Spezifikationen entspricht, oder ein System oder eine Software, das/die nicht die Funktionen oder Leistungen aufweist, die es/sie normalerweise haben sollte, als “vertragswidrig”.
Bei der Beurteilung, ob eine “Vertragswidrigkeit” vorliegt, wird der Vereinbarung der Parteien, dem Zweck und der Natur des Vertrags besondere Bedeutung beigemessen.
Daher ist es wichtig, den Zweck der System- oder Softwareentwicklung und den Verlauf der Bestellung schriftlich festzuhalten, um klarzustellen, welche Anforderungen und Vorstellungen der Besteller hatte.
Fälle, in denen Softwareprobleme als “Vertragswidrigkeit” gelten
Wenn Softwareprobleme auftreten und die Behebung verzögert wird
Zunächst kann es vorkommen, dass in der Software ein nicht unerheblicher Fehler auftritt, der eine Überprüfung bis hin zur Entwurfsphase erfordert und nicht sofort behoben werden kann.
Zum Beispiel gibt es einen Gerichtsfall, in dem anerkannt wurde, dass ein Problem, das dazu führte, dass die Suchverarbeitung des eingeführten Bestandsabfragesystems mehr als 30 Minuten dauerte und die Kundenanfragen mit einer handschriftlichen Bestandsliste bearbeitet werden mussten, als “Mangel”, der der aktuellen “Vertragswidrigkeit” entspricht (Urteil des Bezirksgerichts Tokio vom 22. April 2002 (Heisei 14)).
Wenn Probleme sukzessive auftreten
Es kann auch vorkommen, dass trotz der geringfügigen Einzelfehler und der kurzen Reparaturzeit wiederholt Fehler auftreten und es lange dauert, bis alle Fehler behoben sind und die Funktionen normal arbeiten.
Zum Beispiel, wenn in dem eingeführten Bestandsabfragesystem wiederholt Fehler auftreten und es unklar ist, wie viele Fehler in der Zukunft auftreten werden und wie lange die Behebung dauern wird, und es nicht möglich ist, die normalen Geschäftsabläufe mit dem System durchzuführen, könnte man von einer “Vertragswidrigkeit” sprechen.
Fälle, in denen Softwarefehler nicht als “Vertragswidrigkeit” gelten
Wenn der Fehler sofort behoben oder eine alternative Maßnahme ergriffen wurde
In der Rechtsprechung wird entschieden, dass selbst wenn ein Benutzer auf einen Bug oder ähnliche Fehler hinweist, wenn der Fehler sofort behoben wird oder eine angemessene alternative Maßnahme in Absprache mit dem Benutzer ergriffen wird, dies nicht als “Mangel” betrachtet wird (Tokyo District Court, 18. Februar 1997 (Heisei 9)).
Bei der Entwicklung von Systemen und Software ist es unmöglich, ein Programm so zu erstellen, dass überhaupt keine Bugs auftreten, und es ist unvermeidlich, dass bestimmte Fehler auftreten.
Daher sollte selbst wenn es einen Fehler gibt, dieser nicht als “Mangel” betrachtet werden, solange Maßnahmen wie eine sofortige Reparatur ergriffen werden.
Dies kann auch unter der aktuellen “Vertragswidrigkeit” ähnlich betrachtet werden.
Die Grundlage für die Beurteilung von “ohne Verzögerung” usw. sind die Protokolle, die während des Systementwicklungsprozesses erstellt wurden.
Die Bedeutung dieser Dokumente wird im folgenden Artikel ausführlich erläutert.
https://monolith.law/corporate/the-minutes-in-system-development[ja]
Wenn eine bestimmte Person die Bedienung nicht leicht verstehen konnte
Bei der Bedienbarkeit und Benutzerfreundlichkeit spielt die Subjektivität eine große Rolle, daher wird davon ausgegangen, dass es sich um eine “Vertragswidrigkeit” handelt, wenn es für den durchschnittlichen Benutzer unbrauchbar ist.
Allein die Tatsache, dass eine bestimmte Person die Bedienung nicht leicht verstehen konnte, bedeutet nicht, dass es sich um eine “Vertragswidrigkeit” handelt.
Wenn ein Fehler aufgrund von etwas außerhalb der Arbeit des Anbieters auftritt
Wenn ein Fehler aufgrund von etwas auftritt, das nichts mit den Entwicklungsarbeiten des Anbieters, der die System- oder Softwareentwicklung durchführt, zu tun hat, kann nicht gesagt werden, dass das System oder die Software selbst “vertragswidrig” ist.
Zum Beispiel, wenn ein Fehler aufgrund eines Problems mit der Hardware auftritt, für deren Beschaffung der Anbieter nicht verantwortlich ist, wird dies nicht als “Vertragswidrigkeit” bewertet.
[Ergänzung] Wenn ein Fehler aufgrund von Anweisungen des Benutzers auftritt
Wenn ein Fehler in dem fertigen System oder der Software aufgrund einer falschen Anweisung des Benutzers auftritt, trägt der Anbieter grundsätzlich keine Verantwortung für die Vertragswidrigkeit, selbst wenn das System usw. als “vertragswidrig” anerkannt wird.
Zum Beispiel, wenn bei der Entwicklung eines Geschäftssystems eine falsche Erklärung zu Umständen gegeben wurde, die nur der Benutzer kennt, und aufgrund dieser falschen Informationen ein Fehler in der Software auftritt, die auf der Grundlage der vereinbarten Spezifikationen entwickelt wurde, entsteht keine Verantwortung für den Anbieter.
Hinter dieser Entscheidung steht die Vorstellung, dass auch der Auftraggeber, also der Benutzer, in der Softwareentwicklung eine “Mitwirkungspflicht” hat. Weitere Details finden Sie im folgenden Artikel.
https://monolith.law/corporate/user-obligatory-cooporation[ja]
Ansprüche des Auftraggebers/Käufers aufgrund von Vertragswidrigkeiten
Hier erklären wir die Inhalte der Vertragswidrigkeitsverantwortung im Zusammenhang mit System- und Softwareentwicklung, einschließlich der Änderungen durch die Revision.
Anspruch auf Nachbesserung
Wenn ein Fehler als Vertragswidrigkeit bewertet wird, kann der Auftraggeber eine Nachbesserung verlangen.
Vor der Änderung war es nicht möglich, eine Nachbesserung zu verlangen, wenn der betreffende Mangel nicht erheblich war und die Nachbesserung unverhältnismäßige Kosten verursachte. Diese Einschränkung wurde durch die Änderung entfernt.
Allerdings besteht auch nach der Änderung die Möglichkeit, dass eine Nachbesserung nicht anerkannt wird, wenn “die Vertragswidrigkeit nicht erheblich ist und die Nachbesserung unverhältnismäßige Kosten verursacht”.
Schadensersatzanspruch
Wenn ein fehlerhaftes System oder eine fehlerhafte Software dazu führt, dass der normale Geschäftsbetrieb nicht mehr möglich ist oder zusätzliche Kosten anfallen, kann der Auftraggeber Schadensersatz verlangen.
Vor der Änderung war es möglich, Schadensersatz zu verlangen, unabhängig davon, ob ein Verschulden vorlag, sofern keine besondere Vereinbarung getroffen wurde.
Jedoch hat die Änderung dazu geführt, dass Schadensersatz nicht verlangt werden kann, wenn der Leistungserbringer einen Haftungsausschlussgrund hat (einen Grund, der nicht dem Schuldner zuzurechnen ist).
Daher muss der Anbieter keinen Schadensersatz leisten, wenn er einen Haftungsausschlussgrund nachweisen kann.
Vertragsauflösung
Ein Entwicklungsvertrag kann aufgrund von Vertragswidrigkeiten im System oder in der Software aufgelöst werden.
In einem bereits vorgestellten Gerichtsfall wurde die Vertragsauflösung anerkannt, weil es aufgrund von Fehlern, wie z.B. einer Suchverarbeitung im Bestandsabfragesystem, die mehr als 30 Minuten dauerte, und einer übermäßig langen Verarbeitungszeit, die die Nutzung des Terminals selbst verhinderte, notwendig war, die weitere Nutzung des eingeführten Systems aufzugeben (Tokyo District Court, 22. April 2002 (Heisei 14)).
Vor der Änderung konnte der Vertrag nur dann aufgelöst werden, wenn es aufgrund eines Mangels nicht möglich war, “das Vertragsziel zu erreichen”. Diese Einschränkung wurde jedoch durch die Änderung entfernt.
Allerdings ist auch unter dem geänderten Gesetz zu beachten, dass eine Auflösung nicht anerkannt wird, wenn das Ausmaß der Vertragswidrigkeit “geringfügig” ist.
Anspruch auf Vergütungsreduzierung
Das Recht auf Vergütungsreduzierung wurde durch die Änderung neu eingeführt.
Wenn es einen Fehler im System gibt und der Auftraggeber trotz Aufforderung zur Nachbesserung nach einer angemessenen Zeit keine Nachbesserung vorgenommen hat, kann der Auftraggeber eine Vergütungsreduzierung verlangen.
Zeitraum der Verantwortung
- Anspruch auf Nachbesserung
- Schadensersatzanspruch
- Vertragsauflösung
- Anspruch auf Vergütungsreduzierung
Es gibt eine begrenzte Zeit, in der diese Rechte ausgeübt werden können.
Insbesondere können die Rechte nur ausgeübt werden, wenn der Auftraggeber dem Anbieter innerhalb eines Jahres nach Kenntnis der Vertragswidrigkeit im System oder in der Software davon Mitteilung macht.
Vor der Änderung war die Ausübungsfrist auf “ein Jahr ab Übergabe des Systems oder der Software” begrenzt. Daher kann man sagen, dass die Änderung die Ausübungsfrist verlängert hat.
Zusätzlich zu dieser zeitlichen Begrenzung gelten auch die Bestimmungen über die Verjährung für die oben genannten Rechte, die aufgrund der Vertragswidrigkeitsverantwortung anerkannt werden.
Daher, wenn Sie zum Beispiel erst 11 Jahre nach Erhalt des Systems oder der Software von einem Fehler erfahren, können Sie Ihre Rechte, wie z.B. das Recht auf Schadensersatz, nicht ausüben, unabhängig davon, ob Sie den Anbieter innerhalb eines Jahres nach Kenntnis der Vertragswidrigkeit informiert haben oder nicht, da die “zehnjährige” Verjährungsfrist bereits abgelaufen ist.
Verweigerung der Vergütungszahlung
Der Auftraggeber kann die vollständige Zahlung der Vergütung verweigern, bis der Entwickler die Nachbesserung oder Schadensersatzleistung erbracht hat.
Punkte zur Berücksichtigung von Vertragswidrigkeiten in Vertragsbestimmungen
Die Bestimmungen zur Vertragswidrigkeitsverantwortung sind optional und können durch spezielle Vereinbarungen zwischen den Parteien eingeschränkt oder die Frist für die Ausübung von Rechten verkürzt werden.
In diesem Zusammenhang werden wir hier die Vertragsbestimmungen erläutern, die in Bezug auf die Vertragswidrigkeitsverantwortung bei der System- und Softwareentwicklung beachtet werden sollten.
Punkt 1: Ereignisse und Bereiche, die Gegenstand von Vertragswidrigkeiten sind
Wenn es Unzufriedenheit mit dem System oder der Software gibt, wird der Auftraggeber wahrscheinlich die Vertragswidrigkeitsverantwortung des Anbieters in Anspruch nehmen wollen.
Aber als Anbieter kann man nicht akzeptieren, dass man wegen Unzufriedenheit für Vertragswidrigkeiten verantwortlich gemacht wird, auch wenn es sich nur um Spezifikationen handelt.
Außerdem könnte der Anbieter sein Angebot erheblich erhöhen, um sich gegen ungerechtfertigte Vertragswidrigkeitsansprüche zu schützen, was auch zum Nachteil des Auftraggebers wäre.
Daher ist es wichtig, schriftlich festzuhalten, mit welchem Ziel und welchen Funktionen der Auftraggeber ein System einführen möchte, um die Ereignisse und Bereiche, die Gegenstand von Vertragswidrigkeiten sind, zu klären und sicherzustellen, dass sie in den Spezifikationen korrekt wiedergegeben werden.
Es könnte auch in Betracht gezogen werden, klarzustellen, dass selbst wenn es nach den Spezifikationen irgendwelche Unannehmlichkeiten gibt, es nicht als Vertragswidrigkeit gilt, wenn das System oder die Software genau wie in den Spezifikationen geliefert wurde.
Durch diese Bestimmung kann verhindert werden, dass man trotz der Entwicklung gemäß den Spezifikationen aufgrund der Vorlieben des Auftraggebers für Vertragswidrigkeiten verantwortlich gemacht wird.
Punkt 2: Klärung der Garantiezeit
Die Frist für die Ausübung der Vertragswidrigkeitsverantwortung beginnt nicht “zum Zeitpunkt der Übergabe” des Produkts, sondern “zum Zeitpunkt der Kenntnis” der Vertragswidrigkeit.
Auch wenn eine andere Verjährungsfrist gilt, beträgt diese Frist maximal “zehn Jahre” und erstreckt sich über einen langen Zeitraum.
Für den Anbieter ist es eine große Belastung, in einigen Fällen “zehn Jahre” lang kostenlos garantieren zu müssen, und er muss dies in der Kostenschätzung berücksichtigen.
Auch für den Auftraggeber kann es je nach Nutzungsdauer des Systems oder der Software und anderen Faktoren vorteilhafter sein, die Garantiezeit flexibel festzulegen.
Daher könnte es in Betracht gezogen werden, die Garantiezeit je nach Inhalt des Systems usw. flexibel festzulegen.
Punkt 3: Vorgehen bei Auftreten von Vertragswidrigkeiten
Wenn eine Vertragswidrigkeit auftritt, können die Parteien durch eine Vereinbarung festlegen, welche der nach dem Zivilgesetz anerkannten Rechte, wie Schadensersatzforderungen oder Kündigung, ausgeübt werden können.
Als Auftraggeber ist es wichtig, genau zu verstehen, welche Einschränkungen im Vertrag festgelegt sind.
Zusammenfassung: Konsultieren Sie einen Anwalt bei der Erstellung eines Vertrags, der eine “Vertragswidrigkeitsverantwortung” beinhaltet
Die Änderung des japanischen Zivilgesetzes (Bürgerliches Gesetzbuch) hat auch große Auswirkungen auf die rechtlichen Beziehungen bei der Entwicklung von Systemen und Software gehabt.
Wenn ein geliefertes System einen Fehler aufweist, kann nicht pauschal gesagt werden, ob dies eine “Vertragswidrigkeit” darstellt und welche Verantwortung in Frage gestellt werden kann.
Darüber hinaus ist es unerlässlich, im Stadium des Entwicklungsvertrags ausreichende Diskussionen zwischen dem Auftraggeber und dem Anbieter zu führen, um Streitigkeiten im Voraus zu verhindern.
Wenn Sie Bedenken bei der Erstellung eines Vertrags haben, zögern Sie bitte nicht, einen spezialisierten Anwalt zu konsultieren.
Category: IT
Tag: ITSystem Development