Wie gilt die faire Verwendung für Code-Snippets? [geschlossen]


26

Gibt es eine Größe, in der Sie unter fairen Bedingungen Code kopieren können, für den Sie keine Lizenz besitzen? Was passiert zum Beispiel, wenn ich ein Snippet kopiere, das (normalerweise) aus 3 Codezeilen besteht? Ist das faire Verwendung? Welche Länge ist erforderlich, bevor ich eine Lizenz benötige, wenn es sich um eine faire Nutzung handelt?


11
Die Gesetze variieren je nachdem, wo Sie sich befinden, und es gibt Menschen aus der ganzen Welt. Wenn Sie eine rechtliche Frage stellen, teilen Sie uns bitte mit, wo Sie leben und arbeiten. Vertraue außerdem nichts, was wir sagen. Wenden Sie sich an einen Anwalt vor Ort mit entsprechender Erfahrung, wenn Ihnen dies in irgendeiner Weise (etwa finanziell) wichtig ist.
David Thornley

1
Hinweis: Ich habe eine Antwort zu dieser Frage hinzugefügt, weil ich der Meinung bin, dass die vorhandenen Antworten nicht korrekt genug sind, obwohl das Thema gemäß den aktuellen Richtlinien offtopisch ist Antworten.
Jules

Antworten:


12

In den USA gilt die gesetzliche Doktrin der fairen Verwendung nicht für die Einbettung von Auszügen aus urheberrechtlich geschützten Werken in den Quellcode. Wie diese Doktrin von den Gesetzen Ihrer Gerichtsbarkeit angewendet wird, kann variieren.

Ich werde einen Auszug aus einem Artikel des US-amerikanischen Urheberrechtsamts über faire Nutzung und allgemeine Urheberrechte ziehen:

Abschnitt 107 enthält eine Liste der verschiedenen Zwecke, für die die Reproduktion eines bestimmten Werks als gerecht angesehen werden kann, wie z. B. Kritik, Kommentare, Berichterstattung, Lehre, Stipendien und Forschung [Schwerpunkt Mine] . In Abschnitt 107 sind außerdem vier Faktoren aufgeführt, die bei der Feststellung, ob eine bestimmte Verwendung gerechtfertigt ist, zu berücksichtigen sind:

  1. Zweck und Charakter der Nutzung, einschließlich der Frage, ob diese Nutzung kommerzieller Natur ist oder nicht für gemeinnützige Bildungszwecke bestimmt ist
  2. Die Art der urheberrechtlich geschützten Arbeit
  3. Die Menge und Wesentlichkeit des Teils, der in Bezug auf das urheberrechtlich geschützte Werk insgesamt verwendet wird
  4. Die Auswirkung der Nutzung auf den potenziellen Markt oder den Wert des urheberrechtlich geschützten Werks.

Die Unterscheidung zwischen fairer Verwendung und Verstoß ist möglicherweise unklar und nicht leicht zu definieren. Es gibt keine bestimmte Anzahl von Wörtern, Zeilen oder Notizen [Hervorhebungen] , die ohne Erlaubnis sicher verwendet werden können. Das Anerkennen der Quelle des urheberrechtlich geschützten Materials ersetzt nicht das Einholen einer Genehmigung.

Es fasst die gesetzlichen Grenzen des Urheberrechts zusammen, die Fair Use weiter einschränkt:

Das Urheberrecht schützt die Art und Weise, wie sich ein Autor ausdrückt. Sie erstreckt sich nicht auf Ideen, Systeme oder sachliche Informationen, die in der Arbeit vermittelt werden.

Der sicherste Weg ist immer, die Erlaubnis des Copyright-Inhabers einzuholen, bevor Sie urheberrechtlich geschütztes Material verwenden. Das Copyright Office kann diese Erlaubnis nicht erteilen.

Die Grenzen des urheberrechtlichen Schutzes liegen darin, dass Sie zwar keine "Codeausschnitte" über Fair Use kopieren können, aber die Art und Weise, wie Ideen, Systeme (einschließlich Algorithmen) oder Fakteninformationen in diesen Ausschnitten ausgedrückt werden , umschreiben können .

