![]() |
GNU Lesser General Public License
Hi!
Ich hab versucht, mich mal über die "Lesser General Public License" (LGPL) schlau zu machen. Hab mir auch die ![]() Ich habe vor eine Anwendung zu schreiben, die ich (höchstwahrscheinlich) kommerziell vertreiben will. Zumindest wenn sie gut genug wird... :zwinker: Und für meine Anwendung suche ich noch eine Datenbank bzw. auch eine Komponente/Bibliothek, mit der ich auf die Datenbank zugreifen kann. Diese möchte ich in meine Anwendung integrieren, damit der Benutzer später keine zusätzlichen Programme benötigt. Aber für das Thema hab ich ![]() Meine Fragen sind nun:
Ich versuch das Ganze noch mal zusammenzufassen: Darf ich Komponenten etc., die unter LGPL stehen, für die Entwicklung meiner Anwendung benutzen, wenn ich diese ganzheitliche Anwendung dann später verkaufen will, ohne dass ich meinen Quellcode freigeben muss? Echt schwieriges Thema... :| Gruß, Stephan |
Re: GNU Lesser General Public License
|
Re: GNU Lesser General Public License
Joa, das hab ich auch schon gelesen. Bin aber auch nicht richtig schlau draus geworden.
Nach dem Text unter Wikipedia gibt's also zwei Antworten zu Frage 1: - "Ja", wenn ich die benutzten LGPL-Komponenten statisch verlinke. - "Nein", wenn ich die benutzten LGPL-Komponenten dynamisch verlinke. Ist das richtig? Und wenn ich Frage 1 mit "Ja" beantworten würde, dann folgt für - Frage 3: "Ja", ich muss den Benutzern meiner Anwendung auch den Quellcode meiner Anwendung zur Verfügung stellen. - Frage 4: "Ja". Richtig? |
Re: GNU Lesser General Public License
So weit ich weiss sieht es so aus:
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: GNU Lesser General Public License
ich will nicht wissen, wie viele firmen open source software einsetzen.
ich kanns ja verstehen: warum soll man geld für sachen ausgeben, die man kostenlos bekommen kann. aber wie schon von Mystic erwähnt,kann man sehr wohl seine programme kommerziell vertreiben... |
Re: GNU Lesser General Public License
Super! Vielen Dank (vor allem an Mystic)! Die Antworten habe ich gesucht!
Dann könnte ich also LGPL-Komponenten verwenden, wenn ich sie dynamisch verlinke. Im Zweifelsfall schreib ich noch mal den/die Entwickler der entsprechenden Komponente an. Sicher ist sicher... Dann wünsche ich euch einen guten Rutsch in's neue Jahr! |
Re: GNU Lesser General Public License
LGPL Bibliotheken darfst du statisch verlinken, ohne deine Software ebenfalls unter (L)GPL stellen zu muessen.
GPL Bibliotheken dagegen darfst du nur dynamisch verlinken, ansonsten muss deine Software ebenfalls unter der GPL lizenziert werden. |
Re: GNU Lesser General Public License
Nein. Ich hab eben noch mal bei Wikipedia (
![]() ![]() Zitat:
Zitat:
GPL-Bibliotheken darf man gar nicht verlinken - weder statisch noch dynamisch -, wenn man seine eigene Anwendung nicht auch unter eine GPL-kompatible Lizenz stellen will. Fazit: Möchte man seine eigene Anwendung nicht unter eine LGPL- oder GPL-Lizenz stellen, dann darf man LGPL-Bibliotheken höchstens dynamisch verlinken. Oder man verwendet einfach gar keine LGPL-Bibliotheken. ;-) |
Re: GNU Lesser General Public License
Ausserdem musst du angeben dass du die Bibliothek verwendest und sie unter der LGPL steht. Du musst ausserdem die LGPL beilegen und bei jedem Copyright-Hinweis in deinem Programm muss der Copyright-Hinweis der Bibliothek ebenfalls vorhanden sein. Dieser Copyright-Hinweis muss einen Verweis auf die LGPL besitzen.
Siehe Sektion 6 in der ![]() LGPL Sektion 6: As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. |
Re: GNU Lesser General Public License
Zu Bibliotheken wurde ja schon alles gesagt... Wenn Du allerdings direkt Sourcecode verwendest, musst Du bei der LGPL lediglich darauf hinweisen und den Originalcode (unmodifiziert) bereit halten. Dein modifizierter Code darf in dem Fall closed-source bleiben. Bei GPL fällt dann auch Dein komplettes Projekt unter die GPL :? ...
|
Re: GNU Lesser General Public License
Nein, der modifizierte Bibliothekscode darf nicht closed-source sein. Siehe Sektion 4:
LGPL Sektion 4: You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. Ach ja, da hätten wir noch einen Punkt, steph-7. Du musst auf der Webseite des Programms ebenfalls den Source-Code der Library zur Verfügung stellen. |
Re: GNU Lesser General Public License
@Mystic: Da irrst Du dich! Der von Dir markierte Text besagt lediglich, dass Du den entspr. Code offen legen musst. Es besagt NICHT, dass Du deinen modifizierten Code offen legen musst! Wäre dem so, würde das die komplette LGPL ad absurdum führen! Die eigenen Anpassungen am verwendeten unter LGPL stehenden Code würden auch keinem nützen, da man ja sein Projekt eben NICHT open Source anbieten muss.
Man könnte das vielleicht, wenn man spitzfindig wäre hinein interprätieren, es ist aber (wie gesagt) wiedersinnig! Das neue Programm muss dann auch, im Gegensatz zur GPL, nicht weiter unter der LGPL stehen. Genau wegen dieser auf den ersten Blick unklaren Formulierungen habe ich in einem Fall, wo ich ein unter LGPL stehendes Programm komplett in ein anderes integriert habe vorher beim Author nach dessen Interprätation der bettr. Textpassagen der LGPL gefragt und der sah das genauso wie ich. |
Re: GNU Lesser General Public License
Zitat:
LPGL Code, welchen Du nutzt / modifizierst muss Du wieder als LGPL zur Verfügung stellen. Auch die Sourcen der Binaries, welche diesen Code integrieren. Binaries, welche gegen Binaries linken, welche LGPL Code nutzen hingegen, müssen nicht nach LGPL zur Verfügung gestellt werden. Und genau da ist der Unterschied zur GPL, welche verlangt, das auch die Programme, welche gegen GPL Module linken veröffentlicht werden müssen. ...:cat:... |
Re: GNU Lesser General Public License
Ich hab nicht von binarys geredet, sondern von Sourcecode eines Programmes. Es ist in dem Fall unmöglich den modifizierten Code losgelöst vom übrigen eigenen Code bereit zu stellen.
|
Re: GNU Lesser General Public License
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: GNU Lesser General Public License
Die LGPL spricht in Sektion 4 ja eindeutig auch von Derivaten der Bibliothek (=> Modifikationen).
LGPL Sektion 4: You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. |
Re: GNU Lesser General Public License
Zitat:
Es heißt "You may distribute [a portion or derivative of [the library]] in [...] provided that you accompany it with the complete corresponding machine-readbale source code [...]." Das bedeutet lediglich, daß es dir frei steht, Modifikationen zu veröffentlichen. Es bedeutet aber nicht, daß du dazu gezwungen bist. Der von mir zitierte Ausschnitt fordert jedoch, daß Modifikationen an der ursprünglichen Bibliothek auch wueder unter der LGPL veröffentlicht werden müssen. Für weitere Verwirrungen um "may" und "must" siehe auch den ![]() |
Re: GNU Lesser General Public License
@Mystic: Und? Das sagt eben NICHT, dass man auch den modifizierten Code weiter unter LGPL laufen lassen muß.
Ich hab es in meinem Fall so gehalten, dass ich ausdücklich auf die Verwendung des unter LGPL stehenden Codes hinweise und meinen Code closed source lasse. Wie gesagt, der Original Author verteht die LGPL in dem Fall genau wie ich und ist mit dieser Regelung einverstanden. Mein Programm verwendet auch noch div. andere zugekaufte Komponenten, welche unter keinen Umständen mit Source weitergegeben werden dürfen... Es sollte sich mal jemand daran machen eindeutigere Lizenztexte (auch in deutsch) zu formulieren. Alle open Source Lizenzen sind viel zu unklar formuliert und lassen, je nach Standpunkt, zu viel Interprätationsspielraum der früher oder später noch zu Problemen führen wird... OK, die GPL (nicht LGPL) ist so restriktiv, dass das darauf SO vielleicht nicht zutrifft - aber auch dort gibt es reichlich Fallstricke. |
Re: GNU Lesser General Public License
Der Text sagt eben das.
Der Text spricht davon, das man Kompilate des modifizierten Bibliothekscodes weitergeben darf, aber nur falls man den Sourcecode mitveröffentlicht. Die modifizierte Bibliothek MUSS unter der LGPL (oder GPL) stehen. Sektion 2 sagt dazu: Auszug LGPL Sektion 2: You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. Ich finde das eigentlich sehr klar. @tommie-lie Was für eine Fehlinterpretation? Ich hatte doch genau das gemeint. |
Re: GNU Lesser General Public License
Zitat:
Zitat:
Zitat:
Edit: Zitat:
|
Re: GNU Lesser General Public License
Hallo,
ich habe mir jetzt das Hin und Her in diesem Thread durchgelesen und habe jetzt ein paar Fragen: Sollte die LGPL fordern, dass jedes Programm, das LPGL-Code eincompiliert hat, wieder unter der LGPL steht, wo ist dann der Unterschied zur GPL? Ich habe hier eine Unit, die unter der LGPL steht. Die kann ich natürlich nicht dynamisch linken, also warum steht sie dann überhaupt unter der LGPL? Und wie steht es mit kommerzieller Linux-Software, die muss ja auch manche Systembibliotheken dynamisch linken, obwohl diese unter GPL stehen (insbesondere der Kernel)? Wo also ist der Unterschied? Fragend xaromz |
Re: GNU Lesser General Public License
Zitat:
Zitat:
Vielleicht könntest du die Unit in eine BPL-Datei packen, die du dann in deinem Programm benutzt. Dann wäre sie doch theoretisch dynamisch verlinkt? :?: |
Re: GNU Lesser General Public License
Zitat:
Die FSF schrieb in der LGPL: When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. Die FSF schrieb in der LGPL: As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. Kurz und auf Deutsch: Bibliotheken, die unter die GPL fallen, erzwingen in jedem erdenklichen Fall, daß Programme die diese Bibliotheken benutzen, ebenfalls unter der GPL veröffentlicht werden müssen (Ausnahme: die Bibliotheken sind standalone lauffähig und werden als solche behandelt). Die LGPL erlaubt late binding von Bibliotheken in ein Programm. Zitat:
Zitat:
Edit: Quote-Tags korrigiert. |
Re: GNU Lesser General Public License
Hallo,
Zitat:
Zitat:
Zitat:
Gruß xaromz |
Re: GNU Lesser General Public License
Zitat:
Zitat:
Zitat:
in /usr/src/*/COPYING ist zu finden: NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work". Also note that the GPL below is copyrighted by the Free Software Foundation, but the instance of code that it refers to (the Linux kernel) is copyrighted by me and others who actually wrote it. Also note that the only valid version of the GPL as far as the kernel is concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated. Linus Torvalds |
Re: GNU Lesser General Public License
Hallo,
Zitat:
Zitat:
Gruß xaromz |
Re: GNU Lesser General Public License
Zitat:
Zitat:
|
Re: GNU Lesser General Public License
Eine frage: Wo is der unterschied zwischen dynamischen Linken und statischem Linken?
Das sind nur andere Wörter für late-bindung und das.. ähm.. andere (hat das nen namen? ^^), oder? |
Re: GNU Lesser General Public License
Zitat:
|
Re: GNU Lesser General Public License
Man man... hier geht's ja jetzt richtig zur Sache! :-D
Zitat:
![]() Hier noch ein kleiner Hinweis am Rande: Leute, die sich für die GPL und LGPL interessieren, interessieren sich vielleicht auch für die MPL (Mozilla Public License). Infos darüber lassen sich z.B. hier finden: ![]() ![]() ![]() |
Re: GNU Lesser General Public License
Ergänzung:
Hier noch ein Hinweis zu den ZEOS-Komponenten (hab ich grade in nem anderen ![]() Zitat:
So, um mal wieder ein bißchen auf den Anfang dieses Threads zurückzukommen... wenn ich das richtig sehe, dann ist ![]() |
Re: GNU Lesser General Public License
Ja, das ist noch korrekt.
|
Re: GNU Lesser General Public License
Moin,
ich stehe derzeit vor dem selben Problem, ich möchte eine Komponente (die unter LGPL steht) in meinem Programm verwenden, welches aber nicht unter LGPL stehen soll. Wenn ich das richtig verstanden habe muss ich die Komponente also in eine DLL packen, ja ? Der eigentliche Grund wieso ich hier meinen Senf ablasse ist, dass ich etwas verwirrt bin. In diesem Thread wird im Zusammenhang mit LGPL immer von der Lesser General Public License gesprochen, in dem Lizenztext zu dieser Komponente (welche ich verwende) steht allerdings GNU LIBRARY GENERAL PUBLIC LICENSE. Was ist dort der Unterschied (wenn es einen gibt?) ? :gruebel: Danke für Aufklärung. :hi: |
Re: GNU Lesser General Public License
Zitat:
...:cat:... |
Re: GNU Lesser General Public License
Zitat:
![]() |
Re: GNU Lesser General Public License
@Daniel: Ah, danke. ;)
|
Re: GNU Lesser General Public License
Zitat:
|
Re: GNU Lesser General Public License
Zitat:
Verdammt kompliziert diese ganzen Lizenzen. :stupid: |
Re: GNU Lesser General Public License
Zitat:
|
Re: GNU Lesser General Public License
Könnte man nicht einfach den Quelltext aller verwendeten LGPL-Dateien mitliefern, und es ansonsten trotzdem ganz normal in der .exe linken? Wäre doch sicherlich die einfachste Möglichkeit :gruebel:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz