[ Services ] [ Documentatie ] [ Gemeenschap ] [ Over ons ] [ Contact ]
Deze FAQ bevat informatie over de vereisten en de beste handelswijze voor het verdelen van de overeenkomende broncode van onder de GPL verdeelde code. Deze FAQ werd samengesteld aan de hand van veel tekortkomingen en misverstanden die we tegenkwamen in meer dan 60, succesvol bestreden, inbreuken tegen de GPL.
Wij raden u aan om deze FAQ door te nemen voordat u, zoals vereist door de GPL, broncode verdeelt.
Dit is geen juridisch advies. Als je twijfelt, raadpleeg een juridisch adviseur.
Als je uitvoerbare code verdeelt van software onder de GNU GPL, moet je ook de 'volledig overeenkomende broncode' beschikbaar maken. De licentie definieert het als volgt: "The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable."
Dit is een vrij duidelijke definitie. Voor een klassiek C programma, omvat dat alle broncodes (.c files), alle header files (.h files) plus de scripts die nodig zijn om het programma te compileren en te installeren.
Je moet steeds in je achterhoofd houden dat het de bedoeling is van de GPL om een gebruiker in staat te stellen zijn vrijheden te gebruiken. Eén van deze vrijheden is de mogelijkheid een aangepaste versie van een programma te kunnen maken en gebruiken.
Elk gesofisticeerd programma wordt normaal gezien opgesplitst in verschillen files met broncode. Tijdens het compilatieproces wordt elke van deze files omgezet in uitvoerbare codes, waarna die worden samengevoegd (gelinkt). Het proces van compileren en linken, wordt meestal gecontroleerd door scripts. Hiervoor gebruikt men vaak het "make" programma, de scripts die dit programma gebruikt worden vaak "Makefiles" genoemd.
Er zijn ook programma's zoals de Linux kernel, die bestanden hebben die tijdens de compilatie gebruikt worden (zoals de .config file). Deze bestanden bepalen mee het compilatieproces en moeten dus ook meegeleverd worden.
Nadat software omgezet is naar uitvoerbare code, kan het nodig zijn om het programma te installeren op het systeem. Dit proces wordt vaak geautomatiseerd door gebruik te maken van een installatiescript. Het zijn zulke scripts waar de GPL naar verwijst.
Voor toestellen met ingebouwde software vraagt dit zeker extra aandacht, aangezien de software geïnstalleerd moet kunnen worden in het apparaat. Als de gebruiker geen mogelijkheid heeft om zijn eigen (aangepaste) versie van het programma te installeren, wordt hem de vrijheid ontzegt om zijn eigen aangepaste versie te gebruiken.
De GPL stelt: "However, as a special exception, the source code 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."
Het is altijd een goed idee om ook de programma's die je gebruikte voor de compilatie mee te leveren, er kunnen zaken bij zitten die niet standaard meegeleverd worden bij het besturingssysteem waarop uw programma gebruikt zal worden. Het kan ook een motivatie zijn voor anderen om mee te werken aan uw programma.
Voor elke uitgebrachte uitvoerbare versie van een programma, moet u ook de overeenkomende versie van de broncode verdelen.
Dus als u tien verschillende softwareversies voor een toestel hebt verdeeld, en die software bevat delen onder de GPL, dan moet u ook tien verschillende pakketten met broncode verdelen, één pakket voor elk afzonderlijk uitvoerbaar bestand.
Als u kiest voor de GPL optie 3b (in plaats van 3a), dan geldt deze verplichting slechts voor drie jaar. Dit betekent dat u de broncode voor een uitvoerbaar bestand niet moet bijvoegen als deze code meer dan drie jaar geleden voor het laatst verdeeld werd.
Denk eraan dat zowel verdelen op fysieke dragers als verdelen via data-netwerken, zoals het internet, in de GPL licentie beschreven zijn.
Als je de broncode van één bepaald softwarepakket neemt, en je slaagt erin om daarmee het uitvoerbaar bestand te maken, dan lijkt de broncode wel volledig.
Als dit proces mislukt, of je uitvoerbaar bestand blijkt niet te werken, of je slaagt er niet in het uitvoerbaar bestand te installeren, dan ontbreekt er iets.
Copyright (c) 2004-2006 The gpl-violations.org webmaster
Copyright (c) 2006- 2007 FSFE e.V.