Kurz gesagt, 3 Codezeilen sollten so klein sein, dass Sie sie umschreiben können, um das Urheberrecht des Originalwerks nicht zu verletzen. Das Schreiben Ihrer Frage hat wahrscheinlich länger gedauert als das Umschreiben.


14
Ich sehe hier nichts, was besagt, dass das Kopieren eines Codeausschnitts keine faire Verwendung sein kann. Es werden die Kriterien erläutert, anhand derer beurteilt wird, ob Ihre Verwendung für den Fall einer Klage gerechtfertigt ist.
KeithB

7
Die Liste soll beispielhaft und nicht vollständig sein. Deshalb enthält es die Wörter "wie". Wenn der Code weitgehend funktionsfähig ist, nur ein kleiner Teil des ursprünglichen Werks übernommen wird und die beiden Werke nicht auf dem Markt konkurrieren, ist es durchaus möglich, dass Gerichte eine faire Verwendung finden.
David Schwartz

4
Und welche Qualifikationen müssen Sie "über das Gesetz erklären", @Huperniketes? Sie haben dies so geschrieben, als würden Sie eine Behörde zitieren, die definitiv anzeigt, dass das Kopieren von Code nicht fair ist, sondern dass Sie lediglich Ihre eigene Auslegung des Gesetzes vornehmen, ohne auch nur eine Rechtsprechung zu zitieren.
Mark Amery

6
Das ist für mich eigentlich irrelevant. Das Problem ist, dass eine Liste mit "wie" in keiner Version des Englischen erschöpfend ist, auch nicht in dem bizarren Englisch vom Mars, das Anwälte tagtäglich sprechen. Die Liste, die Sie kursiv geschrieben haben, enthält nur einige Beispiele. Sie trägt in keiner Weise zur tatsächlichen Bedeutung des Gesetzes bei, sondern ist nur ein Hinweis für Richter und Anwälte auf die allgemeinen Absichten der Gesetzgeber. Fairer Gebrauch ist ein unglaublich grauer Bereich des Rechts, und die Darstellung eines Teils davon in Schwarzweiß ist für Ihre Leser ein enormer Nachteil.
Kevin

6
@Huperniketes, Sie behaupten, ich mache idiotische Behauptungen, ohne das Material zu kennen, wenn ich nichts über das Gesetz behauptet habe . Sie machen den Rechtsanspruch geltend - im Gegensatz zu einer einfachen englischen Lesart zeigt Ihre kursive Passage, dass das Kopieren von Codefragmenten in Software niemals eine faire Verwendung sein kann. Ich bin skeptisch gegenüber dieser Behauptung, aber sicher kenne ich keine Rechtsprechung, die sie stützt oder widerlegt. Deshalb mache ich keine sachlichen Angaben. Die Beweislast liegt bei Ihnen, wenn Sie glauben wollen, aber Sie haben sich entschieden, diejenigen zu verhöhnen und zu beleidigen, die Sie neutral dazu auffordern, Beweise vorzulegen.
Mark Amery

21

Ich bin kein Anwalt .

Es steht Ihnen jedoch völlig frei , die folgenden 3 Codezeilen in allem zu verwenden, was Sie schreiben:

for (i = 0; i < 5; i++) {
    printf("I am not a lawyer!\n");
}

.... Das ist rein funktionaler Code (nicht funktional in dem Sinne, wie Sie vielleicht denken, sondern funktional durch das, was er tut). Es ist nicht wirklich erreicht nichts; es übt einfach die Konstrukte der Sprache aus. Es unterstützt Dinge, die tatsächlich funktionieren. Sie geben sie oft genug ein, um sie mit einem Makro zu erstellen. Aber was Sie meinen, ist nicht "fair use", sondern ist dies überhaupt urheberrechtlich oder lizenzierbar?

Die einzig richtige Antwort ist, einen Anwalt zu fragen. Zehn Codezeilen von was ? Ein hochspezialisierter Sortieralgorithmus? Eine Art Firmware? Einer der Millionen von Konfigurationsdatei-Parsern, die seit den Anfängen des Usenet im Umlauf sind? Code, der von einem anderen Programm generiert wurde, das Datenbankklassen basierend auf Ihrem DB-Schema generiert?

Aber beweisen Sie mir, dass Sie die for-Schleife oder switch-Anweisung geschrieben und nicht nur meine kopiert haben. An dem Punkt, an dem Behauptungen nicht mehr absurd klingen, sollten Sie wahrscheinlich mit einem Anwalt oder zumindest Ihrem technischen Leiter / PM / usw. sprechen.

Ich beteilige mich an mehreren Free / Open Source-Projekten, von denen einige eine Urheberrechtszuweisung für alles erfordern, was nicht "trivial" ist. Alle, die diese Anforderung haben, definieren "trivial" als zehn Codezeilen, die hinzugefügt oder geändert werden. Aber das ist nur ein willkürlicher Lackmustest, um einen Standard zu etablieren. Eine Zeile eines umwerfenden Byte-Vergleichs unterliegt mit größerer Wahrscheinlichkeit dem Urheberrecht als ein 10-Zeilen-Switch.

Meine Snippet-Galerie besteht aus Hunderten von Funktionen. Alle enthalten die Informationen des ursprünglichen Autors in Doxygen-Kommentaren sowie Lizenzinformationen (falls vorhanden, sind die meisten nur gemeinfrei).

Sofern dies nicht eindeutig trivial ist (wie in meinem humorvollen Beispiel), würde ich Code nur dann wiederverwenden, wenn ich weiß, dass ich die Erlaubnis dazu habe. Ich folge auch immer den Regeln der jeweils gültigen Lizenz. Und um meinem zukünftigen Ich (oder zukünftigen Betreuern) zu helfen, hinterlasse ich gerne einen Link zu dem, was ich in einem Kommentar gefunden habe, auch wenn dies der Name eines Teerballs ist, den ich auf einem USB-Stick abgebe, wenn ich das Unternehmen verlasse.


2
Ich bezweifle sehr, dass viele Schnipsel gemeinfrei sind.
Martijn

2
Ich bin zu spät zur Party, aber es ist auch wichtig zu beachten, dass Tim Post, selbst wenn er alle Rechte an dem obigen Code behält, die Idee nicht urheberrechtlich schützen kann . Wenn Sie aus diesem Snippet lernen, dass Sie einen String fünfmal mit einer for-Schleife drucken können, und dann mit diesen Ideen Ihre eigene (bemerkenswert ähnliche) for-Schleife schreiben, dann geht es Ihnen trotzdem gut. Es ist egal, was Tim will. Je nachdem, wie lange es dauert und wie ähnlich Ihre Version ist, müssen Sie möglicherweise nachweisen, dass Sie sie tatsächlich erneut implementiert haben. Wenn Sie dies jedoch tun können, sind Sie garantiert im Klaren.
GrandOpener

Während Urheberrechte keine Ideen schützen, tun dies Patente. Das Urheberrecht ist ein juristischer Begriff mit einer spezifischen rechtlichen Definition. Ideen können nicht urheberrechtlich geschützt werden , aber die Art und Weise, wie sie ausgedrückt werden, kann und ist; Nach dem geltenden IP-Recht ist das Werk eines Urhebers automatisch urheberrechtlich geschützt. Eine Idee kann patentiert werden, wenn sie den entsprechenden Standards entspricht.
Huperniketes

@Huperniketes - "Die Art und Weise, wie [Ideen] ausgedrückt werden, kann [urheberrechtlich geschützt sein] und ist; und nach dem aktuellen IP-Recht ist das Werk eines Urhebers automatisch urheberrechtlich geschützt und geschützt" - solange der Ausdruck dieser Ideen einen Grad an Originalität erreicht und Einfallsreichtum, der als Mindestkreativitätsschwelle zur Gewährleistung des Schutzes und des Kopieraufwands angesehen wird, wird nicht als trivial angesehen. Wenn der Ausdruck nicht deutlich genug ist oder der Kopieraufwand als geringfügig eingestuft wird, spricht man von De-minimis-Kopieren und ist nicht urheberrechtlich geschützt. Es wurde festgestellt, dass Gerichte ...
Jules

... Computerprogramme in Situationen, in denen es sich offensichtlich um Minimalprogramme handelt, die eine bestimmte Operation ausführen (und in denen die Operation selbst nicht innovativ ist). ZB mehr Fälle von diesem diskutiert hier . Im Zusammenhang mit der Frage gehören diese drei genannten Zeilen mit ziemlicher Sicherheit zu dieser Kategorie: Sie sind eher funktional als kreativ und führen mit ziemlicher Sicherheit eine gemeinsame Operation aus, die in vielen Softwareteilen enthalten ist. In diesem Fall sind sie wahrscheinlich nicht geschützt.
Jules

