# Nutzung GPL-lizenzierter Bibliotheken: Was darf man?



## Pantoi (21. Okt 2009)

Hi, bin mir über die Nutzung GPL-Lizenzierter Packages nicht so im Klaren:

Wiki sagt:


> Die GPL gewährt jedermann die folgenden vier Freiheiten als Bestandteile der Lizenz.
> 
> 0. Das Programm darf ohne jede Einschränkung für jeden Zweck genutzt werden. Kommerzielle Nutzung ist hierbei ausdrücklich erlaubt.
> ...



Andererseits steht da noch was von Copyleft:



> Alle abgeleiteten Programme eines unter der GPL stehenden Werkes dürfen von Lizenznehmern nur dann verbreitet werden, wenn sie von diesen ebenfalls zu den Bedingungen der GPL lizenziert werden.



Wenn ich die lib jetzt nur nutze, sie aber nicht in mein Porgramm integriert ist, sondern beim Aufruf extra angegeben werden muss, kann ich mein Programm dann als closedSource vertreiben ohne da auf Lizenzprobleme zu stoßen?


----------



## objcler (21. Okt 2009)

Pantoi hat gesagt.:


> Hi, bin mir über die Nutzung GPL-Lizenzierter Packages nicht so im Klaren:
> 
> Wiki sagt:
> 
> ...



Nein. Das ist nicht erlaubt.

Es gibt allerdings einige "Workarounds". Du könntest zum Beispiel ein "Kommandozeilentool" entwickeln, welches die GPL'ed Library nutzt und für dich wichtige Aufgaben erledigt. Das von dir geschriebene Tool müsste dann unter die GPL gestellt werden. In deiner eigenen Anwendung kannst du aber dann ohne Probleme dein Tool mit den üblichen Mitteln aufrufen.

Je nach dem wie komplex die Sache ist macht das natürlich nicht immer Sinn.


----------



## Pantoi (21. Okt 2009)

Es geht aktuell nur darum die AC.lib-ICO für das setzen des icons zu nutzen


----------



## Wildcard (21. Okt 2009)

Vereinfacht gesagt, wenn dein Programm zum kompilieren eine GPL Bibliothek im Classpath haben muss, fällt es unter die GPL.


----------



## Pantoi (21. Okt 2009)

naja zum kompilieren nich, du kannst ihm aber halt den classpath geben und dann wirds icon richtig angezeigt  aber dann muss ich mir das wohl selbst basteln ^^


----------



## objcler (22. Okt 2009)

Pantoi hat gesagt.:


> naja zum kompilieren nich, du kannst ihm aber halt den classpath geben und dann wirds icon richtig angezeigt  aber dann muss ich mir das wohl selbst basteln ^^



Na wie gesagt: Du kannst ein Java-Tool mit Hilfe der Lib schreiben, welches das Icon setzt. Du kannst ja mit Pipes und Parametern arbeiten und so die Daten übergeben/erhalten.


----------



## Gast2 (22. Okt 2009)

Pantoi hat gesagt.:


> naja zum kompilieren nich, du kannst ihm aber halt den classpath geben und dann wirds icon richtig angezeigt  aber dann muss ich mir das wohl selbst basteln ^^


falsch ... Du brauchst die Library zum kompilieren, sonst kann der Compiler die Typen nicht auflösen ... damit wird Dein Programm ebenfalls zur GPL ... wenn Du so etwas vermeinden willst, dann nimm L-GPL Librarys

ansonsten ließ in der MSDN wie die ICO-Files von MS Aufgebaut sind

hand,mogel


----------



## Pantoi (22. Okt 2009)

Danke für den MSDN Tipp


----------



## Wildcard (22. Okt 2009)

Auch bei LGPL ist das nicht ohne. Vererbung wird teilweise zB als derivated Work betrachtet wodurch dein Programm auch wieder unter die (L)GPL fallen würde.


----------



## Gast2 (22. Okt 2009)

Wildcard hat gesagt.:


> Auch bei LGPL ist das nicht ohne. Vererbung wird teilweise zB als derivated Work betrachtet wodurch dein Programm auch wieder unter die (L)GPL fallen würde.



Danke für die Info ... ich habe mir das mal jetzt durch den Kopf gehen lassen ... prinzipell ist es ja eine Erweiterung der Library ... da meine Klasse nicht ohne die Library existieren kann - umgekehrt aber ... somit ist es eine Modifikation der Library

wobei man da jetzt auch sagen kann "gut, dann lege ich genau diese Klasse offen" ... alternativ auch ein Fork

hand, mogel


----------



## Wildcard (22. Okt 2009)

mogel hat gesagt.:


> wobei man da jetzt auch sagen kann "gut, dann lege ich genau diese Klasse offen" ... alternativ auch ein Fork


Ja, diese Möglichkeit besteht, aber oft versucht man es zu vermeiden, da (L)GPL eben mehr bedeutet als Quelltext offen zu legen. Dazu gehört auch Quellcode (auch der fremdbibliothek) *selbst* zum Download anbieten und nicht nur verlinken, Quellcode auf physikalischen Datenträgern mitliefern oder eine Written Offer beilegen und und und.




> Danke für die Info ... ich habe mir das mal jetzt durch den Kopf gehen lassen ... prinzipell ist es ja eine Erweiterung der Library ... da meine Klasse nicht ohne die Library existieren kann - umgekehrt aber ... somit ist es eine Modifikation der Library


Das ist nich unumstritten. In meinen Augen ist überdecken einer Methode (override) eben kein derivated work, weil die Originalquelle nicht verändert wird. Sie kommt lediglich nicht mehr zu 100% zur Ausführung, aber das ist in meinen Augen eben keine Modifikation. Eine klare Rechtslage gibt es nicht, daher habe ich es hier erwähnt und rate im Allgemeinen zur Vorsicht mit (L)GPL (obwohl ich überzeugter Linux Nutzer bin ).
Ganz haarig wird es dann mit Icons unter GPL, das ist nochmal so ein Thema für sich.


----------



## Pantoi (23. Okt 2009)

Ich gehe aber nun richtig in der Annahme, dass ich den ICOReader, der ja unter LGPL steht, nutzen kann um aus der doofen .ico File das Icon anzuzeigen?

Ich bin ja dann nur verpflichtet irgendwo den Hinweis darauf zu geben, dass ich
die lib benutzt habe - natürlich ändere ich an der lib nix...


----------



## tuxedo (23. Okt 2009)

Wildcard hat gesagt.:


> Vereinfacht gesagt, wenn dein Programm zum kompilieren eine GPL Bibliothek im Classpath haben muss, fällt es unter die GPL.



Das ist doch etwas zu einfach. In "Die GPL kommentiert und erklärt" (siehe link unten) steht mehr oder weniger:

Wenn dein Programm eine Funktion/Methodik/Vorgehensweise/Verhalten hat, welche sich von einem GPL Lizensierten Werk ableitet (nicht zwingend im Sinne von "class xyz extends abc", im Facjjargon "derivated work"), dann hat das eigene Werk zwangsweise auch unter die GPL. Sonsonsten ist eine Nutzung ausgeschlossen.

Was objcler wohl sagen wollte:

Sofern man die externe GPl Lib in Form einer Pluginschnittstelle benutzt ist das ganze noch legitim. Mein Lieblings-Beispiel: JDBC Library.

Ich kann und darf einen DB Browser schreiben der mittels JDBC auf eine DB zugreift. Dabei sollte die Anwendung dem Benutzer ermöglichen sich einen JDBC Treiber auf seiner Platte auszusuchen. Dabei ist es nun egal ob er den Connector/J von MySQL benutzt - welcher unter der GPL steht - oder irgend einen anderen, nicht GPL lizensierten. Meine Anwendung betrifft das nicht und ich kann lizensieren wie ich es möchte.

Allerdings wäre es im Streitfall schwer zu erklären warum das lesen/schreiben von ICO Files über eine Plugin-Schnittstelle geht und dazu dummerweise nur ein Plugin existiert, welches dann auch noch GPL Lizensiert ist... Ihr versteht worauf ich hinaus will?

Mehr zur GPL:
Die GPL kommentiert und erklärt Online-Version


- Alex


----------



## tuxedo (23. Okt 2009)

Pantoi hat gesagt.:


> Ich gehe aber nun richtig in der Annahme, dass ich den ICOReader, der ja unter LGPL steht, nutzen kann um aus der doofen .ico File das Icon anzuzeigen?
> 
> Ich bin ja dann nur verpflichtet irgendwo den Hinweis darauf zu geben, dass ich
> die lib benutzt habe - natürlich ändere ich an der lib nix...





Bei LGPL bist du fein raus. Liefer den LGPL Lizenztext mit und leg ne readme dazu dass Library XYZ mit LGPL lizensiert ist und gut ist. Explizit im Programm angeben dass du eine LGPL Lib benutzt hast musst du nicht (es ist dir aber nicht verboten). 

- Alex


----------



## Wildcard (23. Okt 2009)

tuxedo hat gesagt.:


> Das ist doch etwas zu einfach. In "Die GPL kommentiert und erklärt" (siehe link unten) steht mehr oder weniger:
> 
> ...
> 
> Ich kann und darf einen DB Browser schreiben der mittels JDBC auf eine DB zugreift. Dabei sollte die Anwendung dem Benutzer ermöglichen sich einen JDBC Treiber auf seiner Platte auszusuchen. Dabei ist es nun egal ob er den Connector/J von MySQL benutzt - welcher unter der GPL steht - oder irgend einen anderen, nicht GPL lizensierten. Meine Anwendung betrifft das nicht und ich kann lizensieren wie ich es möchte.


Was sich wieder mit obiger, vereinfachter Definition deckt. In diesem Fall brauchst du den MySQL Treiber eben nicht zum kompilieren, weil du nicht direkt mit ihm sprichst.


----------



## ralfgc (23. Okt 2009)

Hallo,

...Alle abgeleiteten Programme eines unter der GPL stehenden Werkes dürfen von Lizenznehmern nur dann verbreitet werden, wenn sie von diesen ebenfalls zu den Bedingungen der GPL lizenziert werden.....

die betonung liegt auf "abgeleitet". 
D.h. du kannst nicht die sourcen von log4j nehmen, da ne zeile ändern, es in dein kommerzielles projekt integrieren und verwenden, ohne DEIN log4j mit quellen für jedermann bereitzustellen. ABER du darfst log4j, solang du es nicht änderst, in deinem kommerziellem Projekt verwenden.
Das heisst du kannst sie ganz normal einbinden und verwenden.
Das heisst auch das du die Quellen natürlich kompilieren kannst, (warum auf immer), solange
du sie nicht verändert hast.


----------



## Gast2 (23. Okt 2009)

Moin,

log4j läuft unter der Apache License und nicht unter GPL

hand, mogel


----------



## ralfgc (24. Okt 2009)

das war nur ein beispiel...aber wenn die gpl oder auch die apache license unterbindet,
das die freie, kostenlose, offene software unter kommerziellem einsatz NICHT VERWENDET 
werden darf ohne diese selbst offen zu legen...dann ist das ein Stil in Richtung Microsoft...
und das kann ich mir bei weitem ne vorstellen...


----------



## Wildcard (24. Okt 2009)

Dann solltest du an deinem Vorstellungsvermögen arbeiten. Was zur Compile-Zeit gegen GPL Bibliotheken linkt fällt unter GPL (vereinfacht gesagt). LGPL ist ein Spezialfall und Apache, EPL BSD,... sind wesentlich commercial friendlier lizenzen, aber bei GPL ist die Sache klar.


----------



## ice-breaker (24. Okt 2009)

jup.
Die Ausnahme bildet nur die private bzw. unternehemnsinterne Nutzung einer Software mit GPL-libs, findet dort keine Verbreitung der Software im Sinne der GPL statt, kann man den Source closed halten.


----------



## bronks (24. Okt 2009)

ralfgc hat gesagt.:


> das war nur ein beispiel...aber wenn die gpl oder auch die apache license unterbindet,
> das die freie, kostenlose, offene software unter kommerziellem einsatz NICHT VERWENDET
> werden darf ohne diese selbst offen zu legen...


Auch Du nur ein einfaches kostenloses Demo weitergibst, dann mußt zu die Sourcen mitgeben, sobald GPL gelinkt ist.



ralfgc hat gesagt.:


> dann ist das ein Stil in Richtung Microsoft...


Was hat die ehrwürdige und innovative Firma MicroSoft damit zu tun?


----------



## Wildcard (24. Okt 2009)

ice-breaker hat gesagt.:


> jup.
> Die Ausnahme bildet nur die private bzw. unternehemnsinterne Nutzung einer Software mit GPL-libs, findet dort keine Verbreitung der Software im Sinne der GPL statt, kann man den Source closed halten.


Mein Unternehmen schreibt eine interne Anwendung die GPL Bibliotheken verwendet und stellt sie mir zur Verfügung. Die GPL sichert mir hier als Arbeitnehmer nicht nur zu das ich den Quelltext der internen Anwendung bekommen kann, sondern auch das ich ihn beliebig weiter verbreiten kann.
Mein Arbeitnehmer wäre davon vermutlich nicht begeistert, also würde ich es nicht tun, aber die GPL greift dennoch und sichert mir dieser Recht zu.


----------



## tuxedo (24. Okt 2009)

Wildcard hat gesagt.:


> Was sich wieder mit obiger, vereinfachter Definition deckt. In diesem Fall brauchst du den MySQL Treiber eben nicht zum kompilieren, weil du nicht direkt mit ihm sprichst.



Ja, okay, hab das doch etwas zu einseitig geschrieben. Hast recht. Was ich aber sagen wollte: Allein der Fakt dass eine Lib zur Compilezeit nicht benötigt wird, wird im ernstfall nicht ausreichen um sich nicht der GPL zu unterwerfen. Denn:



			
				tuxedo hat gesagt.:
			
		

> Allerdings wäre es im Streitfall schwer zu erklären warum das lesen/schreiben von ICO Files über eine Plugin-Schnittstelle geht und dazu dummerweise nur ein Plugin existiert, welches dann auch noch GPL Lizensiert ist... Ihr versteht worauf ich hinaus will?



Aber als Faustregel die in die richtige Richtung zeigt ist dein Beispiel in der Tat optimal  zu gebrauchen.

Gruß
Alex


----------



## ice-breaker (24. Okt 2009)

Das fällt aber noch nicht unter die in der GPL angegebene Verbreitung der Software 
In irgendeinem FAQ-Beitrag stand da drinne, dass man die gesammte Firma für sowas dann als eine Einzelperson betrachten kann, die Firma schreibt die Software nur für sich selbst, gibt sie nicht weiter (da Weitergabe an sich selbst - Einzelperson - noch nicht die GPL-Pflicht hervorruft), sie bleibt intern.

habs gerade nochmal rausgesucht:
Frequently Asked Questions about the GNU Licenses - GNU Project - Free Software Foundation (FSF)


----------



## bronks (24. Okt 2009)

Wildcard hat gesagt.:


> Mein Unternehmen schreibt eine interne Anwendung die GPL Bibliotheken verwendet und stellt sie mir zur Verfügung. Die GPL sichert mir hier als Arbeitnehmer nicht nur zu das ich den Quelltext der internen Anwendung bekommen kann, sondern auch das ich ihn beliebig weiter verbreiten kann.
> Mein Arbeitnehmer wäre davon vermutlich nicht begeistert, also würde ich es nicht tun, aber die GPL greift dennoch und sichert mir dieser Recht zu.


Ne, ne ... die GPL sichert Dir das nicht zu, da nur das Unternehmen selbst als Person, deren Bestandteil Du bist, ihre selbsterstellte Software verbreiten und veröffentlichen kann.


----------



## bronks (24. Okt 2009)

ice-breaker hat gesagt.:


> Das fällt aber noch nicht unter die in der GPL angegebene Verbreitung der Software
> ...


Oh ... Du warst eine Stunde schneller 

EDIT: Falsche Zeitzone


----------



## ice-breaker (24. Okt 2009)

eine Stunde? bei mir sinds nur 4min ???:L


----------



## Wildcard (24. Okt 2009)

ice-breaker hat gesagt.:


> habs gerade nochmal rausgesucht:
> Frequently Asked Questions about the GNU Licenses - GNU Project - Free Software Foundation (FSF)


Die Lizenz der vielen Spezialfälle.. :noe:


----------



## Unregistriert (25. Okt 2009)

mal so nebenbei gefragt: wenn ich von GPL code einfach abschreibe und meine eigenen Klassen baue, kann mir doch eh nicht mehr wirklich jemand an den Karren fahren, oder? Ich mein - da mein Code closed is, bekommt ihn keiner zum lesen und aufgrund der Klassennamen kanns mans eben auch nicht erahnen, da ichs einfach stumpf anders nenn - dass das dann nicht wirklich ne legale Handlung ist mal beiseite gestellt...


----------



## Wildcard (25. Okt 2009)

Es gibt Tools um soetwas zu untersuchen. Oft lässt sich das auch herausfinden indem man eine Software auf vom OpenSource Projekt bekanntes Fehlverhalten untersucht. Zeigt dir Closed Source Anwendung das gleiche Fehlverhalten ist es sehr wahrscheinlich das die gleichen Quellen zugrunde liegen.


----------



## byte (25. Okt 2009)

Um nochmal auf die firmeninternen Anwendungen zurück zukommen:

Ist das in der GPL denn geregelt, *wem *man die Sourcen zugänglich machen muss? Also wenn man eine Software nur für Person A oder für Firma B schreibt, muss man dann auch nur A oder B die Sourcen zugänglich machen? Oder könnte dann irgendeine Person C kommen und sagen "Hey, ich habe gehört, Du hast da die und die GPL Software geschrieben, schieb mal die Sourcen rüber"? 

Also muss man die Sourcen nur demjenigen aushändigen, an den man die Software vertreibt oder generell an jeden? Zweiteres würde ja irgendwie keinen Sinn ergeben.


----------



## bronks (25. Okt 2009)

byte hat gesagt.:


> ... Also muss man die Sourcen nur demjenigen aushändigen, an den man die Software vertreibt oder generell an jeden? Zweiteres würde ja irgendwie keinen Sinn ergeben.


Man muß die Sourcen auf dem gleichen Weg veröffentlichen, wie das fertige Programm selbst. Wenn man ein Programm nur an Person B incl. Sourcen weitergegeben hat, dann kann Person C nicht zu mir kommen und die Sourcen verlangen.

Wenn man sich auf Sourceforge.net umsieht, dann ist das leider nicht immer der Fall. Das fertige Programm, welches zwangsweise unter GPL steht, ist zum Download verlinkt und nach den Sourcen muß man teilweise extra fragen, sich registrieren oder sonstwas.


----------



## ice-breaker (25. Okt 2009)

byte hat gesagt.:


> Ist das in der GPL denn geregelt, *wem *man die Sourcen zugänglich machen muss? Also wenn man eine Software nur für Person A oder für Firma B schreibt, muss man dann auch nur A oder B die Sourcen zugänglich machen?


du beziehst dich auf das Schreiben einer Software für einen Kunden auf GPL-Basis oder?
Neija das ist dann ja keine Verteilung von Software, da du ja in ihrem Auftrag gehandelt hast.



byte hat gesagt.:


> Also muss man die Sourcen nur demjenigen aushändigen, an den man die Software vertreibt oder generell an jeden? Zweiteres würde ja irgendwie keinen Sinn ergeben.


jeder der nachfragt muss die Sourcen bekommen können.
Man muss sie dabei nicht groß öffentlich einen Download-Link auf die Seite packen, auf Emails mit der Bitte um den Programmcode zu reagieren reicht vollkommen.


----------



## Wildcard (25. Okt 2009)

ice-breaker hat gesagt.:


> jeder der nachfragt muss die Sourcen bekommen können.
> Man muss sie dabei nicht groß öffentlich einen Download-Link auf die Seite packen, auf Emails mit der Bitte um den Programmcode zu reagieren reicht vollkommen.


Nein, nur jeder dem man die Software gegeben hat. Ausserdem kann dafür eine geringe Gebühr erhoben werden um die Kosten zu decken. Das hängt allerdings auch davon ab wie man die Software vertrieben hat


----------



## ice-breaker (25. Okt 2009)

Hmm, irgendwie erscheint mir die GPL da gerade widersprüchlich oder ich scheiter an dem ganzen Juristen-Gefasel:
What does “written offer valid for any third party” mean in GPLv2? Does that mean everyone in the world can get the source to any GPL'ed program no matter what?

Man muss wohl, wenn man den Sourcecode nicht beilegt, schreiben wo man den Source herbekomt (GPL v2 3b). Wer dieses Getippe vorliegen hat, kann den Source anfordern, laut dem FAQ-Eintrag kann aber auch jeder der den Source anfordern, wenn man sagt man legt ihn nicht bei, sondern man muss drum bitten.


----------



## byte (25. Okt 2009)

Wildcard hat gesagt.:


> Nein, nur jeder dem man die Software gegeben hat. Ausserdem kann dafür eine geringe Gebühr erhoben werden um die Kosten zu decken. Das hängt allerdings auch davon ab wie man die Software vertrieben hat



OK, so machts auch Sinn imo. Wenn man sich halt mal einen großen Konzern anguckt, besteht der ja häufig aus vielen Gesellschaften und/oder Tochterunternehmen. Individualsoftware wird von einer oder mehrerer IT-Abteilungen geschrieben und an bestimmte Personen im Konzern verteilt.
Ist halt nun die Frage, ob - im Sinne der GPL - das ganze bezogen auf den Konzern gilt oder auf die einzelnen Gesellschaften.


----------



## Wildcard (25. Okt 2009)

ice-breaker hat gesagt.:


> Man muss wohl, wenn man den Sourcecode nicht beilegt, schreiben wo man den Source herbekomt (GPL v2 3b). Wer dieses Getippe vorliegen hat, kann den Source anfordern, laut dem FAQ-Eintrag kann aber auch jeder der den Source anfordern, wenn man sagt man legt ihn nicht bei, sondern man muss drum bitten.


Genau. Wenn du stattdessen zB den Quellcode auf CD beilegst und Kunden deine CD verkaufst, dann können die Kunden damit zwar machen was sie wollen, aber du brauchst niemandem Quellcode zu geben der danach fragt, weil er bereits auf den von dir verteilten Datenträgern beiliegt.

Nimmst du die Written Offer, kann das eine Kette auslösen, weil auch Kunden die an andere verteilen eine Written Offer um den Code bei dir zu beziehen beliegen. Vertreiben die Kunden deine Software allerdings wieder kommerziell, dann müssen sie den Quellcode selbst anbieten (deine Written Offer endet dann bei deinem direkten Kunden).


----------



## Pantoi (25. Okt 2009)

Ui, da hat sich ja eiiniges getan hier im Thread - interessant, was man hier so liest 
Um mal wieder auf mein Icon-Geschichte zu kommen:

Wenn ich mir jetzt eine jar schreibe die als einzige Aufgabe hat das Icon das ich von der AC.lib-ICO bekomme zu tunneln, dann kann ich den Empfänger dieses Tunnels geschlossen veröffentlichen, und nur die Tunnel-jar unter GPL ?


----------



## ice-breaker (25. Okt 2009)

Die Frage ist wie dein App die Tunnel.jar nutzt


----------



## Gast2 (25. Okt 2009)

Pantoi hat gesagt.:


> Wenn ich mir jetzt eine jar schreibe die als einzige Aufgabe hat das Icon das ich von der AC.lib-ICO bekomme zu tunneln, dann kann ich den Empfänger dieses Tunnels geschlossen veröffentlichen, und nur die Tunnel-jar unter GPL ?



jetzt überleg nochmal richtig ... Deine tunnel.jar verwendet eine GPL-Library => tunnel.jar wird GPL ... Dein Programm verwendet Deine tunnel.jar (welche ja nun GPL ist) => na dämmerts  ... so einfach kannst Du das nicht umgehen


----------



## Pantoi (25. Okt 2009)

Öhm naja  Ich schreib die tunnel.jar - lass die jar die lib aufrufen und und rufe die tunnel.jar widerum in meinem Programm als lib auf - externerweise.


----------



## Pantoi (25. Okt 2009)

mogel hat gesagt.:


> jetzt überleg nochmal richtig ... Deine tunnel.jar verwendet eine GPL-Library => tunnel.jar wird GPL ... Dein Programm verwendet Deine tunnel.jar (welche ja nun GPL ist) => na dämmerts  ... so einfach kannst Du das nicht umgehen



ist das in der GPL nicht so, dass ich eigene GPL projekte für meinen Kram auch in closed-Projekten verwenden darf?


----------



## Gast2 (25. Okt 2009)

um den Kram in der Lib verwenden zu können musst Du schon zur Compilerzeit gegen die Lib linken (Du brauchst ja die Meta-Daten über die Klassen der Lib) ... mir stellt sich die Frage was an dem Tool so unheimlich wichtig ist das Du es geheim halten willst ... wenn es so geheim ist dann lade die ICO-Dateien von Hand und GPL hat sich erledigt


----------



## Pantoi (25. Okt 2009)

Es geht da eher ums Prinzip, als dass die Daten sooo wichtig wären  So "einfach" laden die sich ja leider auch nicht von Hand, sonst würd ichs machen, aktuell hab ich das Problem, dass ich über .ico Dateien einfach nicht genug Informationen finde um zu wissen, wie ich sie einbinden soll...


----------



## ice-breaker (25. Okt 2009)

doch 
Er kann ja die tunnel.jar starten und folgendes machn:

als Commandline-Version in ein Verzeichnis das Ico nach Png konvertieren
als Socket-Server ein Ico-Bild annehmen und mit einem Png-Bild antworten

beidesmal hat er sich von der GPL befreit.


Beim einbinden als lib muss man ja nicht weiterdiskutieren, das ist klar.


----------



## Gast2 (26. Okt 2009)

ice-breaker hat gesagt.:


> doch


da gibt es bestimmt noch mehr Möglichkeiten - ist mir klar ... aber GPL ist GPL und sollte entsprechend Beachtung finden ... mit würde es nicht wundern wenn ICO-Datein nichts weiter als BMP-Dateien mit anderem Header sind


----------



## byte (26. Okt 2009)

ICO hat mit BMP nix zu tun.

Nach kurzem googlen hab ich aber sofort mehrere Java Libs gefunden, die ICO einlesen können und LGPL sind.


----------



## Pantoi (26. Okt 2009)

byte hat gesagt.:


> ICO hat mit BMP nix zu tun.



Da kann ich so nicht zustimmen - nach LANGEM(^^) googlen bin ich jetzt doch zu Informationen über die ICO-Datei gekommen und hab somit dann auch nen Ansatz gefunden das zu lösen  file-format-ico gibt doch recht nützliche Informationen und es scheint zumindest so zu sein, dass man mit nem FileInputStreamReader nach auslesen des Anfangs (info über anzahl usw) tatsächlich zu BMP Dateien verwiesen wird... 

zu den LGPL-Varianten: ich muss nochmal betonen, dass mir die Frage zu der Icon-Geschichte eben durch diese eine lib kam und ich mich dann gefragt hab, ob sich die GPL nicht generell "umgehen" lässt - nicht dass ich das für ne super Idee halte, aber darüber nachdenken kann man ja mal


----------



## Unregistriert (28. Okt 2009)

Hätte da auch ne Frage zum Thema:

Ich hab unwissenderweise (bin noch neu was das ganze angeht) ne GPL Bilbliothek in ein closed-Projekt eingebaut
und das auch schon "vertrieben". Ich habe jetzt mein Projekt so umgeschrieben, dass die GPL Bibliothek nicht mehr
verwendet wird. Und die jeweiligen das Programm bei den anderen es haben auch schon erneuert, allerdings kann
ich von aussen keine Dateien löschen, weshalb jetzt zwar die neue Version meines Programms installiert ist, die Bibliotheken aber noch ungenutzt im /lib Verzeichnis liegen - müssen die da weg, oder können die drin liegen bleiben, weil sie eh keiner verwendet?


----------



## Pantoi (28. Okt 2009)

da du wohl updaten kannst, kannst ja einfach mal die libs durch gleichnamige leere dateien ersetzen


----------



## tuxedo (28. Okt 2009)

Oder gleich die Updatefunktion updated dass damit auch löschen von alten Files geht...

- Alex


----------



## ralfgc (28. Okt 2009)

Sag ich doch, nicht verändern, aber nutzen.


----------



## Wildcard (29. Okt 2009)

Unregistriert hat gesagt.:


> Ich hab unwissenderweise (bin noch neu was das ganze angeht) ne GPL Bilbliothek in ein closed-Projekt eingebaut
> und das auch schon "vertrieben"


Nun, (mindestens) wenn in der von dir schon vertriebenen Version die Bibliothek noch genutzt wurde, dann fällt diese Version deiner Software unter die GPL und du musst sie eigentlich offenlegen, oder du begehst eine GPL Violation


----------

