Sollte ich mich als Autor eintragen, nachdem ich den Code eines Drittanbieters geändert habe?

17

Es ist gängige Praxis, einige Optimierungen oder Korrekturen im Code von Drittanbietern vorzunehmen (sei es eine einfache Zusammenfassung oder eine gesamte Bibliothek). Es ist jedoch auch üblich, dass viele dieser Codes ihre eigenen Lizenzierungsregeln und eventuell einen Header auf jeder Datei mit Copyright-Informationen haben.

Was ist nach diesen Änderungen als Nächstes zu tun? Halten Sie die Lizenzinformationen unantastbar oder versuchen Sie, sie zu aktualisieren, indem Sie sich mit etwas wie @authoroder @revisionTags versehen?

Ein weiteres häufiges Problem besteht darin, den Namespace / das Paket von Drittanbietern so zu ändern, dass es Ihren Projektkonventionen entspricht. Einige Lizenztypen enthalten diese Informationen in ihrem Lizenzblock. Kann ich sie frei ändern?

Ich weiß, dass die Antwort auf diese Fragen von den einzelnen Lizenztypen abhängt, um meine Frage zu präzisieren ...

Unter Berücksichtigung der allgemeinen Lizenzregeln (normalerweise unterscheiden sie sich in untergeordneten Aspekten, oder?) Ist es ethisch (oder zumindest zulässig), dass ich dem Lizenzblock Informationen zu meinen Änderungen hinzufüge und möglicherweise auch ändere, wie ich in meinem Code darauf verweise (zB verwenden YACorp.YALibals Utils.YALib)?

kbtz
quelle
2
Hängt von der Lizenz und den etablierten Praktiken des Projekts ab. Einige Projekte schreiben alle Autoren im Lizenztext gut; andere stellen die Autoren auf Github und verweisen in der Lizenz namentlich auf das Projekt. Einige Lizenzen erfordern Namensnennung, andere nicht.
Robert Harvey
@RobertHarvey Sie haben Recht, aber ich versuche, einige allgemeine Richtlinien für diese Situationen zu definieren. Ich habe die Frage aktualisiert.
kbtz
Ihre Bearbeitung klingt wie eine Gabel. Wenn Sie das Projekt forken, können Sie tun, was Sie wollen (Sie besitzen die Gabel). Aber ich würde nicht mit Bibliotheksnamen herumalbern, wenn Sie nicht das Projekt besitzen.
Robert Harvey
1
Diese Frage scheint nicht zum Thema zu gehören, da es um die Geltendmachung und Abtretung von Urheberrechten geht. Urheberrechtsfragen sind rechtliche Fragen, die außerhalb des Fachwissens der Community liegen und für die Website nicht geeignet sind. Diese Frage lässt sich nur schwer richtig beantworten, da zu viele Faktoren wie die örtliche Gerichtsbarkeit sowie die Lizenz- und Urheberrechte am Originalprogramm eine Rolle spielen.

Antworten:

9

Was ist nach diesen Änderungen als Nächstes zu tun? Halten Sie die Lizenzinformationen unantastbar oder versuchen Sie, sie zu aktualisieren, indem Sie beispielsweise @author- oder @revision-Tags eingeben.

Ich denke, Sie verwechseln die Softwarelizenz und jeden Prolog, der Teil der Software sein könnte.

In der Lizenz legen die Inhaber des Urheberrechts an dem Programm die Nutzungsbedingungen (die Lizenz) für andere Personen fest. Einige Lizenzen sind sehr freizügig, andere viel restriktiver.

Der Prolog ist , wo Autoren Einsatz @authorund @revisionTags einen Weg , um Änderungen an den Quellcode zu verfolgen. In einigen Fällen können Sie durch das Verfassen eines nicht trivialen Zusatzes zum Code Anspruch auf das Urheberrecht für diesen Abschnitt des Codes erheben. Das Entflechten von Urheberrechtsbelangen kann schwierig sein und wird am besten von Anwälten behandelt. Sie haben jedoch ausdrücklich angegeben, dass Sie sich nicht mit diesem Aspekt befassen, und ich gehe weiter.

Ein weiteres häufiges Problem besteht darin, den Namespace / das Paket von Drittanbietern so zu ändern, dass es Ihren Projektkonventionen entspricht. Einige Lizenztypen enthalten diese Informationen in ihrem Lizenzblock. Kann ich sie frei ändern?

Dies hängt wirklich von den Konventionen des Projekts ab.

Wenn Sie das Projekt verzweigen, können Sie tun, was Sie wollen.

Wenn Sie beabsichtigen, Ihre Änderungen wieder in das Projekt einzubringen, sollten Sie die festgelegte Konvention einhalten. Wenn es einen zwingenden Grund gibt, den Namespace zu ändern, müssen Sie dies der Community der Anwendung präsentieren.

Unter Berücksichtigung der allgemeinen Lizenzregeln (normalerweise unterscheiden sie sich in untergeordneten Aspekten, oder?)

Ist es ethisch (oder zumindest erlaubt), dass ich dem Lizenzblock frei Informationen über meine Änderungen hinzufüge und möglicherweise auch ändere, wie ich in meinem Code darauf verweise (z. B. YACorp.YALib als Utils.YALib verwenden)?

Ändern Sie nicht die Lizenz!

Zunächst einmal haben Sie wahrscheinlich nicht die gesetzlichen Rechte, die Lizenz zu ändern. Zweitens werden alle Änderungen, die Sie vornehmen, wahrscheinlich die Lizenz durcheinander bringen. Überlassen Sie Lizenzänderungen den Anwälten.

