Archief - [PROG] GNU GPL Licentie vraag

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

OsMo

Legacy Member
Hallo,

Ik heb een vraagje ivm de GPL licentie:
Als ik een component via de GPL licentie verspreid, kan de eindgebruiker deze component dan zonder problemen in zijn eigen software gebruiken, zonder dat die software ook GPL wordt?

De reden waarom ik dit vraag: mijn component moet als open source software verspreid worden zodat iedereen toegang heeft tot de broncode (al dan niet gewijzigd van het origineel) en zodat mijn gecompileerde component zonder problemen in open source en commerciele software kan gebruikt worden. Dus ook commerciele software moet mijn gecompileerde component kunnen gebruiken zonder restricties (buiten de vermelding van de copyrights van mijn component).
Laat de GPL licentie dit toe? Of is er een andere licentie die dit toelaat?

Alvast bedankt!

OsMo

Tyfius

Legacy Member
De GPL dwingt je om, als je gebruik maakt van code die onder die licentie gelicenceerd is en je distribueert dat programma, je jouw gebruikers dezelfde rechten te geven als je zelf had.

Een mooi voorbeeld is NeroLinux. Nero heeft de GUI van GnomeBaker gebruikt om zijn linux versie te ontwikkelen, maar de GUI van GnomeBaker valt onder GPL. Dan zou in wezen Nero ook zijn NeroLinux versie onder de GPL moeten uitgeven en de broncode beschikbaar stellen.
Je kan evenwel (als rechthebbende) je code onder meer dan 1 licentie vrijgeven. Nero heeft een andere licentie op GnomeBaker genomen zodat ze hun eigen versie onder een andere licentie konden uitbrengen.

Op http://opensource.org/licenses/ vind je een overzicht van alle licenties die door OSI zijn goedgekeurd. Lees zeker eens de MIT, BSD en Apache licentie, ik denk dat die voor jou misschien interessant kunnen zijn.

OsMo

Legacy Member
Bedankt voor de snelle reactie Tyfius!

Ik denk dat de BSD licentie het meeste van toepassing is?
Bij distributie in broncode of gecompileerde vorm moet men altijd mijn copyright notice bijvoegen? Op die manier blijft iedereen weten dat het op mijn werk gebaseerd is?

Bedankt!

OsMo

dJeez

Legacy Member
LGPL (Lesser GNU Public License) is ook een optie lijkt mij, op basis van je omschrijving.

OsMo

Legacy Member
Is het voldoende dat ik de tekst van de BSD licentie in een apart bestand bij de broncode toevoeg en de BSD licentie vermeld in het readme bestand van de component?

Moet de copyright informatie ook vermeld staan in de bestanden van de broncode?

Bedankt!

OsMo

OsMo

Legacy Member
Ik denk dat de LGPL mss toch beter is.
Kan iemand verifieren dat ik LGPL goed begrijp? :
1) Iedereen* kan de component gebruiken zowel door te linken naar de gecompileerde vorm zowel door de component mee te compileren in de executable, zonder dat hun programma onder de LGPL valt.
2) Iedereen* die een afgeleid werk maakt van de component of de component wijzigt valt wel onder de LGPL.

* Iedereen = commerciele en open source projecten

Zijn 1) en 2) correct?

Bedankt!

OsMo

dJeez

Legacy Member
OsMo zei:
Is het voldoende dat ik de tekst van de BSD licentie in een apart bestand bij de broncode toevoeg en de BSD licentie vermeld in het readme bestand van de component?
Doorgaans wordt de licentie vermeld in de documentatie, en staat er een COPYING bestand met de licentie erin in de root folder (naast eventuele README en INSTALL documentjes).

OsMo zei:
Moet de copyright informatie ook vermeld staan in de bestanden van de broncode?
Het is vrij belangrijk om de copyright melding in ELK bronbestand in de header te zetten ja, zodat je duidelijk maakt dat al die bestanden onder de gekozen licentie vallen.

En om op je vraag hierboven terug te komen : de LGPL is de niet-virale versie van de GPL, je mag dus LGPL libraries/componenten gebruiken in commerciële software, zonder dat dat licentieverplichtingen oplegt aan uw programma. Voorzover ik weet kloppen je bovenstaande puntjes inderdaad.

OsMo

Legacy Member
Een laatste vraagje: de copyright melding van de LGPL licentie die in elk bronbestand moet staan, waaruit bestaat die?
Ik neem aan dat dat niet de volledige tekst is van de LGPL licentie zelf?

Bedankt!

OsMo

EDIT: ik heb het al gevonden, het stond helemaal onderaan de LGPL licentie :$
Bedankt voor alle hulp!

wlibaers

Legacy Member
OsMo zei:
Ik denk dat de LGPL mss toch beter is.
Kan iemand verifieren dat ik LGPL goed begrijp? :
1) Iedereen* kan de component gebruiken zowel door te linken naar de gecompileerde vorm zowel door de component mee te compileren in de executable, zonder dat hun programma onder de LGPL valt.
2) Iedereen* die een afgeleid werk maakt van de component of de component wijzigt valt wel onder de LGPL.

* Iedereen = commerciele en open source projecten

Zijn 1) en 2) correct?

Bedankt!

OsMo

1) klopt voor het geval dynamisch gelinkt wordt. Als iemand de LGPL lib statisch mee in het programma linkt, moet alle nodige materiaal beschikbaar gemaakt worden om aan de gebruikers toe te laten ze te herlinken met eventuele andere versies van de lib. Dat staat duidelijk genoeg in de licentie (ik zou aanraden ze te lezen voor je ze op je programma's toepast).
http://www.gnu.org/licenses/lgpl.html

killgore

Legacy Member
wlibaers zei:
1) klopt voor het geval dynamisch gelinkt wordt. Als iemand de LGPL lib statisch mee in het programma linkt, moet alle nodige materiaal beschikbaar gemaakt worden om aan de gebruikers toe te laten ze te herlinken met eventuele andere versies van de lib. Dat staat duidelijk genoeg in de licentie (ik zou aanraden ze te lezen voor je ze op je programma's toepast).
http://www.gnu.org/licenses/lgpl.html
Heb ze nu niet expliciet gelezen (vroeger wel eens, maar dat blijft niet hangen), maar was een duidelijke verwijzing naar de gebruikte lib ook al niet voldoende?
Meen me te herinneren dat dit voor SDL zo was, maar daar moet je in principe die src toch weer openbaar maken omdat je recompile doet (ze stellen zelf geen static lib ter beschikking).

Alleszins: niets verbied je in principe om je eigen licentie te maken eh, je moet wel zorgen dat ze correct is opgebouwd.

wlibaers

Legacy Member
killgore zei:
Heb ze nu niet expliciet gelezen (vroeger wel eens, maar dat blijft niet hangen), maar was een duidelijke verwijzing naar de gebruikte lib ook al niet voldoende?
Meen me te herinneren dat dit voor SDL zo was, maar daar moet je in principe die src toch weer openbaar maken omdat je recompile doet (ze stellen zelf geen static lib ter beschikking).

Alleszins: niets verbied je in principe om je eigen licentie te maken eh, je moet wel zorgen dat ze correct is opgebouwd.

Wel, de bedoeling van de LGPL is de gebruiker de mogelijkheid geven de libs aan te passen, en die aangepaste versies ook te gebruiken in de programma's die ermee linken. Voor dynamisch gelinkte programma's geen probleem, maar als ze statisch gelinkt zijn moet je dus broncode geven (die hoeft niet noodzakelijk met LGPL licentie verspreid te worden, zolang de gebruiker maar mag hercompileren), of objectbestanden (.o of .obj gewoonlijk) die de gebruiker kan linken met een nieuwe versie van de LGPL lib.

Bij SDL is het grootste deel een dynamische lib onder de LGPL. In sommige gevallen (Windows) is er ook een klein stukje dat statisch gelinkt wordt, maar dat wordt niet onder de LGPL verspreid maar als public domain code.

MilM

Legacy Member
Over LGPL. (als gebruiker ervan dan)
Ik mag dus gewoon gebruik maken van LGPL-libraries voor een programma zonder te weten wat de klant van plan is met dat programma.

Moet ik iets speciaals vermelden dan als gebruiker van zo'n LGPL library ?
Of mag ik gewoon de library gebruiken (en dus includen in het programma) zonder zelf een speciale vermeldingen toe te voegen (maar die wel door de auteur in de library zelf kan vermeld zijn natuurlijk. Aan die library zouk nie komen).

wlibaers

Legacy Member
MilM zei:
Over LGPL. (als gebruiker ervan dan)
Ik mag dus gewoon gebruik maken van LGPL-libraries voor een programma zonder te weten wat de klant van plan is met dat programma.

Moet ik iets speciaals vermelden dan als gebruiker van zo'n LGPL library ?
Of mag ik gewoon de library gebruiken (en dus includen in het programma) zonder zelf een speciale vermeldingen toe te voegen (maar die wel door de auteur in de library zelf kan vermeld zijn natuurlijk. Aan die library zouk nie komen).

Voor de gebruiker maakt de LGPL weinig uit (de gebruiker hoeft niet akkoord te gaan met de LGPL om de LGPL lib te gebruiken). Diegene die de LGPL lib gaat verspreiden (jij dus) moet de licentie wel respecteren. Een van de voorwaarden is dat je de gebruiker laat weten dat er LGPL materiaal in zit, en dat je de gebruiker een exemplaar van de LGPL geeft (wordt gewoonlijk gewoon op de installatiecd gezet, net zoals bijvoorbeeld een readme bestandje). Je moet ook de broncode van de LGPL lib beschikbaar maken voor de gebruiker (ofwel mee op de CD zetten, ofwel aanbieden om ze te leveren als de gebruiker erom vraagt.

http://www.gnu.org/licenses/lgpl.html

Vich

Legacy Member
wlibaers zei:
Voor de gebruiker maakt de LGPL weinig uit (de gebruiker hoeft niet akkoord te gaan met de LGPL om de LGPL lib te gebruiken). Diegene die de LGPL lib gaat verspreiden (jij dus) moet de licentie wel respecteren. Een van de voorwaarden is dat je de gebruiker laat weten dat er LGPL materiaal in zit, en dat je de gebruiker een exemplaar van de LGPL geeft (wordt gewoonlijk gewoon op de installatiecd gezet, net zoals bijvoorbeeld een readme bestandje). Je moet ook de broncode van de LGPL lib beschikbaar maken voor de gebruiker (ofwel mee op de CD zetten, ofwel aanbieden om ze te leveren als de gebruiker erom vraagt.

http://www.gnu.org/licenses/lgpl.html

Als je een LGPL lib gebruikt zoals SDL, dan moet je toch niet ook nog eens de SDL broncode meegeven(tenzij je ze aangepast hebt)?

wlibaers

Legacy Member
Vich zei:
Als je een LGPL lib gebruikt zoals SDL, dan moet je toch niet ook nog eens de SDL broncode meegeven(tenzij je ze aangepast hebt)?

Toch wel. Zie punt 4 in de licentie (voor verspreiding van uitvoerbare versies van de SDL), en :
http://www.gnu.org/licenses/lgpl.html
(dat is uiteraard alleen wanneer je de SDL mee in je programma stopt, als je gewoon het programma geeft en veronderstelt dat de gebruiker zelf al de SDL heeft is er geen probleem)

Dat is nu ook niet meteen een ramp. Het is maar 2.5 MB. En voor downloadbare programma's kan je ze gewoon apart beschikbaar maken op dezelfde site als de grootte van je downloads klein moet blijven.


Let ook goed op als je de GPL gewoon bent, want de manieren waarop je de broncode beschikbaar kan maken verschillen een beetje van de LGPL.

Vich

Legacy Member
wlibaers zei:
Toch wel. Zie punt 4 in de licentie (voor verspreiding van uitvoerbare versies van de SDL), en :
http://www.gnu.org/licenses/lgpl.html
(dat is uiteraard alleen wanneer je de SDL mee in je programma stopt, als je gewoon het programma geeft en veronderstelt dat de gebruiker zelf al de SDL heeft is er geen probleem)
Ik had het over dynamisch linken, omdat dat hetgene is waar bij LGPL juist een uitzondering maakt zodat je juist niet verplicht bent om het project opensource te maken ;) Daarom kies je voor LGPL als library-gebruiker en de meeste mensen gaan dan ook dynamisch linken met zo'n library.

Dat is nu ook niet meteen een ramp. Het is maar 2.5 MB. En voor downloadbare programma's kan je ze gewoon apart beschikbaar maken op dezelfde site als de grootte van je downloads klein moet blijven.
Nou, ik zou het niet leuk vinden als ik voor elk project dat een SDL library gebruikt(dynamisch linkt) ook nog eens de onveranderde broncode van SDL moet aanbieden! Download traffic is niet gratis en ik heb meerdere projecten lopen die er rechtstreeks of onrechtstreeks gebruik van maken.

wlibaers

Legacy Member
Vich zei:
Ik had het over dynamisch linken, omdat dat hetgene is waar bij LGPL juist een uitzondering maakt zodat je juist niet verplicht bent om het project opensource te maken ;) Daarom kies je voor LGPL als library-gebruiker en de meeste mensen gaan dan ook dynamisch linken met zo'n library.

Je moet het project niet opensource maken, juist.

Nou, ik zou het niet leuk vinden als ik voor elk project dat een SDL library gebruikt(dynamisch linkt) ook nog eens de onveranderde broncode van SDL moet aanbieden! Download traffic is niet gratis en ik heb meerdere projecten lopen die er rechtstreeks of onrechtstreeks gebruik van maken.

Je moet dit niet doen voor een project dat de library dynamisch linkt. Je moet de SDL broncode alleen beschikbaar maken als je de SDL library zelf verspreidt. Je kan veronderstellen dat je gebruikers die al hebben (komt vaak voor bij Linux, waarschijnlijk minder bij Windows of OSX) of hen verwijzen naar de SDL homepage waar ze een gecompileerde versie kunnen halen.

Alleen als je de SDL library zelf bij je programma's stopt (wat dus betekent dat je de SDL zelf verspreidt), dan moet je ook de code beschikbaar maken. En die hoeft dan niet in hetzelfde pakket te zitten, je kan gewoon vanop je downloadpagina de SDL source (dezelfde versie als in je pakketjes) beschikbaar maken als een aparte download. De meesten zullen waarschijnlijk niet de moeite doen om ze binnen te halen.

Vich

Legacy Member
wlibaers zei:
Je moet het project niet opensource maken, juist.



Je moet dit niet doen voor een project dat de library dynamisch linkt. Je moet de SDL broncode alleen beschikbaar maken als je de SDL library zelf verspreidt. Je kan veronderstellen dat je gebruikers die al hebben (komt vaak voor bij Linux, waarschijnlijk minder bij Windows of OSX) of hen verwijzen naar de SDL homepage waar ze een gecompileerde versie kunnen halen.

Alleen als je de SDL library zelf bij je programma's stopt (wat dus betekent dat je de SDL zelf verspreidt), dan moet je ook de code beschikbaar maken. En die hoeft dan niet in hetzelfde pakket te zitten, je kan gewoon vanop je downloadpagina de SDL source (dezelfde versie als in je pakketjes) beschikbaar maken als een aparte download. De meesten zullen waarschijnlijk niet de moeite doen om ze binnen te halen.

Dan is het toch zoals ik het begrepen had van de licensie, thanks. Ik interpreteerde jouw replies anders waardoor ze niet meer strookten met hoe ik dacht dat de licensie in elkaar zat, maar nu weet ik het zeker dat we op een lijn zijn :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan