AGPL – hva du kan gjøre og hva du kan ' t
On februar 12, 2021 by adminAGPL er en ganske ny lisens som var ment å gå GPL-over-nettverk. Men ikke å være advokat, og faktisk ikke å ha lest hele lisensen, kan jeg ikke forstå hva du kan gjøre fritt og hva ikke med AGPL.
Min usikkerhet blir matet av dette innlegget om MongoDB (som er AGPL) og enda mer av kommentarene nedenfor.
Hvis vi følger kommentarene, viser det seg at du kan bruke AGPL-biblioteker med programvaren med lukket kildekode, kommersiell server, så lenge du ikke endrer biblioteket. Er det tilfelle? Eller må du distribuere hele applikasjonen når du bruker et AGPL-lisensiert bibliotek?
Saken med MongoDB er at den bruker Apache-lisens for klientkoden, som stiller et annet spørsmål. Hva skjer hvis du bruker AGPL-programvare, men distribuerer den som et annet program enn det kommersielle programmet med lukket kilde? Ta for eksempel iText – det er et AGPL-bibliotek:
- Hvis du bruker det og endrer det, må du åpen kildekode for hele applikasjonen din, eller du må bare distribuere endringene i iText?
- hvis du bruker den og don «t endre det, må du åpen kildekode for hele applikasjonen?
- Hvis du pakker iText i et annet program som du starter som en egen prosess, men bruker det fra hovedprogrammet ditt, skal du åpne kildekode alt, eller bare wrapper-applikasjonen? (wrapper-applikasjonen vil være HTTP-basert API som tar pdf-filer og vil returnere resultatene av å bruke iText som JSON). Kan dette brukes til å omgå AGPL-lisensen?
Merk: Spørsmålet handler om AGPLv3
Kommentarer
- Se også dette relaterte svaret: opensource.stackexchange.com/questions/5003/…
Svar
AGPL er basert på GPL, ikke LGPL. Den inneholder ikke unntak for kobling, og alt arbeid som bruker AGPL-kode (koblet eller på annen måte, modifisert eller ikke) må også være AGPL lisensiert og distribuert.
Ved å bruke separate prosesser kan omgå (A) GPL, men dette er grumsete bakke. Hvis sluttapplikasjonen avhenger av på den eksterne prosessen, slik at den ikke fungerer ordentlig uten den, vil det bli vurdert et avledet verk av AGPL-programvaren.
I de fleste tilfeller der folk bruker separate GPL-applikasjoner i lukkede kildeprogrammer, gir de GPL-arbeidet som en valgfri utvidelse, eller en alternativ back-end til noe annet stykke kode osv.
(A) GPL-arbeidet kan ikke distribueres ved siden av den endelige applikasjonen, selv ikke som en separat app (for eksempel å sette dem i samme arkiv eller arkiv), selv om det er greit å gi instruksjoner om hvor du finner GPL-arbeidet og hvordan du bruker det med appen din.
Kommentarer
- Selv om det du sier er sant, er den eneste forskjellen mellom GPL og AGPL er kravet for å levere kode hvis den ' brukes interaktivt over et nettverk. Klausulen som dekker dette, sier imidlertid at den bare gjelder " Endrede versjoner " av verket, og " modifiserte versjoner " er definert som enhver bruk som krever opphavsrett. Bare å kjøre den umodifiserte versjonen skaper ikke en " endret versjon ", fordi copyright bare dekker distribusjon.
- 1 . " koblet eller på annen måte " er feil. 2. " det ville bli betraktet som et avledet verk " er feil 3. Jeg tror " I de fleste tilfeller er " feil. 4. " (A) GPL-arbeidet kan ikke distribueres ved siden av den endelige applikasjonen, selv om en egen app " er helt feil, f.eks. Debian distribuerer ting med alle slags lisenser sammen, ikke alle som er kompatible med GPL. Proprietære systemer kan også gjøre dette. Ta en titt på seksjon 3 på denne siden, fra " Spørsmål har oppstått ": ghostscript.com/doc/current/Commprod.htm Ikke les ' for ikke å lese resten, den prøver å lure deg til å kjøpe den.
- Debian har faktisk 3 separate depoter på grunn av lisensiering.
main
består av DFSG -kompatible pakker, som ikke er avhengige av programvare utenfor dette området for å fungere. Dette er de eneste pakkene som anses som en del av Debian-distribusjonen .contrib
-pakker inneholder DFSG -kompatibel programvare, men har avhengigheter ikke i hovedsak (muligens pakket for Debian i ikke-gratis ).non-free
inneholder programvare som ikke overholder DFSG . - Som … wat … så nå er alle Android-telefonene med Linux-kjernene ulovlige …
- Det er ikke noe krav å offentlig distribuere kilden til programvaren som avhenger av AGPL-koden. Det er bare et krav å distribuere det til brukere av programvaren, som AGPL definerer litt annerledes enn GPL.
Svar
AGPL er det samme som GPL; Derfor, hvis appen din bruker AGPL-kode, må den være AGPL-lisensiert.
Det AGPL gjør på toppen av GPL er omdefinering av brukeren. For GPL-programmer som kjører på serveren din, er du brukeren, for AGPL er de virkelige brukerne av appen brukerne av nettstedet eller tjenesten din. Derfor distribuerer du appen hvis noen andre enn deg bruker den. Og det innebærer selvfølgelig alle de vanlige GPL-kravene.
Når det gjelder Mongo, antar jeg at apper som bruker den ikke bruker koden, bare noen API, som ikke er AGPL-lisensiert.
Kommentarer
- generelt sett bruker jeg ' ikke koden til iText heller – Jeg ' m bruker API-en, som er binær Java-API i stedet for en JSON API i tilfelle Mongo.
- @Bozho Og under hvilken lisens er API-en?
- @Bozho Mongo DB-drivere er alle lisensiert under en Apache-lisens (jeg ' m siterer nettstedet du koblet til).
- vel, det ' s dodgy – hva gjør vi en API og hvilken API-klient. Btw kan du svare på de tre punktoppgavene ovenfor?
- Det er ingen tvil om at et verk som bruker AGPL ' d-koden er lisensiert under AGPL (bortsett fra GPLv3 kode som er spesifikt tillatt å blande seg uten at AGPL-vilkårene gjelder for GPLv3-koden). Problemet kommer i definisjonen av nettverksbruk, som kun refererer til " Modifiserte versjoner ", og definisjonen av " Modifiserte versjoner " i definisjonene betyr at det bare gjelder noe som krever opphavsrett (dvs. distribusjon). Så det er ' fortsatt skummelt.
Legg igjen en kommentar