Die Aktualisierung des Prologs hängt von den Projektnormen ab. Einige Projekte möchten keinen Prolog, da sie die Quellcodeverwaltung verwenden, um dies zu verfolgen. Andere Projekte tun es. Befolgen Sie die Konventionen des Projekts.

Eigentlich geht es in meinen Anliegen mehr um "Respekt vor der Gemeinschaft" als um die rechtlichen Aspekte. Ich frage mich eher, wie viel wir "wild" werden können, um ethisch zu bleiben, wenn unser Projekt als privat oder persönlich angesehen werden kann.

Wenn Sie Ihre Änderungen für sich behalten, warum interessiert es Sie, was andere denken? Etwas, das Sie nur für sich selbst verwenden und niemals an andere weitergeben, hat keine Auswirkungen auf das ursprüngliche Projekt. Es ist ihnen also egal, was du tust.

Wenn Sie beabsichtigen, Ihre Änderungen zu verteilen oder sie wieder in das Projekt einzubringen, müssen Sie die Konventionen dieses Projekts evaluieren. Einige Projekte möchten nicht gespalten werden und verfügen über eine Lizenz, die dies verhindert. Andere gehen so weit zu sagen "Tu was du willst" und du erhältst die Erlaubnis zu tun was du für richtig hältst. Letztendlich hängt die Antwort hier von dem jeweiligen Projekt ab, das Sie sich ansehen.


quelle
Wie ich erwartet hatte, sind die Antworten fast offensichtlich, aber es war eine Erleichterung, zu sehen, wie jeder seine Meinung äußerte. Danke an alle Antworten!
kbtz
Gibt es tatsächlich Projekte, die Beiträge annehmen, aber kein Gabeln zulassen? Oder meinen Sie Dinge wie kommerzielle Bibliotheken, die auch mit ihrem Quellcode geliefert werden?
Svick
@svick - Beides wäre in diesem Fall anwendbar. Es gibt einige quellnahe Projekte, die die Verzweigung verhindern (versuchen). Denken Sie an Projekte, bei denen sie versuchen, die Möglichkeit zu behalten, irgendwann in der Zukunft kommerziell zu werden. Bestehende kommerzielle Bibliotheken würden die Abzweigung durch die Lizenzbestimmungen verhindern.
@ GlenH7 Ich dachte, solche Projekte (z. B. MySQL) erfordern normalerweise, dass das Urheberrecht für Beiträge, die der offiziellen Version entsprechen, der zuständigen Organisation zugewiesen wird. Dann wird die Open-Source-Version unter einer gemeinsamen Open-Source-Lizenz (wie GPL) veröffentlicht, sie kann jedoch auch eine kommerzielle Closed-Source-Version haben. Das verhindert aber nicht Gabeln der Open-Source-Version (siehe MariaDB).
Svick
5

Ich würde einen Kommentar hinzufügen, teilweise um einem Leser zu signalisieren, dass die Datei nicht "vanille" ist, mit Links zu relevanten Dokumentationen oder einem Fehlerverfolgungssystem.

Edit: Also diese Situation erinnert mich daran, wann eine Linux-Distribution zB eine Bibliothek paketiert. Debian hat Richtlinien und Standards, die festlegen, wie Pakete erstellt und benannt werden sollen. Diese können durchaus von der Art und Weise abweichen, wie die Bibliothek normalerweise vorab erstellt verteilt wird.

Ich denke nicht, dass Sie sich scheuen sollten, eine Bibliothek zu benennen, zu bauen oder zu modifizieren, da Sie das Ergebnis vermutlich nicht in die weite Welt verbreiten werden. In diesem Fall würde ich der Quelle eine README-Datei beifügen, in der beschrieben wird, welche Änderungen Sie vorgenommen haben und warum. ZB README. $ {CompanyName} .changes

Rory Hunter
quelle
Ich würde so etwas auch tun, aber meine Frage bezieht sich eher auf das, was aus Sicht des dritten Teils und / oder der allgemeinen Lizenzierungsregeln als richtig angesehen wird.
KBTZ
2

Sie müssen die Lizenzierungsregel des Codes beachten.

Im Allgemeinen betrachten viele Open-Source-Frontend-Anwendungen (z. B. Firefox, OpenOffice) ihren Anwendungsnamen und ihr Logo als Markenzeichen. Wenn Sie also eine geänderte Version der App veröffentlichen, können Sie nicht die Originalmarken / -kleidung (also IceWeasel, Torbrowser, LibreOffice) verwenden.

Die meisten Programmierbibliotheken kümmern sich jedoch weniger um Marken, solange nicht klar ist, wer was tut (normalerweise finden Sie dies in den Metadaten der Versionskontrolle).

Autoreninformationen dienen zwei Zwecken:

  1. Kredit geben, wo es fällig ist
  2. Schuld geben, wo es verdient

Letztere werden wichtiger, wenn Ihre Änderungen größer werden. Die eigentlichen Informationen zur Urheberschaft finden Sie in der Regel in der Versionskontrolle. Bei einigen Projekten wird jedoch eine Gruppe von Autoren in einer separaten Datei aufgeführt. Der Cutoff-Punkt, an dem Personen offiziell angerechnet werden, variiert für jedes Projekt. Wenden Sie sich im Zweifelsfall an die ursprünglichen Autoren.

Lüge Ryan
quelle