AGPL – wat u kunt doen en wat u kunt ' t
Geplaatst op februari 12, 2021 door adminAGPL is een vrij nieuwe licentie die bedoeld was om GPL-over-netwerken te gaan. Omdat ik echter geen advocaat ben, en eigenlijk niet de hele licentie heb gelezen, kan ik “niet begrijpen wat u precies vrij kunt doen en wat niet met AGPL.
Mijn onzekerheid wordt gevoed door dit bericht over MongoDB (wat AGPL is) en zelfs meer door de opmerkingen hieronder.
Als we de opmerkingen volgen, blijkt dat je AGPL-bibliotheken kunt gebruiken met uw closed-source, commerciële serversoftware, zolang u de bibliotheek niet wijzigt. Is dat zo? Of moet u uw volledige applicatie distribueren als u een door AGPL gelicentieerde bibliotheek gebruikt?
Het geval met MongoDB is dat het Apache-licentie gebruikt voor de clientcode, wat een andere vraag oproept. Wat gebeurt er als u AGPL-software gebruikt, maar deze implementeert als een andere toepassing dan uw commerciële closed-source? Neem bijvoorbeeld iText – het is een AGPL-bibliotheek:
- als u deze gebruikt en wijzigt, moet u open-source je hele applicatie of je moet alleen de wijzigingen in iText herdistribueren?
- als je het gebruikt en don “t wijzig het, moet je dan je hele applicatie open source maken?
- Als je iText in een andere applicatie verpakt die je start als een apart proces, maar deze vanuit je hoofdapplicatie gebruikt, moet je alles open-source maken, of alleen de wrapper-applicatie? (De wrapper-applicatie is een HTTP-gebaseerde API die pdf-bestanden accepteert en de resultaten van het gebruik van iText als JSON retourneert.) Kan dit worden gebruikt om de AGPL-licentie te omzeilen?
Opmerking: de vraag gaat over AGPLv3
Reacties
- Zie ook dit gerelateerde antwoord: opensource.stackexchange.com/questions/5003/…
Antwoord
De AGPL is gebaseerd op de GPL, niet op de LGPL. Het bevat geen uitzonderingen voor koppelingen, en elk werk dat AGPL-code gebruikt (gekoppeld of anderszins, gewijzigd of niet) moet ook een AGPL-licentie hebben en gedistribueerd zijn.
Het gebruik van afzonderlijke processen kan omzeilen de (A) GPL, maar dit is een troebele grond. Als uw eindtoepassing afhankelijk is van het externe proces, zodat het niet correct zou functioneren zonder het, dan zou het worden overwogen een afgeleid werk van de AGPL-software.
In de meeste gevallen waarin mensen afzonderlijke GPL-applicaties gebruiken in closed source-programmas, bieden ze het GPL-werk aan als een optionele extensie of een alternatieve back-end voor een ander stuk van code etc.
Het (A) GPL-werk kan niet samen met de uiteindelijke applicatie worden gedistribueerd, zelfs niet als een aparte app (bijvoorbeeld door ze in hetzelfde archief of dezelfde repository te plaatsen), hoewel het prima is om instructies te geven over waar u het GPL-werk kunt vinden en hoe u het met uw app kunt gebruiken.
Opmerkingen
- Hoewel wat u zegt waar is, is het enige verschil tussen de GPL en de AGPL zijn de vereiste voor het leveren van code als deze ' s interactief via een netwerk wordt gebruikt. De clausule die dit dekt, stelt echter dat deze alleen van toepassing is op " Gewijzigde versies " van het werk, en " gewijzigde versies " wordt gedefinieerd als elk gebruik dat auteursrecht vereist. Alleen het draaien van de ongewijzigde versie leidt niet tot een " gewijzigde versie ", omdat het auteursrecht alleen betrekking heeft op distributie.
- 1 . " gelinkt of anderszins " is verkeerd. 2. " het zou worden beschouwd als een afgeleid werk " is fout 3. Ik denk dat " In de meeste gevallen is " fout. 4. " Het (A) GPL-werk kan niet naast de uiteindelijke applicatie worden gedistribueerd, zelfs niet als een afzonderlijke app " helemaal verkeerd is, bijv. Debian distribueert materiaal met allerlei verschillende licenties samen, die niet allemaal compatibel zijn met de GPL. Eigen systemen kunnen dit ook doen. Bekijk sectie 3 van deze pagina, beginnend bij " Er zijn vragen gerezen ": ghostscript.com/doc/current/Commprod.htm Lees de rest niet ', het probeert je ertoe te verleiden het te kopen.
- Debian heeft in feite 3 afzonderlijke repositories vanwege licenties.
main
bestaat uit DFSG -compatibele pakketten, die niet afhankelijk zijn van software buiten dit gebied om te werken. Dit zijn de enige pakketten die worden beschouwd als onderdeel van de Debian-distributie .contrib
pakketten bevatten DFSG -compatibele software, maar hebben afhankelijkheden die niet in het algemeen zijn (mogelijk verpakt voor Debian in niet-gratis ).non-free
bevat software die niet voldoet aan de DFSG . - Zoals … wat … dus nu zijn al die Android-telefoons met hun Linux-kernels illegaal …
- Er is geen vereiste om de bron van software die afhankelijk is van AGPL-code openbaar te verspreiden. Er is alleen een vereiste om het te distribueren naar gebruikers van de software, wat de AGPL iets anders definieert dan de GPL.
Antwoord
AGPL is hetzelfde als GPL; daarom als uw app AGPL-code gebruikt, moet deze een AGPL-licentie hebben.
Wat AGPL bovenop GPL doet, is de herdefinitie van de gebruiker. Voor GPL-programmas die op uw server draaien, bent u de gebruiker, voor AGPL zijn de echte gebruikers van de app de gebruikers van uw website of dienst. Daarom verspreidt u de app als iemand anders dan u deze gebruikt. En dat impliceert natuurlijk alle standaard GPL-vereisten.
Wat Mongo betreft, ga ik ervan uit dat apps die het gebruiken zijn code niet gebruiken, alleen een bepaalde API, die geen AGPL-licentie heeft.
Reacties
- in het algemeen gebruik ik ' ook niet de code van iText – ik ' m met behulp van zijn API, wat een binaire Java API is in plaats van een JSON API in het geval van Mongo.
- @Bozho En onder welke licentie is die API?
- @Bozho Mongo DB-stuurprogrammas zijn allemaal gelicentieerd onder een Apache-licentie (ik ' verwijs naar de website die u heeft gelinkt).
- nou, dat ' s dodgy – wat bedoelen we met een API en wat een API-client. Kun je trouwens de drie bovenstaande vragen beantwoorden?
- Het lijdt geen twijfel dat een werk dat AGPL ' d-code gebruikt, is gelicentieerd onder de AGPL (behalve voor GPLv3 code die specifiek is toegestaan om te vermengen zonder dat de AGPL-voorwaarden van toepassing zijn op de GPLv3-code). Het probleem zit in de definitie van het netwerkgebruik, die alleen verwijst naar " Gewijzigde versies ", en de definitie van " Gewijzigde versies " in de definities betekent dat het alleen van toepassing is op iets dat auteursrecht vereist (dwz distributie). Dus het ' is nog steeds nogal duister.
Geef een reactie