Incus-project getroffen door LXD's overstap naar AGPLv3-licentie
Incus, een fork van LXD die werd beïnvloed door de licentiewijziging van Canonical, stopt met het opnemen van wijzigingen van LXD om problemen met gemengde licenties te voorkomen.
Het Incus-project, een fork van de LXD-container- en virtuele machinemanager, verscheen dit jaar in augustus als reactie op de overname van LXD door Canonical. Naast nieuwe functies introduceerde de nieuwste LXD 5.20-release ook een belangrijke overgang: het schakelde over van de bestaande Apache2-licentie naar AGPLv3.
Canonical heeft besloten de standaardbijdragen aan het LXD-project te wijzigen naar AGPLv3 om in lijn te zijn met onze standaardlicentie voor server-side code. Alle bijdragen van Canonical zijn opnieuw gelicentieerd en vallen nu onder AGPLv3. Voortaan zullen alle bijdragen aan LXD standaard onder AGPLv3 worden gedaan.
Deze stap brengt echter aanzienlijke uitdagingen met zich mee voor het Incus-project. Maar voordat we verder gaan, is het, aangezien het beide open-source licenties zijn, essentieel om hun belangrijkste verschillen voor ons publiek te verduidelijken.
De AGPLv3 is een sterke copyleft-licentie. Als je een programma aanpast en vervolgens verspreidt of een aangepaste versie op een server draait, moet je de volledige broncode vrijgeven onder de AGPLv3. Dit is bedoeld om ervoor te zorgen dat alle gebruikers kunnen profiteren van aanpassingen, zelfs wanneer de software als een dienst via een netwerk wordt uitgevoerd.
Tegelijkertijd is Apache2 een permissievere open-source licentie omdat je de gelicentieerde software kunt gebruiken, aanpassen en verspreiden zonder de verplichting om je aanpassingen onder dezelfde licentie vrij te geven. Daarom wordt het vaak gekozen vanwege de mogelijkheid om het te integreren in zowel propriëtaire als open-source projecten zonder de strikte copyleft-vereisten.
Impact van het herziene LXD-licentiebeleid
De verschuiving in het licentiebeleid van LXD van Apache2 naar AGPLv3 voor de eindgebruiker heeft weinig tot geen impact. De software blijft open-source en vrij beschikbaar voor iedereen. Dit geldt echter niet als je software ontwikkelt en verspreidt die LXD opneemt voor anderen.
Zoals we al hebben vermeld, heeft de AGPLv3-licentie strengere vereisten in vergelijking met Apache2, vooral wat betreft het delen van wijzigingen en afgeleide werken. Bedrijven en ontwikkelaars die niet bereid zijn zich aan deze vereisten te houden, moeten mogelijk heroverwegen om LXD te gebruiken of op zoek gaan naar alternatieven.
Tegelijkertijd roept de overstap van LXD naar AGPLv3 verschillende onzekerheden op over de toekomst van het Incus-project. Vooral lijkt de eerdere samenwerking en wederzijdse bijdragen tussen LXD en Incus voorbij te zijn.
Incus is van plan zich strikt te houden aan het huidige licentiebeleid dat vertrouwt op Apache2, waardoor het vrijwel onmogelijk wordt om sourcecode te gebruiken van een project dat beschermd is en gelicentieerd onder AGPLv3.
Aan de andere kant kan het LXD-project niet blijven vertrouwen op oplossingen die door Incus worden aangebracht, aangezien de mix van verschillende licentiebeleid aanzienlijke juridische uitdagingen met zich meebrengt. Als gevolg daarvan zullen de verschillen en incompatibiliteiten tussen de twee projecten vanaf nu alleen maar groter worden.
Last but not least, het introduceren van de Canonical CLA (Contributor License Agreement) voegt nog een extra laag complexiteit toe aan het bijdragen aan het LXD-project. Bijdragers moeten nu akkoord gaan met de voorwaarden van deze CLA, die doorgaans bepalingen bevatten die de projectbeheerder bepaalde rechten op de bijgedragen code geven.
Over het algemeen zijn de omstandigheden complex en zonder een duidelijke oplossing. Sommigen zien het als een opzettelijke zet van Canonical tegen het Incus-project; de wijziging in het licentiebeleid van LXD was dan ook verrassend en onverwacht. We zullen daarom nauwlettend volgen hoe deze situatie zich ontwikkelt.