1

Das Urheberrecht gilt für kreative Werke , einschließlich Ausdrucksformen von Ideen (wie der Quellcode rechtlich behandelt wird), sofern die Ausdrucksform dieser Ideen ein Maß an Originalität und Erfindungsreichtum erreicht, das ein Maß überschreitet, das als Mindestschwelle für die zu rechtfertigende Kreativität angesehen wird Schutz und die Menge des Kopierens wird nicht als trivial angesehen.

Wenn der Ausdruck nicht ausreichend unterscheidbar ist, wird dies als Nichterreichen der Urheberrechtsschwelle bezeichnet . Wenn der Umfang des Kopierens als unbedeutend eingestuft wird, spricht man von De-minimis-Kopieren und ist nicht urheberrechtlich geschützt. Die Gerichte haben festgestellt, dass dies Computerprogramme betrifft, bei denen es sich offensichtlich um Minimalprogramme handelt, die eine bestimmte Operation ausführen (und bei denen die Operation selbst nicht innovativ ist). ZB werden hier und hier mehrere Fälle besprochen .

Im Zusammenhang mit der Frage gehören diese drei genannten Zeilen mit ziemlicher Sicherheit zu dieser Kategorie: Sie sind eher funktional als kreativ und führen mit ziemlicher Sicherheit eine gemeinsame Operation aus, die in vielen Softwareteilen zu finden ist. In diesem Fall sind sie wahrscheinlich nicht geschützt.

Technisch gesehen handelt es sich hierbei nicht um eine "faire Verwendung", die eine spezifische gesetzliche Ausnahme von Beschränkungen darstellt, zu deren Durchsetzung ein Inhaber des Urheberrechts berechtigt ist, sondern die auf Präzedenzfällen nach allgemeinem Recht beruht, die sich im Laufe der Zeit angesammelt haben, sondern um den Begriff "faire Verwendung". wird oft lose in einer Weise verwendet, die beide Bedeutungen einschließt, und es gibt in Wirklichkeit eine erhebliche Überlappung zwischen ihnen.


1

Die US-amerikanische "Fair-Use-Doktrin" ist eine mögliche bejahende Verteidigung gegen eine Behauptung einer Urheberrechtsverletzung. "Affirmative Defense" bedeutet, dass Sie das Kopieren ohne Lizenz zugeben und damit das Urheberrecht einer Person verletzen, aber dann behaupten Sie, dass Sie aus irgendeinem Grund das Recht haben, dies ohne negative Konsequenzen zu tun. Um ehrlich zu sein, scheint das eine gefährliche Strategie zu sein. Sie schlagen vor, Code zu schreiben, der das Urheberrecht einer Person oder mehrerer Personen verletzt, und sich auf einen fairen Schutz zu verlassen. Ich könnte mir sehr leicht vorstellen, dass 3 Codezeilen "fair use" sind, aber 3 Zeilen hier, 3 Zeilen dort und 3 Zeilen anderswo nicht.

Es gibt eine viel bessere Verteidigung gegen Urheberrechtsverletzungen: Nicht in erster Linie verletzen. Anstatt ein Code-Snippet zu kopieren, lesen Sie es, untersuchen es genau, lernen, wie es funktioniert, verstehen es und wenn Sie es vollständig verstanden haben, kopieren Sie es nicht, sondern schreiben Ihre eigenen drei Codezeilen. Dies hat mehrere Vorteile:

  1. Sie begehen keine Urheberrechtsverletzung.
  2. Sie haben etwas gelernt und sind ein besserer Entwickler geworden.
  3. Wenn Sie es selbst schreiben, wird es im selben Stil wie der andere Code geschrieben, wodurch die Wartung vereinfacht wird.
  4. Während Sie sich die Zeit nehmen, um das Code-Snippet zu verstehen, lernen Sie seine Unzulänglichkeiten, seine Einschränkungen und Fehler kennen und vermeiden sie in Ihrem eigenen Code. Dies bedeutet, dass Ihr Code besser ist, als wenn Sie das Snippet kopiert hätten.
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.