Garantie- oder Gewährleistungsklausel für Codebruch


9

Sollte ich meinem Vertrag eine Garantieklausel garantieren oder hinzufügen, falls der Code bricht oder eine Anomalie außerhalb der Hand oder der Handlung Gottes des Kunden auftritt?

Wenn ja, was soll diese Sprache sagen?


2
Was sind die Folgen eines Codefehlers? Software, selbst große kommerzielle Software, wird im Allgemeinen "wie sie ist" ohne Garantie bereitgestellt. Tatsächlich lehnt die EULA bei so gut wie jeder Shrink-Wrap-Software jegliche Verantwortung für die Verwendung von Software ab. Also würde ich vorschlagen, dass Sie diesen Weg gehen. Andernfalls lassen Sie sich für alles verklagen, was Sie haben und jemals verdienen werden, weil Ihre Software eine Fehlermeldung ausgegeben hat, die Oma daran hindert, die Facebook-Nachricht ihrer Nachkommen zu sehen, und an der Not gestorben ist, die dadurch verursacht wurde, dass etwas schief gelaufen ist.
TZHX

1
... Sie müssen mehr Informationen über die spezifische Situation bereitstellen, bevor Personen eine fundierte Antwort geben können. In einem Vertragsszenario muss der Kunde jedoch normalerweise die Software "abmelden", bevor er den endgültigen Betrag bezahlt . Normalerweise wird von Ihnen erwartet, dass Sie eine gewisse Validierung durchführen, um zu zeigen, dass sie sich auf das Produkt verlassen können.
TZHX

Wenn etwas aufgrund einer höheren Gewalt ausfällt, warum liegt es dann in Ihrer Verantwortung, es im Rahmen einer Garantie zu reparieren? Diese gesetzliche Bestimmung befreit Personen von der Haftung für Ereignisse, die außerhalb ihrer oder der Kontrolle anderer Personen liegen.
Adam Crossland

Antworten:


13

Bieten Sie keine an, es sei denn, Ihr Kunde verlangt eine Garantie oder Gewährleistung. Viele Kunden werden es am Ende nutzen, um Sie in die Knechtschaft zu zwingen.

Auch wenn sie einen verlangen, konsultieren Sie einen Anwalt. Ansonsten bereiten Sie sich auf eine Katastrophe vor.


3
Dies ist genau der Grund, warum fast jeder Code, den Sie frei im Web finden, die Worte "BEREITGESTELLT UND OHNE GARANTIE" enthält.
James Love

@ JamesLove: Das liegt zum Teil daran, dass niemand irgendeine Garantie geben wird, ohne dafür bezahlt zu werden. Schauen Sie sich die Lizenzvereinbarungen für kommerzielle Software an. Der einzige Fall, in dem ich von einem Softwareanbieter gehört habe, der eine Garantie verlängert und einhält, war TurboTax.
David Thornley

6

Sollte ich meinem Vertrag eine Garantieklausel garantieren oder hinzufügen, falls der Code bricht oder eine Anomalie außerhalb der Hand oder der Handlung Gottes des Kunden auftritt?

Nein niemals

Wenn nötig, nehmen Sie den Job nicht an. Dies ist eine unmögliche Situation. Die Liste der Dinge, die geändert werden könnten und die dazu führen würden, dass Ihr Code kaputt geht oder nicht funktioniert, hat kein Ende.

Wenn Sie nicht gerne kostenlos arbeiten, fahren Sie fort.


3

Die Standardmethode, um darauf zu reagieren, besteht darin, eine Support- oder Wartungsklausel hinzuzufügen - "die ersten 10 Arbeitsstunden sind kostenlos enthalten, der Rest ist mit der folgenden Rate verfügbar:".


3

Ich habe Adams "Nicht tun" positiv bewertet, aber das Anbieten einer solchen Garantie für ein kommerzielles Softwareprodukt könnte bei den Kunden viel positive Aufmerksamkeit finden. Es würde auch zeigen, dass Sie im Vergleich zum Rest der Branche riesige Cojones hatten. :-)

Ich könnte unter folgenden Umständen in Betracht ziehen, eine Garantie anzubieten:

  • Es ist mein Produkt, im Gegensatz zu Leiharbeit für jemand anderen.
  • Ich hatte die Kontrolle über den gesamten Softwareentwicklungs- und Release-Prozess, einschließlich Spezifikation, Programmierung, Test und Dokumentation.
  • Ich habe in der Dokumentation sorgfältig angegeben, unter welchen Umständen die Software ausgeführt werden kann, für die die Garantie gelten würde. Zum Beispiel Hardwareanforderungen, keine Ausführung unter Betriebssystememulatoren usw.
  • Ich habe die Garantiezeit begrenzt.
  • Ich war von der Qualität der Software sehr überzeugt

In diesem Fall biete ich möglicherweise eine Garantie wie "Für einen Zeitraum von einem Jahr ab Kaufdatum garantieren wir, dass wir die Software reparieren und eine kostenlose Garantie ausstellen, wenn sie nicht im Wesentlichen wie im Benutzerhandbuch dokumentiert ausgeführt wird aktualisieren."

Das klingt nicht nach einer großen Garantie, ist aber weit mehr als die meisten kommerziellen Softwareprodukte, versichert den Kunden, dass Sie Fehler beheben werden, und das Wort "im Wesentlichen" lässt genug Spielraum, damit Sie nicht pleite gehen.


Wenn es Vertragsprogrammierung für jemand anderen ist, vergessen Sie es. Ich bin einmal in eine ähnliche Situation geraten, als ich ein Windows-Programm auf den Mac portiert habe, und habe Zehntausende von Dollar verloren, um "Fehler" zu beheben, die tatsächlich versteckte Funktionen in der Windows-Version waren, die der Client vor Vertragsunterzeichnung nicht erwähnt hat , obwohl wir wiederholt nach Spezifikationen gefragt hatten. Diese Erfahrung war einer der Hauptgründe, warum ich aufgehört habe, Festpreisverträge abzuschließen.


Danke für die Kommentare und Vorschläge! Da wir noch nie zuvor von einem Kunden danach gefragt wurden, hilft uns dies immens. Zum ersten Mal für alles.

Das Problem mit Softwaregarantien besteht darin, dass Sie identische Versionen versenden. Wenn Sie also einen schwerwiegenden Fehler machen, werden alle von der Garantie erfasst. Sie sind gefährlich.
David Thornley

Oh nein, Sie bezahlen keine Software-Garantie! Es sollte wie eine Garantie für ein Auto sein: Sie garantieren nur, das Problem zu beheben. Außer im Fall von Software führen Sie nur eine Fehlerbehebung durch. Ich werde die Antwort aktualisieren.
Bob Murphy

2

Es ist üblich, eine Garantie zu geben, die Fehlerbehebungen für einen bestimmten Zeitraum nach Projektende (z. B. 3-6 Monate) enthält. Dies sagt dem Kunden, dass Sie hinter Ihrem Code stehen, und ehrlich gesagt sollten Sie eine gewisse Haftung für Probleme haben, die Sie mit Ihrem Code liefern.

In unseren Projekten bieten wir normalerweise eine SLA (Service Level Agreement) an, in der die Fehler und der Zeitplan für die Behebung der Fehler entsprechend ihrem Schweregrad festgelegt werden. Beispielsweise sollten kritische Probleme in einem Live-Projekt innerhalb einer Stunde nach Erhalt des Berichts behoben (zumindest versucht) werden. Visuelle Probleme und kleinere Fehler sollten innerhalb von 48 Stunden behoben sein.

Es ist sehr wichtig, eine klare Definition des Fehlers zu haben, da Clients häufig versuchen, neue Funktionen als Fehlerberichte zu verwenden (manchmal unbeabsichtigt). Diese Definitionen sind immer etwas offen für Interpretationen, daher müssen Sie einen Schiedsrichter (normalerweise eine Autorität in der Entwicklungssprache / -plattform) zuweisen, der Meinungsverschiedenheiten vermitteln kann.


0

Der Vertragstext müsste ähnliche Angaben enthalten:

  1. Sie dürfen diesen Code nicht erweitern
  2. Sie dürfen diesen Code nicht zurückentwickeln
  3. Sie können diesen Code möglicherweise nicht in Ihr Framework integrieren (ähnlich wie Nummer 1, jedoch anders in dem Sinne, dass er zu einer ganzen Ebene ihres Geschäfts wird).
  4. Sie dürfen diesen Code nicht auf andere Betriebssysteme portieren (IE Windows zu Unix).

Nur ein paar, an die ich denken konnte.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.