Ist es legal, Code in Projekten anderer Kunden wiederzuverwenden?


22

Ich arbeite als unabhängiger Softwareentwickler für mobile Anwendungen. Ein Kunde bittet mich, eine mobile App zu entwickeln. Im Moment berechne ich die Zeit und den Aufwand, um ein Angebot für dieses Projekt zu schreiben.

Die App selbst wird nur für eine bestimmte Zeit verwendet, da sie sich danach auf ein bestimmtes Ereignis bezieht, wenn sie unbrauchbar ist. Die Basisfunktionalität der App kann jedoch für andere Kunden wiederverwendet werden, die eine ähnliche App für ihre Veranstaltung wünschen.

Im Moment frage ich mich, ob es in Ordnung ist, die App für den Kunden zu entwickeln. Lassen Sie ihn die Entwicklung bezahlen und einen Teil des Quellcodes für die App eines anderen Kunden wiederverwenden.

Was wäre für mich der beste Weg, mit diesem Szenario umzugehen?

  • Wem gehört der Quellcode der App?
  • Muss ich dem Kunden den Quellcode geben, wenn er für die Entwicklung bezahlt hat?
  • Wenn ich muss, kann ich trotzdem eine Kopie behalten und später wiederverwenden?
  • Muss ich den Kunden bitten, den Code erneut zu verwenden?
  • Muss ich hier mit einer Art Lizenzmodell arbeiten? Und lassen Sie den ersten Kunden nur einen bestimmten Teil der Entwicklung bezahlen, damit ich den Code ohne Bedenken wiederverwenden kann?

Ich hoffe, ich habe meine Situation klargestellt. Ich freue mich auf Ihre Antworten.


Haben Sie bereits einen formellen Vertrag mit dem Kunden abgeschlossen?
Thomas Owens

Nein, ich bin gerade in der Planungsphase. Bisher habe ich nur mit dem Kunden über die Anforderungen gesprochen.
Flo

5
@Flo - Schreiben Sie einen Vertrag, der all diese Bedenken berücksichtigt. Das Copyright liegt standardmäßig bei Ihnen als Autor. Natürlich, wenn Sie einem Vertrag zustimmen, in dem etwas anderes festgelegt ist, liegt das an Ihnen.
Ramhound

8
Sie sollten einen Anwalt konsultieren, anstatt sich auf die Vermutungen einiger Programmierer zu verlassen, die die Details Ihrer Situation und Ihrer örtlichen Gesetze nicht kennen.
Paul Tomblin

Antworten:


26

Sie sollten vor dem Start des Projekts entscheiden, wer den Besitz des Codes behält.

Wenn sie es Ihnen gerne erlauben, das Eigentum zu behalten, können Sie es auch in anderen Projekten verwenden. Wenn sie später Eigentümer werden wollen, ist dies ein Verhandlungspunkt.


6
Es kann in Ihrem Interesse sein, einen Deal vorzuschlagen, bei dem Sie den Code wiederverwenden können, jedoch nicht in Projekten für die Wettbewerber Ihres Kunden. Das scheint aus ihrer Sicht schmackhafter.
Emilio M Bumachar

4
Wenn sie Einwände erheben, besteht die übliche Möglichkeit darin, 2 Raten anzugeben. 1, wenn ich vorhandenen Code und vorhandene Bibliotheken wiederverwenden kann, und 2. eine 10-fache Menge, wenn ich nur für dieses Projekt alles von Grund auf neu erstellen muss. In der Praxis geht es ein wenig darum, "Standard-Code und -Bibliotheken wiederzuverwenden", um sich selbst zu schützen, und niemand bemerkt oder kümmert sich darum.
Martin Beckett

3
+1 an Martin Beckett. In jedem Projekt sollten zwei Codebasen vorhanden sein. Eine Reihe von "allgemeinen" Bibliotheken, die Code mit globaler Anwendung enthalten, den Sie an Ihre Kunden "lizenzieren" und den "benutzerdefinierten" Code, den Ihr Kunde nach Fertigstellung tatsächlich besitzt. Sie können im Vertrag festlegen, dass die Entwicklung der "gemeinsamen" Bibliotheken mit neuen Funktionen als Reaktion auf die Anforderungen dieses Projekts noch in Rechnung gestellt werden kann. Sie müssen von Fall zu Fall mit dem Kunden darüber verhandeln, was als "allgemein" zu qualifizieren ist. Der Client möchte möglicherweise eine Codebasis, die nicht vollständig von Ihrem lizenzierten Code abhängig ist.
KeithS 30.01.12

6

