Ga naar hoofdinhoud

Navigeren door Anaconda-licentiewijzigingen: dit moet je weten

Begrijp de impact van recente licentiewijzigingen van Anaconda en wat ze voor jouw organisatie betekenen. Leer hoe je met de nieuwe voorwaarden omgaat en ontdek praktische stappen om je data science-workflows te behouden.
Thalia Barrera
Thalia Barrera

Maak je gratis account aan

Oefen en volg je voortgang.

Ga verder met GoogleDoor verder te gaan, accepteer je ons Gebruiksvoorwaarden, onze Privacybeleid en dat je gegevens in de VS worden opgeslagen.

Anaconda is een kerntool voor data science-teams en biedt een platform voor het beheren van omgevingen en pakketten. Recente wijzigingen in de licentievoorwaarden hebben er echter voor gezorgd dat veel bedrijven, met name die zich zorgen maken over kosten en compliance, hun gebruik van het platform heroverwegen.

In dit artikel leg ik uit wat deze wijzigingen betekenen voor datateams, hoe je beoordeelt of migreren de beste (of überhaupt noodzakelijke) beslissing is, en geef ik praktische stappen voor de overstap naar alternatieven.

Aan het einde van dit artikel begrijp je de licentie-updates beter en weet je hoe je er effectief mee omgaat. Laten we beginnen!

De licentiewijzigingen van Anaconda begrijpen

Anaconda’s licentiewijzigingen in 2024 hebben voor onrust gezorgd, vooral in sectoren zoals onderwijs, onderzoek en non-profit, die erop vertrouwden dat het platform kosteloos beschikbaar was.

Daar komt bij dat er vaak onduidelijkheid is over wat wel en niet gratis is bij het gebruik van conda, de pakketmanager, versus de kanalen en distributies die door Anaconda worden geleverd.

Als je nog steeds in de war bent, geen zorgen; ik leg de wijzigingen in deze sectie uit en hopelijk wordt duidelijk of dit voor jou relevant is.

Dus, wat is er veranderd?

De kern van de wijzigingen ligt in Anaconda’s definitie van "Organizational Use". Volgens de nieuwe licentievoorwaarden moet elke organisatie met 200 of meer werknemers of opdrachtnemers nu een betaalde licentie aanschaffen om de software van Anaconda te gebruiken.

De licentievoorwaarden verduidelijken met name dat de drempel van 200 werknemers niet alleen geldt voor commerciële bedrijven, maar ook voor overheidsinstanties en non-profitorganisaties.

Dit is een verschuiving ten opzichte van eerdere beleidsregels die universiteiten, onderzoeksinstellingen en andere non-profits toestonden Anaconda kosteloos te gebruiken (of in elk geval was dat de veronderstelling). Momenteel moeten deze organisaties licenties verkrijgen als ze de limiet van 200 werknemers overschrijden.

Onderwijsinstellingen zijn nog steeds vrijgesteld van deze verplichting, maar hun gebruik moet beperkt zijn tot "curriculum-based courses". Anaconda behoudt zich het recht voor te monitoren en te waarborgen dat de software strikt voor onderwijsdoeleinden wordt gebruikt.

Dat is echter niet het hele verhaal. Het is de moeite waard om uiteen te zetten wat precies wel en niet gratis te gebruiken is binnen het Anaconda-ecosysteem.

Conda: de gratis en open-source tool

Om te beginnen is het belangrijk te verduidelijken dat conda, de software voor pakket- en omgevingsbeheer, gratis en open-source blijft. Iedereen kan conda gebruiken om omgevingen te maken, beheren en installeren zonder licentiezorgen. Dat is altijd zo geweest en blijft zo. 

Conda-compatibele pakketten—de pakketten die je met conda installeert via communitykanalen zoals conda-forge—zijn ook gratis te gebruiken.

Conda vs. Anaconda Distribution en defaults-kanaal

Hoewel conda gratis is, gelden er andere licentieregels voor het defaults-kanaal—waar Anaconda specifieke pakketten opslaat en curateert. 

Het defaults-kanaal maakt deel uit van de Anaconda Distribution, een verzameling data science- en AI-pakketten die gecureerd, gebouwd en onderhouden wordt door de engineers van Anaconda. Deze distributie, samen met het defaults-kanaal, legt de nadruk op beveiliging, stabiliteit en naleving van regelgeving, wat belangrijk is voor bedrijven die met gevoelige data werken of actief zijn in sterk gereguleerde sectoren.

Het defaults-kanaal bestaat uit drie afzonderlijke kanalen: pkg/main, pkgs/r en pkg/msys2, volgens de FAQ-sectie in de pakkettenrepository van Anaconda. Deze kanalen worden automatisch geconfigureerd in je .condarc-configuratiebestand wanneer je Anaconda Distribution of Miniconda installeert.

De updates van de servicevoorwaarden gelden alleen voor het defaults-kanaal en de Anaconda Distribution. Volgens deze voorwaarden:

  • Bedrijven met minder dan 200 werknemers kunnen Anaconda Distribution en het defaults-kanaal gratis blijven gebruiken.
  • Bedrijven met 200 of meer werknemers moeten een betaalde licentie aanschaffen om toegang te krijgen tot het defaults-kanaal of Anaconda Distribution te gebruiken.
  • Studenten en onderwijsinstellingen zijn hiervan vrijgesteld en kunnen de software gratis gebruiken, mits het gaat om curriculumgebonden cursussen.

Afbeelding van Anaconda Navigator, een desktop-GUI die is inbegrepen in Anaconda Distribution

Anaconda Navigator, een desktop-GUI die is inbegrepen in Anaconda Distribution. Beeldbron: Anaconda.

Voor velen betekent deze verandering dat wat eerder als gratis werd beschouwd nu onderhevig is aan licentiekosten op basis van het aantal werknemers. Anderen, die misschien alleen conda gebruiken, halen nu opgelucht adem. 

En wat met Miniconda?

Als je op zoek bent naar een lichtgewicht alternatief voor Anaconda Distribution, is Miniconda een uitstekende optie. Het bevat alleen de kern van de conda-pakketmanager en Python, de pakketten waar beide van afhankelijk zijn, en een klein aantal andere nuttige pakketten.

Met Miniconda installeer en beheer je alleen de pakketten die je nodig hebt, waardoor het een meer aanpasbare en flexibele optie is voor wie niet het volledige pakketaanbod van Anaconda nodig heeft. 

Belangrijk: Miniconda is gratis en valt niet onder de licentievoorwaarden van Anaconda zolang je het defaults-kanaal vermijdt en bij communitygedreven repositories blijft.

Maar waarom is het defaults-kanaal betaald?

Het defaults-kanaal van Anaconda is niet zomaar een willekeurige verzameling pakketten; het wordt gecureerd en beveiligd door de engineers van Anaconda, waardoor het stabieler en veiliger is dan communitykanalen zoals conda-forge. Deze extra beveiligingslaag is belangrijk voor sectoren die veel vertrouwen in hun software vereisen, zoals financiën, gezondheidszorg en overheid.

De cursus Introduction to Data Security leert je meer over het veilig houden van data. Het is een waardevolle bron, zeker als je werkt in de bovengenoemde sectoren.

Hoewel communitykanalen zoals conda-forge een enorme selectie pakketten bieden, zijn ze afhankelijk van bijdragen uit de community en best-effort beveiligingspraktijken. Deze kanalen zijn uitstekend voor onderzoek, ontwikkeling en niet-kritieke omgevingen. 

Afbeelding met een screenshot van de hoofdpagina van conda-forge

Beeldbron: conda-forge

Toch kan voor bedrijven die met gevoelige data werken de extra beveiliging en het onderhoud van Anaconda’s defaults-kanaal de kosten rechtvaardigen.

Kort samengevat:

  • Conda, de pakketmanager, is gratis, open-source en beschikbaar voor iedereen.
  • Conda-compatibele pakketten van openbare kanalen zoals conda-forge zijn ook voor iedereen gratis te gebruiken.
  • Het defaults-kanaal en de Anaconda Distribution zijn gratis te gebruiken als:
    • je organisatie minder dan 200 werknemers heeft, of
    • je organisatie in aanmerking komt voor een vrijstelling (bijv. studenten of onderwijsinstellingen die de software gebruiken in curriculumgebonden cursussen).
  • Organisaties met 200 of meer werknemers moeten licenties aanschaffen om het defaults-kanaal en Anaconda Distribution te gebruiken, tenzij ze onder een vrijstelling vallen.

