Was macht open-source-Lizenzen (wie z.B. GNU-GPL) zu bedeuten?
Freue ich mich auf ein open-source-Produkt GNU-GPL-Lizenz nicht, und es sagt, dass wenn ich das Produkt, ich muss Sie teilen den source-code meiner Anwendung.
Ich bin leicht verwirrt darüber. Ich verstehe, dass Linux steht unter der GNU-GPL-Lizenz. Bedeutet es ALLE linux-Anwendung und open source? Bedeutet es, ich kann Fragen für den Quellcode komplett Oracle DB von Oracle Corp. (zumindest der Teil, der unter Linux läuft)?
EDIT:
Entnommen FAQ:
Wenn eine Bibliothek ist verfügbar unter der GPL (nicht LGPL), bedeutet das, dass
dass jedes Programm, die es verwendet hat, um
werden unter der GPL oder eine GPL-kompatibel
Lizenz?Ja, weil das Programm so wie es ist
tatsächlich enthält die Bibliothek.
- Ich werde die Abstimmung zu schließen, ist diese Frage off-topic, weil es ist zu Lizenzierung oder rechtliche Fragen, nicht die Programmierung oder software-Entwicklung. Siehe hier für details, und die Hilfe-center für mehr.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es wichtig zu erkennen, dass die "GPL" kann unter zwei Lizenzen.
Entweder man ist sehr klar, um anzugeben, dass Sie der Auffassung ist code aus einer Bibliothek, vermischt mit ein Programm als ein kombinierte Arbeit. Dies bedeutet, wenn das Programm lädt eine Bibliothek durch eine dynamische loader, also eine gemeinsame shared object), oder links, die gegen ihn statisch, die resultierende ausführbare Datei ist eine kombinierte Arbeit des Programms selbst und die Bibliotheken, die es unterstützen.
Nun, die Unterschiede zwischen den beiden Lizenzen sehr wichtig geworden.
Die GPL besagt, dass wenn Ihr das Programm verwendet eine Bibliothek (oder jedem anderen code unter der GPL lizenziert), muss es freigegeben werden, unter den gleichen Bedingungen wie die GPL. Diese (wieder) wird, weil die GPL hält die resultierende Programm, um ein kombiniertes arbeiten von Ihr code, sowie die Arbeit der anderen.
Glücklicherweise (oder auch nicht? je nach Ihren Ansichten), die GNU C-Bibliothek, die nicht unter die GPL. Es ist gedeckt durch die LGPL. Die LGPL sagt, dass Sie einfach laden und verwenden des system-C-Bibliothek stellt eine Kombination aus Arbeit, sondern eine Ausnahme gemacht wird, die es ermöglicht eigene Anwendungen zu tun, ohne zu halten mit dem Vertrieb Anforderungen der GPL. Also, in diesem Fall Oracle ist kostenlos zu benutzen den system-C-Bibliothek (erforderlich zum ausführen von code), ohne dazu verpflichtet, die Freigabe der source-code.
Wenn Oracle veröffentlichte software, die benötigt wird, um zu laden oder einen link gegen eine GPL abgedeckt Bibliothek, sagen ..
readline()
, dann ja, würden Sie verpflichtet sein, zu teilen den code. Oracle (wie viele andere auch, die software schreiben, die unter UNIX-artigen Betriebssystemen) ist, sorgfältig wählen Sie die Bibliotheken, die freigegeben werden, unter eine weniger restriktive Lizenz (auch bekannt als 2-oder 3-Klausel-BSD), oder die Umsetzung Ihrer eigenen.Soweit der kernel geht, einfach mit seiner syscall-interface nicht als eine kombinierte Arbeit. Während die meisten von uns, nur damit das system eine C-Bibliothek abstract diese Komplexität Weg, Sie sind völlig frei, um Ihre eigene syscalls unter welcher Bedingungen Sie wollen. Dies veranschaulicht, warum die LGPL für die system-C-Bibliothek war eine sehr strategische Entscheidung. Wenn es die andere Weise herum, GNU/Linux hätte abschrecken können, mehr Entwickler, als Sie angezogen. Beachten Sie auch, dass viele der Linux-Header, definieren Sie die magischen zahlen brauchte, um zu sprechen, um den kernel syscall-interface haben keine Lizenz erwähnt auch immer. Sehen
linux/sysctl.h
zum Beispiel, oder dieser Hinweis von Linus selbst in dieCOPYING
verteilte Datei mit dem kernel:Hinweis, Linus sagt ausdrücklich, indem Sie die kernel-Header und syscall-interface nicht als abgeleitet (wie geändert) oder kombiniert (wie einfach) funktionieren. Diese, unter anderem ist Teil der Kluft zwischen Linux und GNU. Ich erwähne das nur, weil Sie indirekt Erwähnung der Auswirkungen der GPL. Linus (manchmal) will code ändert den kernel, sondern entschied sich für die GPL, um sicherzustellen, die (manchmal) war seine Wahl.
Kurz gesagt, wenn Sie einen link vor oder laden Sie eine Bibliothek, die unter der GPL lizenziert ist, müssen Sie Ihren code verfügbar unter der gleichen Lizenz. Wenn Sie einen link vor oder laden Sie eine Bibliothek unter die LGPL, die hinsichtlich der Lizenzierung sind bis zu Ihnen.
Beachten Sie auch, dass die LGPL hat eine Menge mehr zu sagen, vor allem bezüglich der änderungen, die statische Verknüpfung, etc. Was ich beschrieben habe ist nur das bit, das beantwortet Ihre Frage.
Schließlich Die GPL gilt nur, wenn Sie verteilen oder vermitteln ein Programm. Sie können tun, was Sie möchten, um Ihre software auf Ihrem computer und Sie sind nicht verpflichtet, es zu teilen mit anderen Benutzern Ihres computer (oder server oder was auch immer). Die AGPL hat Dinge darüber zu sagen, dass, wenn die software interagiert mit einem Netzwerk .. aber das ist ein Thema für eine andere Frage.
Die FSF nimmt GPL-Fragen an [email protected] - wenn Sie jemals in Zweifel sind über einen bestimmten Fall und wollen sicherstellen, dass Sie nicht in Schwierigkeiten zu bringen, Sie sind sehr freundlich und beantworten gerne Fragen .. auch wenn Sie nicht-freie software. Sie mag es, wenn Menschen nehmen Sie einige Mühe, um sicherzustellen, dass Sie Folgen Sie den Lizenz entsprechend, was leider nicht geschehen, von Zeit zu Zeit.
Diesem Thema ist immer noch genauso empfindlich wie es war in den frühen 90er Jahren.
Linux ist der kernel, keine Anwendung der kernel direkt, sondern über eine Bibliothek, in der Regel der GLIBC veröffentlicht unter LGPL. Bricht die GPL Kette ein wenig, weil GLIBC syscalls des Kernels, aber das scheint mir zu vereinbaren. Also ich fürchte, du wirst nicht bekommen, den code von Oracle :-).
Wenn die Anwendung allerdings verwendet jeder GPL-code, dann musst du den source-code für diese Anwendung zur Verfügung (aber nicht nur open source unter einer Lizenz Ihrer Wahl) unter der GPL lizenziert. Das macht die GPL eigentlich eine Recht restriktive Lizenz, die "Kontamination" - Produkte, das ist, warum es ist auch bekannt als virale Lizenz.
Den Schlüssel Unterscheidung, die mit der GPL-Lizenz ist, was als "Nutzung" eines software-Paket unter dieser Lizenz veröffentlicht. GPL zieht diese Unterscheidung als "Einbeziehung" vs. loslassen "side-by-side" ist die GPL-lizenzierte software, und ob oder ob nicht die letztere stellt ein "arms-length" - Beziehung.
Meisten software verwendet GPL-lizenzierte software wäre wohl "integrieren" und auf diese Weise würde selbst vorgeschrieben werden, veröffentlicht unter der GNU GPL, wenn es freigegeben wird. (GPL erfordert keine Veröffentlichung, sondern nur regelt, wie die Veröffentlichungen erfolgen muß.) Verwendung einer GPL-library gilt als Gründung, zum Beispiel.
Den FAQ, das erwähnt wurde, in einem Vorherige Antwort enthält eine präzise Diskussion dieses Thema und gibt ein Beispiel, wo ein compiler und kernel qualifizieren, als eine Arme-Länge-Beziehung, und damit der compiler könnte separat freigegeben werden, ohne GPL-Lizenz, dass der kernel haben kann, vorausgesetzt, dass die Veröffentlichung ordnungsgemäß erfolgt ist. Dies, jedoch, ich denke, dass ist eher die Ausnahme als die Regel, wo GPL beteiligt ist.
Ist es wichtig zu verstehen, dass auch die GPL-Lizenz deutlich unterscheiden, in dieser Hinsicht im Vergleich zu den LGPL-Lizenz, die viel mehr Freizügig in Bezug auf releases.
Ich glaube, die meisten deiner Fragen sollten gedeckt werden durch die FAQ.
Kurz:
Nein, alle Linux-Anwendungen müssen nicht open source sein.
Nein, können Sie nicht Fragen, für die source-code für Oracle-DB.
Wirklich, wirklich vereinfachte die GPL sagt, dass wenn Sie die Verteilung von Binärdateien müssen Sie auch anbieten, verbreiten die Quelle. Wenn Sie also verteilen von binaries des Linux-Kernels müssen Sie auch anbieten, verteilen Sie die Quelle für die Binärdateien.