Da Sie noch keinen Vertrag haben, müssen Sie diese Probleme mit dem Kunden klären, bevor Sie den endgültigen Vertrag unterzeichnen. Soweit ich weiß, geschieht dies, wenn der Kunde mit Ihren Schätzungen zu Zeit und Kosten einverstanden ist. Daher sollten Sie überlegen, dies zusammen mit den Anforderungen jetzt mit dem Kunden zu besprechen. Dies sind Dinge, die oft in einem solchen Dokument enthalten sind. Was enthalten ist, sollte sowohl für Sie als auch für die Person, die für das Produkt bezahlt, angenehm sein, obwohl Sie je nach Person oder Organisation möglicherweise nicht alles bekommen, was Sie wollen.

Wenn Sie nicht viel Erfahrung mit dem Schreiben von Verträgen haben oder sehr spezielle Fragen haben, ist ein Anwalt, der sich auf Vertrags- und Wirtschaftsrecht spezialisiert hat, der beste Ansprechpartner Gericht sollte es ein Problem geben. Sie möchten nicht, dass ein Vertragsfehler später zu Problemen führt.


7
+1 Ich möchte auch hinzufügen, dass es eine gute Idee ist, Rechtsberatung zu erhalten oder beim Schreiben Ihres ersten Vertrags behilflich zu sein, damit Sie es richtig machen können. In der Regel sind die meisten Angebote sehr ähnlich, sodass es ziemlich einfach ist, Ihre alten Verträge als Vorlage für Ihre Verträge zu verwenden, die Sie später für neue Kunden schreiben.
maple_shaft

4

Die Antworten waren bisher hervorragend. Ich stimme voll und ganz dem Rat zu:

  • frag einen Anwalt
  • Erstellen Sie jedes Mal einen Vertrag, wenn Sie mit jemandem zusammenarbeiten
  • Arbeiten Sie weiterhin mit Ihrem Anwalt zusammen
  • profitieren!

In dieser Situation wissen Sie bereits, dass die "Basisfunktionalität der App für andere Kunden wiederverwendbar sein wird", und ich bin sicher, dass Sie (und andere) bereits Situationen erlebt haben, in denen Sie einige grundlegende Funktionen oder Frameworks kennen Sie werden im Web, auf Mobilgeräten, auf dem Desktop oder auf andere Weise wiederverwendet. Ich meine wirklich, warum sollten wir nicht etwas wiederverwenden, von dem wir wissen, dass es funktioniert und mit dem wir vertraut sind? Wir machen es wahrscheinlich alle die ganze Zeit.

Dies mag bei Ihnen nicht funktionieren, hat aber im Laufe der Jahre bei mir funktioniert:

  • Ertragen Sie die Entwicklungskosten für alles, von dem Sie glauben, dass es wiederverwendet wird, behalten Sie das Eigentum und lizenzieren Sie es an Ihre Kunden. Dabei wechselt kein externes Geld den Besitzer, um das Eigentum klar zu halten.

In dieser Situation können Sie mithilfe eines Anwalts klarstellen, dass Ihre Kunden für alles bezahlen, was auf der Basisfunktionalität aufbaut, die Sie bereitstellen. Sie besitzen diese Anpassung, aber nicht die Basis, und Sie sind weiterhin frei in ähnlicher Weise für andere entwickeln.

Wenn der Kunde Exklusivität der Nutzung verlangt, dann kann man es ihnen zu einem Preis anbieten, den Sie für die Zeit, Mühe entlohnt, und die Unfähigkeit , an andere Personen weiter in der Zukunft zu verkaufen.

Der Nachteil ist natürlich, dass Sie etwas kostenlos entwickeln. Sie müssen sicher sein, dass es wiederverwendbar ist und dass andere Sie bezahlen, sonst ist es ein schlechtes Spiel. Wenn Sie jedoch vorhaben, für einige Zeit ein unabhängiger Entwickler zu sein und einen Kundenstamm zu haben - oder zumindest wollen -, ist diese Denkweise möglicherweise auf lange Sicht eine Überlegung wert.

Und sprich mit einem Anwalt!


3

Wem gehört der Quellcode der App? Muss ich dem Kunden den Quellcode geben, wenn er für die Entwicklung bezahlt hat?

Dies hängt vom Vertrag ab. In der Regel müssen Sie den Kunden nach der sogenannten Exklusivität fragen . Zum Beispiel könnten Sie viel mehr für die exklusive Entwicklung verlangen (und dann wird der Kunde den Code besitzen); Alternativ können Sie ihnen mitteilen, dass der Kunde weniger zahlen muss, die Quelle Ihnen jedoch rechtmäßig gehört. Sie können Kunden eine reine Binärversion der Software zur Verfügung stellen / installieren, sodass die Kunden zu Ihnen kommen müssen, um Änderungen vorzunehmen.

Wenn ich muss, kann ich trotzdem eine Kopie behalten und später wiederverwenden? Muss ich den Kunden bitten, den Code erneut zu verwenden?

Im Allgemeinen ist das Aufbewahren einer Kopie nicht illegal / unethisch. Sie können es verwenden, wenn der Kunde mehr Entwicklung wünscht. Es ist jedoch nicht richtig, Code (an eine andere Person) zu verteilen, wenn das Geschäft exklusiv war.

Muss ich hier mit einer Art Lizenzmodell arbeiten? Und lassen Sie den ersten Kunden nur einen bestimmten Teil der Entwicklung bezahlen, damit ich den Code ohne Bedenken wiederverwenden kann?

Nicht nur im Hinblick auf die Wiederverwendung von Code ansonsten muss der Lizenzierungsprozess vorhanden sein, um alle Elemente des Kunden und Ihre Anliegen zu definieren. Sie müssen also unabhängig davon lizenzieren, ob der Deal einseitig ist oder nicht. Außerdem sollten Sie später für denselben Kunden Vorkehrungen für die zukünftige Entwicklung treffen.


1
-1, Es gibt keinen Grund, warum Sie den Quellcode nicht verteilen können, auch wenn Sie ihn besitzen.
user606723

@ user606723 Wirst du bitte den ganzen Satz lesen? However, distributing code (to someone else) if the deal was exclusive, is not right.dh wenn Sie den Code exklusiv für einen Kunden entwickelt haben, der an jemand anderen verteilt, ist dies nicht angemessen!
Dipan Mehta

"Alternativ können Sie ihnen sagen, dass der Kunde weniger zahlen muss, aber Sie besitzen die Quelle legal. Sie können Binärdateien nur für den Kunden bereitstellen / installieren. " <- das ist, worauf ich mich beziehe. Sie können dem Quellcode nicht ausschließliche Rechte erteilen.
user606723

@ user606723 Wird dies nicht auch in meiner Antwort behandelt? alternatively you can tell them customer will have to pay less but you are legally owning the source- Was ist der Grund für Meinungsverschiedenheiten?
Dipan Mehta

1
@ DipanMehta: Ich bin einverstanden mit user606723; und Ihre letzte Änderung hat das Problem nicht behoben. Das Problem ist, dass "[...] Sie alternativ angeben können, dass der Kunde weniger zahlen muss, Sie jedoch rechtmäßig Eigentümer der Quelle sind. Sie können Kunden nur Binärversionen der Software [...] zur Verfügung stellen / installieren" Es hört sich so an, als ob Sie Ihren Kunden den Quellcode nicht geben können, wenn Sie ihn weiterhin besitzen möchten. Tatsache ist, dass Sie den Quellcode weiterhin für bestimmte Zwecke lizenzieren können, ohne das Eigentum aufzugeben und / oder alle Rechte aufzugeben.
Ruakh

-1

Sie können in Ihrem Code immer andere Bibliotheken verwenden, zum Beispiel Open Source. Offensichtlich hat der Kunde keine Urheberrechte an ihnen. In besonderen Fällen können Sie von Ihnen geschriebene Bibliotheken verwenden. Der Kunde zahlt für die Anpassung - das Teil, das für ihn und seine geschäftlichen Anforderungen entwickelt wurde. Alles, was nicht benutzerspezifisch ist und in mehreren Projekten verwendet werden soll, kann Ihre eigene Bibliothek sein. Da sehe ich kein problem.

Das Problem besteht darin, dass Sie die Schnittstelle oder die Geschäftslogik wiederverwenden oder dasselbe Projekt sogar an eine andere Person weiterverkaufen. Dienstprogrammcode ist etwas, das dem Kunden normalerweise nicht bekannt ist und das ihn auch nicht interessiert.


1
Dies alles müsste natürlich dem Kunden mitgeteilt werden.
user606723

1
Nein, würde es nicht. Lizenzen wie Apache oder MIT erlauben die kommerzielle Nutzung.
Danubian Sailor

-1

Die anderen Antworten sind zu vereinfachend. Ich will keine vollständige Antwort haben, nur ein paar Dinge hervorheben.

  1. Sie können Rechte geben oder Sie können exklusive Rechte geben.
  2. Wenn Sie exklusive Rechte gewähren, können Sie sicherstellen, dass Sie im Rahmen der Vereinbarung nicht exklusive Rechte behalten. (Dadurch können Sie den Code / das Programm persönlich verwenden.)
  3. Auch wenn Sie keine exklusiven Rechte angeben, können Sie nicht exklusive Rechte für die Verwendung, Änderung und Verteilung des Quellcodes angeben. Die beiden schließen sich nicht aus.

-1 Ihre Antwort deckt keinen Punkt ab, den andere noch nicht gesprochen haben!
Dipan Mehta
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.