4. Taler licentie-informatie#

Dit bestand geeft een overzicht van alle licenties van Taler componenten en de runtime afhankelijkheden daarvan. Een “component” moet in deze context worden gelezen als een verzameling bronbestanden die kunnen worden opgehaald uit een enkele Git repository. Als componenten bestaan uit bronnen onder verschillende licentieregimes, bijvoorbeeld omdat we ontwikkelingen van derden gemakkelijk willen laten integreren met Taler, dan worden die ook beschreven.

Alle componenten worden over het algemeen uitgebracht onder Lesser GPL, GPL of Affero GPL. De belangrijkste strategie is dat bibliotheken die derden nodig hebben om te integreren met Taler onder LGPL vallen, standalone binaries en testcases onder GPL en webservers die webservices en REST API’s implementeren onder AGPL. Triviale code (zoals build logica) wordt soms ook gewoon in het publieke domein gezet. Wetgevingen die geen publiek domein hebben, zouden die code onder de LGPL moeten plaatsen.

Het project is in eerste instantie gestart op basis van code en documentatie van GNUnet e.V. en INRIA, en wordt verder ontwikkeld door de GNUnet gemeenschap en Taler Systems SA. INRIA en GNUnet e.V. hebben beide hun auteursrechten toegewezen of gedeeld met Taler Systems SA. Over het algemeen kan dus worden gezegd dat de code onder het auteursrecht van Taler Systems SA valt.

We werken ook nauw samen met het GNU Anastasis pakket. Hier is hetzelfde copyright gedeeld tussen de originele ontwikkelaars van BFH en GNUnet e.V., behalve dat het copyright is toegewezen of gedeeld met Anastasis SARL. Er zijn overeenkomsten die ontwikkelaars toestaan om vrijelijk code te verplaatsen tussen GNU Anastasis, GNUnet en GNU Taler als dit technisch gerechtvaardigd is (merk op dat alle ontwikkelaars de GNUnet e.V. copyright contributor agreement moeten ondertekenen).

Merk op dat dit bestand verouderd kan zijn. Als je twijfelt, neem dan contact op met de betrokken GNU maintainers (momenteel Florian Dold, Christian Grothoff en Martin Schanzenbach) aangezien zij over het algemeen de verantwoordelijkheid en het recht hebben om de juiste licentie voor individuele componenten te bepalen. (Dat recht wordt technisch verleend en beperkt door de copyright overeenkomsten getekend door individuele bijdragers en mogelijk onderworpen aan besluitvormingsprocessen binnen Anastasis SARL, GNUnet e.V. en Taler Systems SA. In de praktijk is dit tot nu toe echter nooit een probleem geweest omdat tot nu toe iedereen het eens is over de licentiestrategie en de beheerders slechts kleine aanpassingen maken om die strategie consistent te implementeren als er problemen ontstaan, zoals code die verhuist tussen componenten met LGPL, GPL en AGPL licentie of ontwikkelaars die per ongeluk de verkeerde licentie gebruiken in een header).

4.1. Volgens de AGPL#

Het belangrijkste doel van de AGPL is om een dienstverlener te verplichten om de broncode van de dienst gemakkelijk toegankelijk te maken voor alle gebruikers van die dienst.

Voor GNUnet, GNU Taler en GNU Anastasis realiseren we deze eis door een /agpl/ eindpunt te implementeren dat gebruikers van de API leidt naar de broncode (ofwel een TGZ of een redirect naar de Git repository) van de component en zijn afhankelijkheden (we geloven dat het acceptabel is om geen ongewijzigde afhankelijkheden op te nemen die elders al eenvoudig beschikbaar en vindbaar zijn). De broncode (zoals gedefinieerd in de GPL) moet dan gratis en zonder toegangscontrole te downloaden zijn vanaf dat adres in een vorm die geschikt is voor ontwikkeling (dat wil zeggen, inclusief buildsysteem en instructies). Alle gebruikelijke beperkingen van het verspreiden van code onder de GPL zijn ook van toepassing.

Wanneer je broncode gebruikt die is gewijzigd ten opzichte van de upstream versies die zijn uitgebracht door GNU, moet je dus het /agpl/ eindpunt bijwerken om te verwijzen naar de gewijzigde broncode. Merk op dat je altijd de code van de daadwerkelijk uitgebrachte versie beschikbaar moet stellen, inclusief aanpassingen, uitbreidingen, integraties, beveiligingsverbeteringen of bugfixes.

4.2. De GPL volgen#

De GPL vereist dat je de broncode van het betreffende programma beschikbaar stelt aan alle gebruikers die het programma draaien. Dit omvat opnieuw alle aanpassingen (branding, thematisering, extensies, integraties of veiligheidsverbeteringen of bugfixes) die je mogelijk hebt gemaakt. De broncode voor het aangepaste programma moet opnieuw worden vrijgegeven onder de GPL en moet redelijk gemakkelijk gratis te vinden zijn voor alle gebruikers van je programma.

Als je binaries van ongewijzigde versies van de GNU uitgaven uitbrengt, wordt hieraan voldaan omdat GNU de broncode beschikbaar stelt via zowel de Git repositories van het project als de FTP mirrors van het GNU project. Je bent nog steeds verplicht om alle packaging logica die je geschreven hebt om de binaries te maken beschikbaar te maken voor anderen.

4.3. De LGPL volgen#

Om de LGPL te volgen, doe je in principe alles wat je moet doen onder de GPL als het gaat om de bronnen die je hebt gekregen.

Het is echter wel toegestaan om de code die onder de LGPL wordt geleverd te integreren met andere code die niet onder de LGPLv3+ valt. Aanpassingen aan onze bestaande code moeten echter onder de LGPLv3+ blijven en we moedigen u sterk aan om al uw code onder een geschikte FLOSS-licentie uit te brengen.

4.4. Handleidingen (git://git.taler.net/tutorials)#

De specificatie is oorspronkelijk ontwikkeld door INRIA en door individuen die onder de rechtspersoon ‘GNUnet e.V.’ vallen. Voor elk bronbestand is in de header aangegeven van wie het auteursrecht is, aangezien sommige delen “woordelijk” zijn overgenomen van de GNUnet e.V. foundation, en andere zijn ontwikkeld bij INRIA of Taler Systems SA “ex novo”.

Over het algemeen wordt hiervoor de GNU GPLv3 licentie gebruikt; zie COPYING.GPL.