PBOSL - Eine OpenSource Library-Sammlung für PureBasic

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

@v1d4r: Ich habe kein Problem mit dir, will es auch nicht haben und glaube
dir, dass du nur das Beste für PBOSL willst. Trotzdem halte ich an meiner
Betrachtungsweise fest (jo, auch weil Danilo hier der gleichen Meinung ist).
v1d4r hat geschrieben:Nein, ihr versteht das nicht richtig!
Es geht hier die ganze Zeit um die LGPL v2.x, nur scheint sie keiner richtig gelesen und verstanden zu haben!
glaube ich dir.

Compiliert oder gelinkt wird jede Software! Egal ob EXE oder DLL.
"Mit der Bibliothek compiliert oder gelinkt" ist der relevante Satz. Eine DLL
kann nur dynamisch gelinkt werden (Import-libraries enthalten ja nicht
den Programmcode der DLL, da wird nur ein Import-Teil zur Exe statisch
hinzugelinkt). "Mit einer Bibliothek compilieren" geht aber nicht mit einer
DLL. Wie soll ich eine DLL, die per Definiton dynamisch gelinkt wird, zur
Exe hinzukompilieren? Somit schliesst der Satz "Mit der Bibliothek compiliert
oder gelinkt" NICHT ein statisches Linken aus. Es steht absolut nirgends
geschrieben, dass mit "... work with the Library by being compiled or
linked with it" ausgeschlossen wird, dass die Lib statisch gelinkt wird.
Somit KANN der Abschnitt 5 auch auf eine statisch gelinkte Lib angewendet
werden, da es einfach nirgends ausgeschlossen wird. Zusätzlich kann man
ja wie gesagt eine DLL nicht "mit kompilieren", also kann da doch nur eine
statische Lib gemeint sein.

Meine Frage also: Was schliesst unter Section 5 ein statisches Linken der
Lib aus?
Was ist denn daran nicht zu verstehen? Ist doch klar in der Lizenz beschrieben. Warum verstehen es alle richtig nur ihr nicht?
Wer versteht es denn noch richtig?
Übrigens nochmals zur engl. Wiki. Auch die sind sich in dem Punkt recht
uneinig und schliessen ein statisches Linken ohne Beschränkungen
nicht aus. Sie betonen nur, dass DLLs unproblematisch sind, aber bei
statischem Linken wird nichts ausgeschlossen:
The main difference between the GPL and the LGPL is that the latter can be linked to (in the case of a library, 'used by') a non-(L)GPLed program, which may be free software or proprietary software [1]. This non-(L)GPLed program can then be distributed under any chosen terms if it is not a derivative work. If it is a derivative work, then the terms must allow "modification for the customer's own use and reverse engineering for debugging such modifications." Whether a work that uses an LGPL program is a derivative work or not is a legal issue. A standalone executable that dynamically links to a library is generally accepted as not being a derivative work. It would be considered a "work that uses the library" and paragraph 5 of the LGPL applies.
Also KEIN Ausschluss von statischem Linken, sondern nur eine "Empfehlung",
dass DLLs im Allgemeinen unproblematisch sind.


greetz
Remi
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Danilo: Schön, dass du auch ma wieder vorbeischaust! Frohes Fest und guten Rutsch! :allright:

Zum Topic: Warum sollte es überhaupt irgendwelche juristischen Fragen zu PBOSL geben? Wenn da überhaupt einer klagen kann, dann ja wohl nur der Urheber der Libs, und ich hab doch arge Zweifel, dass Danilo oder Rings irgendjemanden verklagen würden, weil er ihre Libs benutzt.

Anstelle sich hier den Kopf zu zerbrechen, ob man verklagt werden könnte, wäre es vielleicht eher angebracht, erstmal was zu coden für das es sich überhaupt zu klagen lohnt (Und das bezieht sich jetzt ausdrücklich NICHT auf die PBOSL-Schöpfer)... :freak:
v1d4r

Beitrag von v1d4r »

Also, ihr haengt euch zu sehr an dem "compiliert oder gelinkt" auf. Rollen wir das Ganze noch mal Schritt fuer Schritt auf.

Wie wir alles wissen, oder auch nicht, arbeitet ein Compiler wie folgt:

Erst wird der Code compiliert, dann werden die compilierten Teile gelinkt. Gelinkt werden sie zu einer EXE oder DLL - oder was auch immer (OS abhaengig).
§5. Ein Programm, das nichts von irgendeinem Teil der Bibliothek Abgeleitetes enthält, aber darauf ausgelegt ist, mit der Bibliothek zusammenzuarbeiten, indem es mit ihr compiliert oder gelinkt wird, nennt man ein „Werk, das die Bibliothek nutzt“. Solch ein Werk, für sich allein genommen, ist kein von der Bibiliothek abgeleitetes Werk und fällt daher nicht unter diese Lizenz.
Das "compiliert oder gelinkt" kann und wird hier Missverstanden.
Ob man hier nun eine statisch oder dynamisch Library benutzt - beides wird mit der EXE compiliert und gelinkt!

Es geht um den Teil "das nichts von irgendeinem Teil der Bibliothek Abgeleitetes enthält" und §5 ist hier laengst nicht zu Ende! In Folge wird nochmal wiederholt und erneut daruf hingewiesen :
Wird jedoch ein „Werk, das die Bibliothek nutzt“, mit der Bibliothek gelinkt, so entsteht ein ausführbares Programm, das ein von der Bibliothek abgeleitetes Werk (weil es Teile der Bibliothek enthält) und kein „Werk, das die Bibliothek nutzt“ ist. Das ausführbare Programm fällt daher unter diese Lizenz.
"weil es Teile der Bibliothek enthält"!!! Sobald deine EXE zusammen mit der statische Library compiliert und gelinkt wird enthaelt sie Teile der Bibliothek. Das ist der springende Punkt! Wird jedoch deine EXE zusammen mit der dynamischen Library (DLL) compiliert und gelinkt enthaelt sie keine Teile der Bibliothek.

Szenario #1:
Wuerde dein Code zusammen mit dem Code der Library compiliert und gelinkt, waere deine EXE kein "Werk, das die Biliothek nutzt" da sie Teile der Biliothek enthaelt. Faellt also unter LGPL Lizenz.

Szenario #2:
Wuerde dein Code zusammen mit der statischen Library compiliert und gelinkt, waere deine EXE kein "Werk, das die Biliothek nutzt" da sie Teil der Bibliothek enthaelt. Faellt also unter LGPL Lizenz.

Szenario #3:
Wuerde dein Code zusammen mit der dynamisch Library (DLL) compiliert und gelinkt, waere deine EXE eine "Werk, das die Biliothek nutzt" da sie kein Teil der Bibliothek enthaelt. Faellt also unter deine eigene Lizenz.

Ich hoffe ihr habt es nun verstanden - sonst geb ich echt auf. :roll:

Ich wuensch allen noch einen guten Rutsch und ein schoenes neues Jahr. :D
v1d4r

Beitrag von v1d4r »

PS.
Die Ausnahme "modification for the customer's own use and reverse engineering for debugging such modifications." erwaehnte ich ja schon.

Allerdings wuerde ich selbst, gerade in kommerziellen Produkuten, kein Reverse Engineering gestattet bzw. zulassen (entsprechend schuetzen).

Demnach ist DLL der einzig wahre Weg bei LGPL.
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Ok, ich glaube, die Diskussion muss hier stoppen. Es hat keinen Sinn, weiter
darüber zu diskutieren. Das hier habe ich gerade noch im Internet gefunden,
dabei geht es genau um diese Unterscheidung zwischen "work that uses
the library" und "work based on the library":
These distinctions are unclear and the impact of this section on creators of potential
“work that uses the Library” may be hard to predict. Some interpretations of the LGPL
distinguish between the dynamic (compiled together with the underlying program) and
the static (not so compiled) linking of programs with libraries. Such distinctions are
beyond the scope of this book. However, at least at the time of this writing, FSF-
licensed libraries may not be dynamically linked, while libraries affiliated with Linus
Torvalds and the Linux project may be. Because of the complexity of such problems,
users facing these questions should contact the licensor of the Library in question.
Link: http://www.oreilly.com/catalog/osfreesoft/book/ch03.pdf



Also wie Danilo und Rings (Projektgründer von PBOSL) jetzt und auch schon
früher in der Ankündigung, also ganz am Anfang beim Projektstart schrieben,
war es immer so gemeint, dass man die Bibliotheken ohne Beschränkung
als PB-Userlib benutzen kann. Credits, Lizenztext, Quelle, etc. sind natürlich
weiterhin erforderlich.
Somit ist die Philosophie, unter der dieses Projekt steht, klar und jeder, der
seither dazu beigetragen hat, sollte das wissen. Es wird also definitiv
niemand etwas gegen ein "Closed Source"-Projekt - nach den Autoren
"using the libraries" - unternehmen.


Das sollte reichen, da ja scheinbar die LGPL in diesem Bereich mangels
Genauigkeit diese Präzisierung der Autoren verlangt.

greetz
Remi

PS: Die Diskussion war interessant. Schade, dass wir nicht basierend auf
der Lizenz eine eindeutige Lösung finden konnten.
v1d4r

Beitrag von v1d4r »

Aus dem Grund wurde wohl die neue LGPL v3 geschaffen.

Die spricht von "kombiniertes Werk", gemeint sind EXE mit static Library.

Dies wird unter eigener Lizenz nur gestattet wenn modifkationen und "reverse engineering" erlaubt sind und man zusaetzlich Copyright vermerkt sowie die LGPL Lizenz dabei legt.

Im Prinzip genau so wie die LGPL v2.x - zumindest aus meiner Sicht, denn so habe ich sie schon immer verstanden. ;)

Im Sinne der Erfinder war es eben genau so gedacht, egal ob v2.x oder v3. Nur wird es in v3 deutchlicher beschrieben als in v2.x um nicht wieder Missverstaendnisse aufkommen zu lassen. Siehe §0 "Difinitionen" hier wird genau beschrieben was "Anwendung" oder "kombiniertes Werk" ist. *g*
FloHimself
Beiträge: 338
Registriert: 05.09.2004 18:47

Beitrag von FloHimself »

Tut mir leid, das alte Ding wieder auszugraben.

Es scheint verschiedene Auslegungen der LGPL zu geben. Ich teile v1d4rs Auffassung. Die Autoren der PBOSL eine Andere.
hardfalcon hat geschrieben:Zum Topic: Warum sollte es überhaupt irgendwelche juristischen Fragen zu PBOSL geben? Wenn da überhaupt einer klagen kann, dann ja wohl nur der Urheber der Libs, und ich hab doch arge Zweifel, dass Danilo oder Rings irgendjemanden verklagen würden, weil er ihre Libs benutzt.
Das stimmt so nicht. Ich kaufe eine "closed source" Software die Teile einer LGPL lizenzierten Bibliothek enthält. Diese Bibliothek ist statisch in die "closed source" Software gelinkt. Die LGPL räumt mir als Nutzer dieser Software Rechte ein. Nämlich: "Es muss z.B. gewährleistet sein, dass die Applikation auch gegen neuere Versionen der Library gelinkt werden kann, und Veränderungen, Reverse-Engineering und Debugging der Applikation dürfen nicht verboten sein.[1]

Diese Rechte kann ich als Nutzer gegenüber dem Hersteller dieser Software geltend machen. Der Hersteller wird sich auf die Aussagen der Autoren der Bibliothek beziehen.

Der Konflikt ist also "die bekundete Absicht der Autoren der PBOSL" vs. "Lizenztext der LGPL". Dieser Konflikt deutet auf die falsche Wahl der Lizenz. Ich kann allen Entwicklern von "closed source" Software nur abraten die PBOSL zu nutzen oder einen Anwalt zu Rate zu ziehen.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

FloHimself hat geschrieben: ..
Ich kaufe eine "closed source" Software die Teile einer LGPL lizenzierten Bibliothek enthält....
Und schon kannst Du den Hersteller der closed-Source-Software
zumindest mal ganz schief angucken, weil der sich vermutlich n
Scheiss um die LGPL gekümmert hat.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Naja, was ich sowieso verwirrend finde ist das hier:

http://www.amazon.de/Linksys-WRT54GL-Wi ... 176&sr=8-1
Dieses Produkt enthält möglicherweise Software, die im Rahmen der GNU General Public License oder anderen Open-Source-Softwarelizenzen für Sie lizenziert ist. Der Quellcode der Open-Source-Software ist auf Anfrage mindestens drei Jahre ab Erwerb des Produkts bei Linksys gegen Gebühr erhältlich. Klicken Sie hier, um die genauen Lizenzbedingungen und weitere Informationen anzuzeigen.
Man muss für OpenSource GPL Software zahlen?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
FloHimself
Beiträge: 338
Registriert: 05.09.2004 18:47

Beitrag von FloHimself »

Gebühr = Datenträger + Porto + Verpackung

Der original Text von Linksys:
http://www-at.linksys.com/servlet/Satel ... torWrapper
Wenn du dem Link folgst kannst du die Quelldateien runterladen.
Antworten