Nu we de situatie hebben verduidelijkt: overweeg je nog steeds om van Anaconda weg te gaan? Lees dan vooral verder!

Evalueren of je Anaconda moet verlaten

Je kunt om verschillende redenen overwegen om van Anaconda af te stappen: vanwege de hierboven uitgelegde licentie- (en kosten)zorgen of omdat je een lichtere optie zoekt.

Als dat voor jou geldt, is hier een kader om te evalueren of overstappen van Anaconda haalbaar is. 

De cursus Data Science for Business helpt je om de data science-workflow vanuit een hoog-overperspectief beter te begrijpen, wat nuttig is als je als manager dit soort beslissingen overweegt.

Licentiekosten beoordelen

Datateams moeten licentiekosten meenemen in de begroting voor software en tools. Teams kunnen deze kosten echter vermijden door over te stappen op gratis kanalen zoals conda-forge, wat mogelijk geschikt is voor de meeste use-cases die niet de strikte beveiliging en stabiliteit van het defaults-kanaal van Anaconda vereisen.

  • Overweging: als je bedrijf met gevoelige data werkt of actief is in een sterk gereguleerde sector, geef je misschien de voorkeur aan de beveiliging van Anaconda’s defaults-kanaal, ook al kost dat geld. Communitykanalen zoals conda-forge bieden daarentegen een kosteloos alternatief voor teams die aan minder gevoelige projecten werken.
  • Belangrijke vraag: Sluiten de omvang, het budget en de sector van je bedrijf aan bij het licentiemodel van Anaconda?
    • Als je bedrijf meer dan 200 werknemers heeft, vergelijk dan de kosten van Anaconda-licenties met gratis alternatieven zoals Miniforge of Mamba, die conda-forge gebruiken.

Risico's rond beveiliging en compliance

Teams in sectoren die strikte beveiligings- en compliance-maatregelen vereisen—zoals gezondheidszorg, financiën of overheid—moeten mogelijk het defaults-kanaal van Anaconda blijven gebruiken voor gegarandeerde beveiliging en onderhoud. 

Hoewel conda-forge en andere communitykanalen open en breed vertrouwd zijn, bieden ze niet hetzelfde niveau van beveiligingstoezicht, waardoor ze minder geschikt zijn voor bepaalde gereguleerde omgevingen.

  • Overweging: Beoordeel je beveiligingseisen. Als je met gevoelige of gereguleerde data werkt, kan het nodig zijn om het defaults-kanaal met een betaalde licentie te blijven gebruiken om aan de regelgeving te voldoen.
  • Belangrijke vraag: Werkt je bedrijf met gevoelige data of in gereguleerde omgevingen?
    • Als beveiliging en naleving topprioriteiten zijn, kan betaalde toegang tot het defaults-kanaal van Anaconda nodig zijn om veilige en stabiele pakketbeheer te garanderen.

Workflow- en omgevingsstabiliteit

Stabiliteit is cruciaal om soepele workflows voor datateams te behouden. Anaconda Distribution en het defaults-kanaal bieden een goed gecureerde set pakketten die door Anaconda-engineers wordt onderhouden en getest om stabiliteit over omgevingen heen te waarborgen. 

Overschakelen op een alternatief zoals conda-forge kan variabiliteit introduceren, omdat het community-onderhouden is, maar deze trade-off is voor veel onderzoeks- en ontwikkelscenario’s acceptabel.

  • Overweging: Teams die afhankelijk zijn van consistente, stabiele omgevingen, moeten workflows zorgvuldig testen voordat ze van het defaults-kanaal overstappen. Voor productieomgevingen, met name die met strikte stabiliteitseisen, kan vasthouden aan Anaconda Distribution nog steeds de beste keuze zijn.
  • Belangrijke vraag: Zal migreren weg van Anaconda voor aanzienlijke verstoringen in je workflows zorgen?
    • Als je omgevingen complex zijn en sterk leunen op pakketten uit het defaults-kanaal van Anaconda, beoordeel dan zorgvuldig de risico’s van migreren en test alternatieven grondig voordat je overstapt.

De cursus Developing Machine Learning Models for Production helpt je beter te begrijpen wat het betekent om met complexe data science-modellen in productieomgevingen te werken. 

Flexibiliteit en vendor lock-in vermijden

Voor teams die zich zorgen maken over vendor lock-in, kan overstappen van het defaults-kanaal en de Distribution van Anaconda naar tools zoals Miniforge en Mamba (die standaard conda-forge gebruiken) meer flexibiliteit bieden. 

Door communitygedreven kanalen te gebruiken, krijgen teams meer controle over pakketbeheer en vermijden ze de langetermijnkosten die gepaard gaan met de commerciële aanbiedingen van Anaconda.

  • Overweging: Als flexibiliteit en kostenefficiëntie prioriteit hebben, helpt overstappen op open-source alternatieven zoals Miniforge en Mamba om vendor lock-in te vermijden, terwijl veel van dezelfde functionaliteit behouden blijft.
  • Belangrijke vraag: Heeft je team behoefte aan de flexibiliteit om omgevingen aan te passen of vendor lock-in te vermijden?
    • Als je team flexibiliteit en de mogelijkheid om vrij omgevingen te beheren waardeert, bieden Miniforge of Mamba meer aanpassingsopties, terwijl je de kosten van Anaconda Distribution vermijdt.

Samenwerking en ondersteuning van het open-source-ecosysteem

Veel onderzoeksinstellingen en universiteiten die bijdragen aan de open-source community hebben historisch gebruikgemaakt van Anaconda Distribution. 

De licentiewijzigingen beïnvloeden het vermogen van deze instellingen om het platform zonder betaling te blijven gebruiken. Communitykanalen stellen datateams echter in staat om te blijven bijdragen aan open-sourceprojecten zonder financiële barrières.

  • Overweging: Voor teams die betrokken zijn bij academisch onderzoek of open-sourceontwikkeling, maakt overstappen op conda-forge het mogelijk om conda-compatibele pakketten te blijven gebruiken zonder licentiezorgen, terwijl je bijdraagt aan het bredere open-source-ecosysteem.
  • Belangrijke vraag: Is je team betrokken bij open-sourceontwikkeling of onderzoeksprojecten?
    • Als je je richt op open-sourcebijdragen of academisch onderzoek, kun je door van het defaults-kanaal af te stappen je workflows kosteloos houden en de open-source community ondersteunen.

Migreren weg van Anaconda: praktische stappen

Dus, je hebt besloten te migreren van Anaconda Distribution en het defaults-kanaal. En nu? Softwaremigraties kunnen spannend zijn, en dat is niet voor niets. Zelfs met zorgvuldige planning kun je enige verstoring verwachten.

In deze sectie bespreek ik de overwegingen die je moet maken bij het plannen van je migratie en hoe dit er praktisch uit kan zien. Deze gids helpt je om verstoringen in je data science-workflows te beperken en te minimaliseren.

1. Audit je huidige omgevingen

Voordat je wijzigingen doorvoert, is het essentieel om je huidige omgevingen in kaart te brengen en alle pakketten en afhankelijkheden te identificeren die je gebruikt. Het doel is een soepele overgang naar nieuwe kanalen te creëren, vooral als een van je omgevingen momenteel afhankelijk is van het defaults-kanaal van Anaconda.

  • Exporteer omgevingsdetails: Gebruik conda env export om een environment.yml-bestand te maken met alle geïnstalleerde pakketten en afhankelijkheden in je bestaande omgeving:
conda env export > environment.yml
  • Beoordeel je afhankelijkheden: Controleer het environment.yml-bestand op pakketten die afkomstig zijn uit het defaults-kanaal van Anaconda, omdat deze mogelijk moeten worden vervangen door equivalenten uit conda-forge.

2. Stel een alternatief in, zoals Miniforge of Mamba

We hebben een volledige gids geschreven over alternatieven voor Anaconda om je te helpen de beschikbare opties te verkennen. Ik raad je aan even de tijd te nemen om alternatieven te overwegen en op basis van je specifieke behoeften de beste te kiezen.

In deze sectie leg ik uit hoe je kunt overstappen op Miniforge of Mamba, lichtere alternatieven die standaard het conda-forge-kanaal gebruiken.

  • Miniforge: een minimale installer die conda standaard het gratis en open-source conda-forge-kanaal laat gebruiken.
  • Mamba: een sneller alternatief voor conda, gebouwd op hetzelfde pakketbeheersysteem maar met snellere afhankelijkheidsresolutie en het aanmaken van omgevingen.

Stappen voor Miniforge:

  • Installeer Miniforge:
curl -LO https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh

Raadpleeg voor actuele en besturingssysteemspecifieke instructies de Miniforge-repository.

  • Configureer conda-forge als het defaults-kanaal:
conda config --add channels conda-forge
conda config --set channel_priority strict

Stappen voor Mamba:

  • Installeer Mamba:
conda install mamba -n base -c conda-forge

Voor installatie-instructies vanaf nul, bekijk de mamba-documentatie.

3. Maak je omgevingen opnieuw aan met conda-forge

Zodra je Miniforge of Mamba (of een ander alternatief) hebt geïnstalleerd, is de volgende stap je bestaande omgevingen opnieuw aan te maken met conda-forge als primaire pakketbron.

Conda-forge biedt veel pakketten, waarvan vele equivalenten hebben voor die welke eerder via het defaults-kanaal van Anaconda beschikbaar waren.

  • Maak de omgeving aan met je geëxporteerde environment.yml-bestand:
    • Met Miniforge:
conda env create -f environment.yml
    • Met Mamba:
mamba env create -f environment.yml

4. Pak pakketten uit het defaults-kanaal van Anaconda aan

Als je omgevingen pakketten uit het defaults-kanaal van Anaconda bevatten, moet je deze vervangen door equivalenten uit conda-forge of andere communitykanalen.

  • Identificeer defaults-kanaalpakketten: Controleer je environment.yml-bestand op afhankelijkheden afkomstig uit het defaults-kanaal.
  • Installeer vervangers vanuit conda-forge:
conda install -c conda-forge <package_name>

Als pakketten niet beschikbaar zijn in conda-forge, moet je mogelijk handmatig naar alternatieven zoeken of ze met pip installeren.

  • Los conflicten op: Als er pakketversieconflicten zijn, pas dan de versies in je environment.yml-bestand aan of los de problemen handmatig op tijdens de installatie.

5. Test je nieuwe omgeving

Nadat je je omgevingen met conda-forge of andere alternatieven opnieuw hebt aangemaakt, is het essentieel om ze te testen om te zorgen dat alle afhankelijkheden correct zijn geïnstalleerd en je workflows blijven werken. Dit is vooral belangrijk als je productieomgevingen of kritieke workflows migreert.

  • Activeer de nieuwe omgeving:
conda activate <environment_name>
  • Draai workflows: Test scripts, modellen of applicaties die afhankelijk zijn van de omgeving om te controleren of alles naar verwachting werkt.
  • Los eventuele problemen op: Als pakketten ontbreken of incompatibel zijn, zoek dan naar alternatieven of werk de omgeving indien nodig bij.

6. Update CI/CD-pijplijnen

Als je team vertrouwt op Continuous Integration/Continuous Deployment (CI/CD)-pijplijnen om workflows te automatiseren, moet je deze scripts bijwerken zodat ze de nieuwe omgevingsconfiguratie weerspiegelen.

  • Update CI/CD-scripts: Vervang Anaconda-specifieke commando’s door equivalente commando’s voor Miniforge of Mamba.
  • Maak omgevingen opnieuw aan in CI-pijplijnen: Zorg dat pijplijnen zijn ingesteld om conda-forge te gebruiken in plaats van het defaults-kanaal van Anaconda.
  • Test de CI/CD-pijplijnen: Voer volledige tests van je CI/CD-processen uit om te bevestigen dat alles soepel werkt met de nieuwe omgeving.

7. Documentatie en training voor het team

Migreren naar een nieuw systeem voor omgevingsbeheer vereist het bijwerken van interne documentatie en het zorgen dat teamleden vertrouwd zijn met de nieuwe setup. 

Hoewel Miniforge en Mamba vergelijkbaar werken met conda, moeten de nieuwe processen worden gecommuniceerd om verwarring te voorkomen.

  • Update interne documentatie: Voeg instructies toe voor het aanmaken van omgevingen, het installeren van pakketten en het beheren van afhankelijkheden met conda-forge.
  • Houd trainingssessies: Zorg voor training zodat teamleden vertrouwd raken met de nieuwe tools en workflows.
  • Monitor adoptie door het team: Zorg dat alle teamleden de bijgewerkte processen volgen, vooral bij werken in gedeelde omgevingen.

Conclusie

De licentiewijzigingen van Anaconda hebben sommige teams ertoe aangezet om alternatieve tools te verkennen die meer flexibiliteit en kostenbesparing bieden. Hoewel het platform waardevol blijft voor bepaalde bedrijven en sectoren, stellen open-sourcealternatieven teams in staat hun omgevingen te beheren zonder extra kosten of licentiecomplexiteit.

Met zorgvuldige planning, het auditen van je huidige setups en de overstap naar gratis, communitygedreven tools, kan je team effectieve workflows behouden zonder verstoring.

Ben je klaar om je kennis van data science uit te breiden? Bekijk dan de volgende cursussen:

FAQs

Kan ik Anaconda nog gebruiken als ik alleen Miniconda installeer?

Ja, Miniconda is een lichtgewicht installer die alleen conda, Python en een paar essentiële pakketten bevat. Het is gratis en vereist geen licentie zolang je geen pakketten ophaalt uit de standaardrepository van Anaconda in strijd met de voorwaarden. Je kunt omgevingen blijven beheren zonder licentiezorgen door Miniconda te configureren om conda-forge of andere gratis kanalen te gebruiken. Vergeet echter niet om altijd de bijgewerkte voorwaarden te controleren.

Zijn er prestatieverschillen tussen Anaconda en Miniforge/Mamba?

Ja, Mamba staat bekend als sneller dan conda, vooral bij het oplossen van afhankelijkheden in grote omgevingen. Het gebruikt dezelfde commando’s als conda, dus de leercurve is minimaal. Miniforge is ook lichter dan de volledige Anaconda Distribution, maar de prestaties hangen grotendeels af van de omvang en complexiteit van de pakketten die je installeert.

Hoe weet ik of mijn organisatie in aanmerking komt voor de onderwijsvrijstelling?

De onderwijsvrijstelling van Anaconda geldt alleen voor instellingen die de software gebruiken in curriculumgebonden cursussen. Docenten en studenten die Anaconda gebruiken voor onderwijs of studie mogen het platform gratis gebruiken. Voor onderzoeksprojecten, administratief werk of andere niet-curriculumactiviteiten kan echter een licentie nodig zijn. Het is belangrijk om de voorwaarden van Anaconda zorgvuldig te lezen of rechtstreeks contact met hen op te nemen voor verduidelijking.

Wat is de langetermijnimpact van het verlaten van Anaconda op mijn data science-projecten?

Overstappen van Anaconda kan de flexibiliteit vergroten, waardoor je meer open-source tools kunt integreren en vendor lock-in kunt vermijden. Sommige organisaties kunnen echter in het begin verstoringen ervaren, vooral als workflows sterk afhankelijk zijn van het ecosysteem van Anaconda. Op de lange termijn kunnen open-sourcealternatieven meer controle over je tooling en lagere kosten bieden, maar het is belangrijk om grondig te plannen en te testen voordat je migreert.

Kan ik conda-forge-pakketten mixen met pakketten uit het defaults-kanaal van Anaconda?

Ja, je kunt pakketten van conda-forge en het defaults-kanaal van Anaconda mixen, maar houd rekening met mogelijke licentieproblemen als je organisatie de drempel van 200 werknemers overschrijdt. Daarnaast kan het mixen van pakketten uit verschillende kanalen soms afhankelijkheidsconflicten veroorzaken, dus het is aan te raden om bij één primaire bron te blijven, zoals conda-forge, om compatibiliteit te behouden en licentiezorgen te vermijden.

Thalia Barrera

Auteur

Thalia Barrera

Thalia Barrera is Senior Data Science Editor bij DataCamp, met een master in computerwetenschappen en meer dan tien jaar ervaring in software- en data-engineering. Thalia vereenvoudigt graag technologische concepten voor engineers en data scientists via blogposts, tutorials en videocursussen.

Onderwerpen

Gerelateerd