Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   GNU Lesser General Public License (https://www.delphipraxis.net/59879-gnu-lesser-general-public-license.html)

steph-7 29. Dez 2005 23:59


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 deutsche Übersetzung der LGPL durchgelesen. Aber ich steig da einfach noch nicht durch...

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 hier schon nen Thread aufgemacht, in dem mir unter anderem die ZEOS-Komponenten und Lazarus empfohlen wurden, welche aber unter der LGPL (bzw. auch GPL) laufen.

Meine Fragen sind nun:
  • Wenn ich LGPL-Komponenten in meine Anwendung integriere oder sie benutze (wie z.B. Lazarus), dann muss ich meine Anwendung doch auch unter die LGPL stellen, oder nicht?
  • Kann ich meine Anwendung dann noch kommerziell vertreiben?
  • Muss ich dann den Benutzern meiner Anwendung auch den Quellcode meiner Anwendung zur Verfügung stellen? Oder nur den Quellcode von den LGPL-Komponenten (z.B. Lazarus), die ich benutzt habe?
  • Dürfen die Benutzer meiner Anwendung meine Anwendung dann be- oder weiterverarbeiten und sie dann selbst weitervertreiben?
Wäre schön, wenn ich auf jede Frage schon mal ne "Ja" oder "Nein" Antwort bekommen würde. :wink: :-D

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

arbu man 30. Dez 2005 00:04

Re: GNU Lesser General Public License
 
Dieser Link sollte dir weiterhelfen:
http://de.wikipedia.org/wiki/LGPL

steph-7 30. Dez 2005 00:25

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?

Mystic 30. Dez 2005 01:14

Re: GNU Lesser General Public License
 
So weit ich weiss sieht es so aus:

Zitat:

Zitat von steph-7
Wenn ich LGPL-Komponenten in meine Anwendung integriere oder sie benutze (wie z.B. Lazarus), dann muss ich meine Anwendung doch auch unter die LGPL stellen, oder nicht?

Nein. Zumindest nicht wenn du sie dynamisch verlinkst (DLL/Runtime Package).

Zitat:

Zitat von steph-7
Kann ich meine Anwendung dann noch kommerziell vertreiben?

Ja.

Zitat:

Zitat von steph-7
Muss ich dann den Benutzern meiner Anwendung auch den Quellcode meiner Anwendung zur Verfügung stellen? Oder nur den Quellcode von den LGPL-Komponenten (z.B. Lazarus), die ich benutzt habe?

Letzteres.

Zitat:

Zitat von steph-7
Dürfen die Benutzer meiner Anwendung meine Anwendung dann be- oder weiterverarbeiten und sie dann selbst weitervertreiben?

Das bleibt dir überlassen. :wink:

mgubler 30. Dez 2005 07:53

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...

steph-7 30. Dez 2005 14:14

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!

thomasw 30. Dez 2005 16:31

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.

steph-7 1. Jan 2006 11:30

Re: GNU Lesser General Public License
 
Nein. Ich hab eben noch mal bei Wikipedia (LGPL, GPL) reingeschaut und da steht folgendes:

Zitat:

Im Gegensatz zur GPL dürfen allerdings andere Programme gegen eine LGPL-lizenzierte Software dynamisch linken, ohne dass das entsprechende Programm ebenfalls unter der LGPL freigegeben werden müsste. [...] Soll die unter der LGPL lizenzierte Software dagegen fest in ein anderes Programm eingebunden werden (statisches Linken), muss auch das andere Programm unter der LGPL bzw. einer kompatiblen Lizenz stehen.
Zitat:

Die GPL hat die bedingende Eigenschaft, dass andere Projekte, die Quellcode eines GPL-Projektes aufnehmen oder eine Programmbibliothek verlinken, die unter der GPL steht, ihr Projekt ebenso unter eine GPL-kompatible Lizenz (zB. die X11- oder BSD-Lizenz) stellen müssen.
LGPL-Bibliotheken darf man also nicht statisch verlinken (=aufnehmen), sondern nur dynamisch, wenn man selbst von der LGPL-Lizenz "befreit" bleiben will.
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. ;-)

Mystic 1. Jan 2006 12:16

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:

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:
  1. Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
  2. Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
  3. Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
  4. If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
  5. Verify that the user has already received a copy of these materials or that you have already sent this user a copy.

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.

FriFra 1. Jan 2006 12:52

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 :? ...

Mystic 1. Jan 2006 15:28

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.

FriFra 1. Jan 2006 15:51

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.

sakura 1. Jan 2006 15:55

Re: GNU Lesser General Public License
 
Zitat:

Zitat von FriFra
nach dessen Interprätation der bettr. Textpassagen der LGPL gefragt und der sah das genauso wie ich.

Nur weil ihr es (zur Zeit) so sehr, heißt das nicht, dass das der Sinn/die Idee der LGPL war. Diese ist wie folgend gedacht:

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:...

FriFra 1. Jan 2006 16:01

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.

tommie-lie 1. Jan 2006 16:17

Re: GNU Lesser General Public License
 
Zitat:

Zitat von sakura
Nur weil ihr es (zur Zeit) so sehr, heißt das nicht, dass das der Sinn/die Idee der LGPL war. Diese ist wie folgend gedacht:

Es war nicht nur so gedacht, es ist auch so festgelgt:
Zitat:

Zitat von FSF
2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.

Was man an einer LGPL-Bibliothek ändert, muss auch wieder als LGPL in die Community zurückfließen.


Zitat:

Zitat von FriFra
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.

Und? Entweder du implementierst es selber, richtig, oder die veröffentlichst den Quellcode des gesamten Projektes unter der LGPL. Du hast also drei Möglichkeiten, aus denen du wählen kannst.


Zitat:

Zitat von steph-7
Lazarus

Entwickelst du mit Lazarus und nutzt nicht deren Framework (baust also kein "work based on"), ist es vollkommen egal, unter welcher Lizenz du es veröffentlichst. Du arbeitest lediglich mit Lazarus, du bindest es nicht ein. Anders sieht es aus, wenn du die LCL benutzt, ist die unter der LGPL und linkst du sie statisch in dein Programm, muss der Quellcode zum Programm offengelegt werden.

Mystic 1. Jan 2006 16:24

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.

tommie-lie 1. Jan 2006 16:35

Re: GNU Lesser General Public License
 
Zitat:

Zitat von Mystic
Die LGPL spricht in Sektion 4 ja eindeutig auch von Derivaten der Bibliothek (=> Modifikationen).

Häufig gemacht fehlinterpretation ;-)
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 RFC 2119.

FriFra 1. Jan 2006 16:46

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.

Mystic 1. Jan 2006 16:53

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.

tommie-lie 1. Jan 2006 16:57

Re: GNU Lesser General Public License
 
Zitat:

Zitat von FriFra
Wie gesagt, der Original Author verteht die LGPL in dem Fall genau wie ich und ist mit dieser Regelung einverstanden.

Hat er dir erlaubt, seinen Code zu modifizieren und die Modifikationen nicht wieder zu veröffentlichen bzw seinen Code statisch in dein Programm zu linken, ohne den Quellcode des Binaries zu veröffentlichen, dann hat er dir ein außerordentliches Benutzungsrecht eingeräumt. An deiner Stelle würde ich mir das von ihm schriftlich geben lassen und nicht damit prahlen, LGPL-Code zu verwenden, denn an die LGPL hältst du dich damit nicht.

Zitat:

Zitat von FriFra
Es sollte sich mal jemand daran machen eindeutigere Lizenztexte

Die GPL und die LGPL sind eindeutig, zumindest in diesem Fall, wie mein obiges Zitat der FSF-Lizenz bewiesen hat.

Zitat:

Zitat von FriFra
(auch in deutsch)

Was will die FSF mit deutschen Lizenzen? Schreib' dir doch selber eine, wenn du unbedingt eine deutsche haben willst. Die deutschen Übersetzungen werden jedenfalls nicht von der FSF supported, und das ist vollkommen verständlich und richtig, denn sie stammen von Laien und wurden nie von der FSF beglaubigt.


Edit:
Zitat:

Zitat von Mystic
Was für eine Fehlinterpretation? Ich hatte doch genau das gemeint.

Ich bezog mich auf den von dir zitierten Teil der Section 4. Section 4 sagt nicht, daß man Modifikationen an der Bibliothek auch wieder frei (speech) zugänglich machen muss. Section 2 tut dies aber.

xaromz 1. Jan 2006 17:23

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

Mystic 1. Jan 2006 17:44

Re: GNU Lesser General Public License
 
Zitat:

Zitat von xaromz
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?

In diesem Punkt gibt es keinen Unterschied. Wenn du den Code der Bibliothek in deinem Programm statisch verlinkst, musst du das Programm ebenfalls unter die LGPL/GPL stellen.

Zitat:

Zitat von xaromz
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?

Weil der Autor wahrscheinlich die LGPL fehlinterpretiert hat.

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? :?:

tommie-lie 1. Jan 2006 17:56

Re: GNU Lesser General Public License
 
Zitat:

Zitat von xaromz
Sollte die LGPL fordern, dass jedes Programm, das LPGL-Code eincompiliert hat, wieder unter der LGPL steht, wo ist dann der Unterschied zur GPL?

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.
und
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 von xaromz
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?

Wieso kannst du sie nicht dynamisch linken? Du hast durch die LGPL die Freiheit, den Code zu verändern, also schaffe ein portables Interface und kompiliere es in eine dynamische Bibliothek (SO, DLL, BPL, whatever). Das Interface musst du offenlegen da er vom Originalcode abgeleitet ist, dein Programm kann aber unter den Bedingungen von Section 5 und 6 der LGPL die Bibliothek laden und benutzen.

Zitat:

Zitat von xaromz
Und wie steht es mit kommerzieller Linux-Software, die muss ja auch manche Systembibliotheken dynamisch linken, obwohl diese unter GPL stehen (insbesondere der Kernel)?

Nicht alle Systembibliotheken fallen unter die GPL. Besonders die libc von GNU ist unter der LGPL und macht wenig Probleme. Direkte Kernel-Calls sind eher selten (und ich gestehe, daß ich gar nicht weiß, unter welcher Lizenz der Kernel steht).

Edit: Quote-Tags korrigiert.

xaromz 1. Jan 2006 18:02

Re: GNU Lesser General Public License
 
Hallo,
Zitat:

Zitat von tommie-lie
Wieso kannst du sie nicht dynamisch linken? Du hast durch die LGPL die Freiheit, den Code zu verändern, also schaffe ein portables Interface und kompiliere es in eine dynamische Bibliothek (SO, DLL, BPL, whatever). Das Interface musst du offenlegen da er vom Originalcode abgeleitet ist, dein Programm kann aber unter den Bedingungen von Section 5 und 6 der LGPL die Bibliothek laden und benutzen.

Das ist mir klar, aber die Unit ist ein Interface für eine DLL, und es macht wohl wenig Sinn, ein DLL-Interface in eine DLL zu packen. Das hat der Autor wohl Sch**** gebaut. :evil:
Zitat:

Zitat von tommie-lie
Direkte Kernel-Calls sind eher selten

Müssen nicht alle Dateioperationen über den Kernel laufen :gruebel: ?
Zitat:

Zitat von tommie-lie
(und ich gestehe, daß ich gar nicht weiß, unter welcher Lizenz der Kernel steht).

Das ist einfach, natürlich die GPL.

Gruß
xaromz

tommie-lie 1. Jan 2006 18:46

Re: GNU Lesser General Public License
 
Zitat:

Zitat von xaromz
Das ist mir klar, aber die Unit ist ein Interface für eine DLL, und es macht wohl wenig Sinn, ein DLL-Interface in eine DLL zu packen. Das hat der Autor wohl Sch**** gebaut. :evil:

Kommt drauf an, was der Autor im Sinn hatte. Wollte er es ermöglichen, seine DLL in closed-source-Programmen zu benutzen, war es ziemlich schwachsinnig. Will er die Verbreitung von freier Software fördern, hat er es richtig gemacht. Allerdings ist ersterer Fall wahrscheinlicher, denn wollte er die Verbreitung freier Software fördern, hätte er es unter die GPL gestellt und nicht die Schlupflöcher der LGPL zur Verfügung gestellt.

Zitat:

Zitat von xaromz
Müssen nicht alle Dateioperationen über den Kernel laufen :gruebel: ?

Indrekt müssen *alle* I/Os über den Kernel laufen. Die libc abstrahiert aber hinreichend (File-I/O beispielsweise über die f*()-Funktionen aus dem stdio.h-Header).

Zitat:

Zitat von xaromz
Das ist einfach, natürlich die GPL.

So einfach finde ich es nicht, Linux ist nicht Teil von GNU und wird es auch niemals sein. Aber ich habe nachgeschaut, es ist tatsächlich der Fall. Darüber hinaus:
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
Torvalds räumt also explizit Sonderrechte für POSIX- und linux-spezifische Calls aus gewöhnlichen Programmen heraus ein, zusätzlich zu den Möglichkeiten, die LGPL-Bibliotheken aus GNU bieten. Frag' mich nicht, wie es bei den Binary-Treibern von nVidia oder den vmWare-Treibern aussieht, ich kenne das Treiberinterface für diese Treiber nicht, kann also auch nicht entscheiden, ob die jeweiligen binary-only-Teile dann zum Kernel gehören, oder nicht, und inwiefern Torvalds die Benutzung des Treiberinterfaces unter Ausnahmen gestellt hat.

xaromz 1. Jan 2006 18:55

Re: GNU Lesser General Public License
 
Hallo,
Zitat:

Zitat von tommie-lie
Kommt drauf an, was der Autor im Sinn hatte. Wollte er es ermöglichen, seine DLL in closed-source-Programmen zu benutzen, war es ziemlich schwachsinnig. Will er die Verbreitung von freier Software fördern, hat er es richtig gemacht. Allerdings ist ersterer Fall wahrscheinlicher, denn wollte er die Verbreitung freier Software fördern, hätte er es unter die GPL gestellt und nicht die Schlupflöcher der LGPL zur Verfügung gestellt.

Das ist ein Interface für eine fremde Bibliothek unter der LGPL (ASpell). Also glaube ich auch eher an Möglichkeit eins.
Zitat:

Zitat von tommie-lie
Frag' mich nicht, wie es bei den Binary-Treibern von nVidia oder den vmWare-Treibern aussieht, ich kenne das Treiberinterface für diese Treiber nicht, kann also auch nicht entscheiden, ob die jeweiligen binary-only-Teile dann zum Kernel gehören, oder nicht, und inwiefern Torvalds die Benutzung des Treiberinterfaces unter Ausnahmen gestellt hat.

Da gab's in letzter Zeit viel Streit auf der Kernel Mailing List. Eigentlich sind Closed Source-Treiber im Linux-Kernel ein Verstoß gegen die GPL. Torvalds toleriert das momentan (er hat extra Symbole wieder umbenannt, die GPL im Namen hatten), aber die meisten Kernel-Hacker nicht.

Gruß
xaromz

tommie-lie 1. Jan 2006 19:41

Re: GNU Lesser General Public License
 
Zitat:

Zitat von xaromz
Das ist ein Interface für eine fremde Bibliothek unter der LGPL (ASpell). Also glaube ich auch eher an Möglichkeit eins.

Bei aspell könnte ich mir durchaus auch die zweite Variante vorstellen.

Zitat:

Zitat von xaromz
Da gab's in letzter Zeit viel Streit auf der Kernel Mailing List. Eigentlich sind Closed Source-Treiber im Linux-Kernel ein Verstoß gegen die GPL. Torvalds toleriert das momentan (er hat extra Symbole wieder umbenannt, die GPL im Namen hatten), aber die meisten Kernel-Hacker nicht.

Ich weiß, daß es Streit über closed source Treiber gibt, aber das Argument, daß es gegen die GPL verstößt, ist mir wohl entfallen.

phXql 1. Jan 2006 20:01

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?

Mystic 1. Jan 2006 21:24

Re: GNU Lesser General Public License
 
Zitat:

Zitat von phXql
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?

Statisches Linken ist, wenn du den Bibliothekscode in die Programmdatei mit hineinkompilierst. Dynamisches Linken ist, wenn der Bibliothekscode extern z.B. in einer DLL ist, und das Programm nur Funktionen dieser aufruft.

steph-7 1. Jan 2006 22:31

Re: GNU Lesser General Public License
 
Man man... hier geht's ja jetzt richtig zur Sache! :-D

Zitat:

Zitat von Mystic
Zitat:

Zitat von phXql
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?

Statisches Linken ist, wenn du den Bibliothekscode in die Programmdatei mit hineinkompilierst. Dynamisches Linken ist, wenn der Bibliothekscode extern z.B. in einer DLL ist, und das Programm nur Funktionen dieser aufruft.

Joa, kannst du sonst auch hier nachlesen: Wikipedia


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: mozilla.org, Wikipedia und Delphi Source

steph-7 1. Jan 2006 22:41

Re: GNU Lesser General Public License
 
Ergänzung:
Hier noch ein Hinweis zu den ZEOS-Komponenten (hab ich grade in nem anderen Thread gelesen):
Zitat:

Zitat von Jelly
... Und was noch sehr wichtig ist: Die Zeos Lib basiert auf der libmysql.dll, die Kompos von Core Lab greifen nativ auf die Datenbank zu. Und gerade was die Lizenzrechte angeht ist dies ein wichtiger Punkt, denn: die libmysql.dll darf nicht mit eigenen Anwendungen weitergegeben werden, sonst fallen MySQL Lizenzgebühren an. Dann lieber 90$ in die Core Lab Komponenten investieren, und man geht dem ganzen Ärger aus dem Weg.


So, um mal wieder ein bißchen auf den Anfang dieses Threads zurückzukommen...
wenn ich das richtig sehe, dann ist dieses Fazit (unten im Post #8 auf Seite 1) immer noch korrekt, oder nicht!?

Mystic 2. Jan 2006 20:28

Re: GNU Lesser General Public License
 
Ja, das ist noch korrekt.

PierreB 4. Jan 2006 16:33

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:

sakura 4. Jan 2006 16:39

Re: GNU Lesser General Public License
 
Zitat:

Zitat von PierreB
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?)?

Die Lizenz wurde von Library... zu Lesser... umbenannt (und entsprechen angepasst), um den Wünschen der Entwickler besser nachzukommen.

...:cat:...

malo 4. Jan 2006 16:40

Re: GNU Lesser General Public License
 
Zitat:

Zitat von PierreB
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:

Klick. Das ganze hat mich 3 Minuten gekostet. Aber das auch nur, weil der Wikipedia-Suchbutton der DP nicht richtig funktioniert hat.

PierreB 4. Jan 2006 16:44

Re: GNU Lesser General Public License
 
@Daniel: Ah, danke. ;)

tommie-lie 4. Jan 2006 16:57

Re: GNU Lesser General Public License
 
Zitat:

Zitat von PierreB
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 ?

Du musst alles, was diese Komponente enthält, ebenfalls unter der LGPL ("oder höher" ;-)) veröffentlichen. Ob du das mit einer DLL machst, mit einer BPL, mit einem von dir "erfundenen" Binärformat (z.B. ELF ;-)) mit Einsprungpunkten, oder mit einem rosa Kaninchen, ist egal. In deine Exe darfst du sie jedenfalls nicht linken, das kann man mit Sicherheit sagen ;-)

PierreB 4. Jan 2006 17:03

Re: GNU Lesser General Public License
 
Zitat:

Du musst alles, was diese Komponente enthält, ebenfalls unter der LGPL ("oder höher" ;) ) veröffentlichen.
Das heißt also, wenn ich die Komponente (im übrigen geht es um FreePDF) in ne DLL einbaue und dann die DLL-Funktionen aus meinem Programm heraus aufrufe, muss ich nur den DLL-Quelltext veröffentlichen, ja ?

Verdammt kompliziert diese ganzen Lizenzen. :stupid:

tommie-lie 4. Jan 2006 17:22

Re: GNU Lesser General Public License
 
Zitat:

Zitat von PierreB
Das heißt also, wenn ich die Komponente (im übrigen geht es um FreePDF) in ne DLL einbaue und dann die DLL-Funktionen aus meinem Programm heraus aufrufe, muss ich nur den DLL-Quelltext veröffentlichen, ja ?

Ja.

malo 4. Jan 2006 22:14

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 21:29 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz