Op de eerste plaats is de GPL een
open source licentie. Dat betekent dus dat de licentie slaat op het gebruik van de broncode. Als jij een binary gratis aanbiedt zonder de broncode, dan heeft een open source licentie dus geen enkele zin. Binaries zonder openbare code is per definitie dus niet open source en een open source licentie heeft dan geen enkele betekenis.
Hoe zit dit dan bij een shared library. Om een shared library te kunnen gebruiken moet je iets weten over de broncode van de shared library. De header van de shared library moet openbaar zijn. Er is hier dus sprake van een zekere mate van open source. Als je shared library header onder GPLv2 valt, dan moet de rest van de code ook onder GPLv2 vallen (of v3) want GPL code mag alleen gebruikt worden in andere GPL code. Je mag wel je header aanbieden als MPL en je andere broncode als GPL, maar niet andersom. In het geval van een GPL header, dan moet de rest van de broncode ook openbaar gemaakt worden. Dus van de hele library. Alle programma's die de GPL shared library gebruiken moeten vervolgens ook weer GPL zijn met dezelfde eisen van GPL. De broncode van het programma die de library gebruikt moet ook volledig openbaar zijn.
Dus het is eigenlijk zo simpel als. Gebruik je GPL code, dan moet de rest ook GPL of GPL compatible zijn. De Apache, BSD, MPL enz. zijn allemaal GPL compatible, maar niet andersom.
Wat je hier zegt klopt niet. Als ik je GPL programma compileer en verkoop dan hoef ik verder niks met de broncode te doen. De broncode is namelijk in de originele vorm die ik ook heb gebruikt al beschikbaar. Alleen als ik aanpassingen aan de code doe, dan moet dat ergens openbaar zijn en dus ook wanneer ik je code gebruik in mijn eigen software.
The purpose of the General Public License version 2 is to allow third-party developers to be able to reproduce the software from source code. To that end, when you distribute binary software licensed under GPLv2, the license obliges you to reveal what source code was used to produce that binary.
https://www.kernel.org/doc/pending/gplv2-howto.htmlDe interessante vraag is hier, wat gebeurt er als jij de broncode offline haalt, wat natuurlijk mag. De verkoper van de software hoeft zelf de broncode niet te openbaren want dat was die in de originele vorm al. Maar wat als jij de code offline haalt, dan is de originele broncode niet meer openbaar. Dan moet de verkoper zelf de code openbaar maken, of een andere bron vinden die in dezelfde vorm de code openbaar heeft staan als dat de verkoper heeft gebruikt om het programma te compileren.
Dit is inderdaad illegaal. Alleen niet omdat jij auteursrecht hebt. Je kan prima broncode aanbieden met een copyright notice waarin je anderen toestaat te doen met de broncode wat ze willen. Als jij toestaat dat ze copyright weghalen, dan kan dat. Alleen eisen alle open source licenties dat je de originele headers in tact laat of eventueel aanvult met je eigen naam als je aanpassingen hebt gedaan.
Nee, dat hoeft niet. Je hoeft de broncode niet te krijgen, omdat je een binary gebruikt. Zoals eerder gezegd. GPL zegt iets over de broncode van een product, niet over het product zelf. Dat ze vrijwel altijd precies dezelfde implicatie hebben is een ander verhaal. Je moet de broncode van je eigen product alleen vrijgeven als je voor je Citrix omgeving een koppeling hebt gemaakt
linken met een GPL product of wanneer je het product hebt moeten aanpassen.
Het enige wat je hoeft te doen is duidelijk maken welke broncode je hebt gebruikt voor het maken van je product. Als dat door iemand anders online is gezet, dan kan je prima vermelden dat je die code hebt gebruikt zonder het zelf opnieuw online te hoeven zetten.
If someone asks "does your project use Linux", it isn't sufficient just to reply "yes". The minimum sufficient answer includes the version number, whether or not it was modified, and where we can get it from. I.E. something like:
"We used Linux 2.6.22.4, from
www.kernel.org, and we didn't modify it."
Nope. Als jij GPL assets gebruikt dan is dat net als bij libraries. Bij gebruik van GPL open source assets moet ook de rest van het product open source zijn. Bij de LGPL hoeft dat niet. De enige uitzondering hierop is wanneer de gebruiker zelf de asset in zijn persoonlijke gebruik van het programma laad. Dus iemand gebruik je spel, download een GPL add-on en kiest er in zijn persoonlijke sfeer om hem te laden. Dan hoef jij niks te doen. Als die add-on echter een expliciet onderdeel van je spel uitmaakt, dan moet de rest van je spel ook GPL zijn.
Dus samenvattend:
1. Je hebt standaard auteursrecht. Die kan je niet verliezen, wel overdragen.
2. Als je GPL code gebruikt in je eigen software, dan moet je software ook GPL zijn.
3. Als je GPL software verspreidt, dan moet de originele broncode gebruikt voor verspreiding ook openbaar zijn. Of de verkoper dus een github repository heeft of gewoon verwijst naar de oorspronkelijke repository maakt dus niet uit.
4. Als er een open source licentie wordt gebruikt (met uitzonderingen van persoonlijke half-fabricate licenties) dan moet het auteursrecht in eren gehouden worden.
5. Zonder expliciete licentie mag iemand niks met open source doen. Broncode kan openbaar zijn, maar zonder licentie mag je er alleen naar kijken of in de persoonlijke sfeer gebruiken.
6. Als je een licentie wilt veranderen, dan moeten alle auteurs van je GPL project daarmee instemmen (want ze houden hun auteursrecht). Dus stel iemand maakt een MPL module voor je GPL software, dan mag je alleen de licentie van die MPL module aanpassen als de originele auteur(s) daarmee instemmen.
...
Bron?