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.