Vai al contenuto principale

Orientarsi tra i cambiamenti di licenza di Anaconda: cosa devi sapere

Comprendi l’impatto dei recenti cambiamenti di licenza di Anaconda e cosa significano per la tua organizzazione. Impara a orientarti nei nuovi termini e scopri passi pratici per mantenere i tuoi workflow di data science.
Thalia Barrera
Thalia Barrera

Crea il tuo account gratuito

Pratica and corso your progress.

Continua con GoogleContinuando, accetti la nostra Termini di utilizzo, i nostri Informativa sulla privacy e il fatto che i tuoi dati sono archiviati negli USA.

Anaconda è uno strumento fondamentale per i team di data science, che offre una piattaforma per gestire ambienti e pacchetti. Tuttavia, i recenti cambiamenti ai termini di licenza hanno spinto molte aziende, in particolare quelle attente a costi e conformità, a riconsiderare l’uso della piattaforma.

In questo articolo ti spiego cosa significano questi cambiamenti per i team data, come valutare se migrare è la scelta migliore (o addirittura necessaria) e ti propongo passi pratici per passare ad alternative.

Alla fine dell’articolo avrai una comprensione più chiara degli aggiornamenti alla licenza e di come gestirli in modo efficace. Iniziamo!

Capire i cambiamenti di licenza di Anaconda

I cambiamenti di licenza di Anaconda del 2024 hanno destato qualche preoccupazione, soprattutto in settori specifici come quello accademico, della ricerca e non profit, che contavano sulla piattaforma ritenendola gratuita.

A complicare le cose, spesso c’è confusione su cosa sia gratuito e cosa no quando si usa conda, il gestore di pacchetti, rispetto ai canali e alle distribuzioni fornite da Anaconda.

Se hai ancora dubbi, nessun problema: in questa sezione spiego le modifiche e, si spera, chiarisco se e perché dovrebbero interessarti.

Quindi, cosa è cambiato?

Il cuore dei cambiamenti sta nella definizione di Anaconda di "Uso organizzativo". Secondo i nuovi termini di licenza, qualsiasi organizzazione con 200 o più dipendenti o collaboratori deve ora acquistare una licenza a pagamento per usare il software di Anaconda.

I termini di licenza precisano, in particolare, che la soglia dei 200 dipendenti si applica non solo alle aziende a scopo di lucro ma anche a enti governativi e organizzazioni non profit.

Si tratta di un cambio di rotta rispetto alle politiche precedenti che avevano consentito a università, istituti di ricerca e altri enti non profit di usare Anaconda senza costi (o almeno così molti credevano). Oggi queste organizzazioni devono ottenere licenze se superano il limite dei 200 dipendenti.

Le istituzioni educative sono ancora esentate da questo requisito, ma il loro utilizzo deve essere limitato a "corsi basati sul curriculum". Anaconda si riserva il diritto di monitorare e garantire che il software sia usato esclusivamente per finalità educative.

Detto questo, non è tutto. Vale la pena scomporre cosa esattamente è gratuito e cosa no nell’ecosistema Anaconda.

Conda: lo strumento libero e open source

Per prima cosa, è importante chiarire che conda, il software per la gestione di pacchetti e ambienti, rimane gratuito e open source. Chiunque può usare conda per creare, gestire e installare ambienti senza problemi di licenza. È sempre stato così e continua a esserlo. 

Anche i pacchetti compatibili con conda—quelli che installi con conda dai canali della community come conda-forge—sono gratuiti da usare.

Conda vs. Anaconda Distribution e canale defaults

Mentre conda è gratuito, il canale defaults—dove Anaconda archivia e cura determinati pacchetti—segue regole di licenza differenti. 

Il canale defaults fa parte di Anaconda Distribution, una raccolta di pacchetti per data science e AI curata, compilata e mantenuta dagli ingegneri di Anaconda. Questa distribuzione, insieme al canale defaults, pone l’accento su sicurezza, stabilità e conformità normativa, aspetti importanti per le aziende che trattano dati sensibili o operano in settori altamente regolamentati.

Secondo le FAQ nel repository dei pacchetti di Anaconda, il canale defaults comprende tre canali distinti: pkg/main, pkgs/r e pkg/msys2. Questi canali vengono configurati automaticamente nel tuo file di configurazione .condarc quando installi Anaconda Distribution o Miniconda.

Gli aggiornamenti ai termini di servizio si applicano solo al canale defaults e ad Anaconda Distribution. In base a tali termini:

  • Le aziende con meno di 200 dipendenti possono continuare a usare gratuitamente Anaconda Distribution e il canale defaults.
  • Le aziende con 200 o più dipendenti devono acquistare una licenza a pagamento per accedere al canale defaults o usare Anaconda Distribution.
  • Studenti e istituzioni educative sono esentati e possono usare il software gratuitamente, a patto che sia utilizzato per corsi basati sul curriculum.

Immagine che mostra Anaconda Navigator, una GUI desktop inclusa in Anaconda Distribution

Anaconda Navigator, una GUI desktop inclusa in Anaconda Distribution. Fonte immagine: Anaconda.

Per molti, questo cambiamento significa che ciò che prima era considerato gratuito ora è soggetto a tariffe di licenza in base al numero di dipendenti. Altri, che magari usano solo conda, potrebbero invece tirare un sospiro di sollievo. 

E Miniconda?

Se cerchi un’alternativa leggera ad Anaconda Distribution, Miniconda è un’ottima opzione. Include solo il gestore di pacchetti conda e Python, i pacchetti da cui dipendono entrambi e un piccolo numero di altri pacchetti utili.

Miniconda ti permette di installare e gestire solo i pacchetti di cui hai bisogno, rendendola un’opzione più personalizzabile e flessibile per chi non richiede l’intero set di pacchetti di Anaconda. 

È importante notare che Miniconda è gratuita e non è soggetta ai termini di licenza di Anaconda finché eviti di usare il canale defaults e ti attieni a repository gestiti dalla community.

Ma perché il canale defaults richiede il pagamento?

Il canale defaults di Anaconda non è una semplice raccolta casuale di pacchetti; è curato e messo in sicurezza dagli ingegneri di Anaconda, risultando più stabile e sicuro rispetto a canali gestiti dalla community come conda-forge. Questo ulteriore livello di sicurezza è importante per i settori che richiedono elevata fiducia nel software, come finanza, sanità e pubblica amministrazione.

Il corso Introduction to Data Security ti insegna di più su come mantenere i dati al sicuro. È una risorsa preziosa, soprattutto se lavori nei settori citati sopra.

Sebbene canali come conda-forge offrano un’ampia selezione di pacchetti, si basano sui contributi della community e su pratiche di sicurezza "best-effort". Questi canali sono eccellenti per ricerca, sviluppo e ambienti non critici. 

Immagine che mostra uno screenshot della pagina principale di conda-forge

Fonte immagine: conda-forge

Detto ciò, per le aziende che trattano dati sensibili, la maggiore sicurezza e la manutenzione garantite dal canale defaults di Anaconda possono giustificare il costo.

Riassumendo:

  • Conda, il gestore di pacchetti, è gratuito, open source e disponibile per chiunque.
  • I pacchetti compatibili con conda dai canali pubblici come conda-forge sono anch’essi gratuiti per chiunque.
  • Il canale defaults e Anaconda Distribution sono gratuiti se:
    • La tua organizzazione ha meno di 200 dipendenti, oppure
    • La tua organizzazione rientra tra gli esenti (ad esempio, studenti o enti educativi che usano il software in corsi basati sul curriculum).
  • Le organizzazioni con 200 o più dipendenti devono acquistare licenze per usare il canale defaults e Anaconda Distribution, a meno che non rientrino tra gli esenti.

Ora che abbiamo chiarito la situazione, stai ancora pensando di abbandonare Anaconda? Se sì, continua a leggere!

Valutare l’idea di allontanarsi da Anaconda

Potresti valutare di lasciare Anaconda per diversi motivi: per le preoccupazioni su licenze (e costi) spiegate sopra oppure perché cerchi un’opzione più leggera.

Se è il tuo caso, ecco un framework per valutare se il passaggio da Anaconda è fattibile. 

Il corso Data Science for Business può aiutarti a comprendere meglio il workflow di data science da una prospettiva di alto livello, utile se sei un manager che deve prendere decisioni come questa.

Valutare i costi di licenza

I team data devono considerare le tariffe di licenza quando pianificano il budget per software e strumenti. Tuttavia, è possibile evitare questi costi passando a canali gratuiti come conda-forge, che possono essere adatti alla maggior parte dei casi d’uso che non richiedono la rigorosa sicurezza e stabilità del canale defaults di Anaconda.

  • Considerazione: se la tua azienda gestisce dati sensibili o opera in un settore altamente regolamentato, potresti preferire la sicurezza del canale defaults di Anaconda, anche se comporta un costo. Tuttavia, canali come conda-forge possono offrire un’alternativa gratuita per team che lavorano su progetti meno sensibili.
  • Domanda chiave: dimensione, budget e settore della tua azienda sono allineati con il modello di licenza di Anaconda?
    • Se la tua azienda ha più di 200 dipendenti, confronta il costo delle licenze Anaconda con alternative gratuite come Miniforge o Mamba, che usano conda-forge.

Rischi per sicurezza e conformità

I team che operano in settori che richiedono misure di sicurezza e conformità rigorose—come sanità, finanza o pubblica amministrazione—potrebbero dover continuare a usare il canale defaults di Anaconda per la sicurezza e la manutenzione garantite. 

Sebbene conda-forge e altri canali della community siano aperti e ampiamente affidabili, non offrono lo stesso livello di controllo sulla sicurezza, risultando meno adatti a determinati contesti normativi.

  • Considerazione: valuta i tuoi requisiti di sicurezza. Se gestisci dati sensibili o regolamentati, continuare a usare il canale defaults con una licenza a pagamento può essere necessario per garantire la conformità.
  • Domanda chiave: la tua azienda gestisce dati sensibili o opera in ambienti regolamentati?
    • Se sicurezza e conformità normativa sono priorità assolute, l’accesso a pagamento al canale defaults di Anaconda può essere necessario per garantire una gestione dei pacchetti sicura e stabile.

Stabilità di workflow e ambienti

La stabilità è fondamentale per mantenere workflow fluidi nei team data. Anaconda Distribution e il canale defaults offrono un set ben curato di pacchetti, mantenuti e testati dagli ingegneri di Anaconda per assicurare stabilità tra gli ambienti. 

Passare a un’alternativa come conda-forge può introdurre variabilità, poiché è mantenuta dalla community, ma questo compromesso è accettabile in molti contesti di ricerca e sviluppo.

  • Considerazione: i team che si affidano a ambienti coerenti e stabili dovrebbero testare attentamente i workflow prima di passare dal canale defaults. Per ambienti di produzione, soprattutto con requisiti di stabilità stringenti, restare con Anaconda Distribution potrebbe essere ancora la scelta migliore.
  • Domanda chiave: migrare lontano da Anaconda causerà interruzioni significative nei workflow?
    • Se i tuoi ambienti sono complessi e dipendono fortemente dai pacchetti del canale defaults di Anaconda, valuta con attenzione i rischi della migrazione e testa a fondo le alternative prima di effettuare il passaggio.

Il corso Developing Machine Learning Models for Production può aiutarti a capire meglio cosa significa lavorare con modelli di data science complessi in ambienti di produzione. 

Flessibilità ed evitare il vendor lock-in

Per i team preoccupati del vendor lock-in, passare dal canale defaults e dalla Distribution di Anaconda a strumenti come Miniforge e Mamba (che predefiniscono conda-forge) può offrire maggiore flessibilità. 

Usando canali gestiti dalla community, i team ottengono maggiore controllo sulla gestione dei pacchetti ed evitano i costi a lungo termine associati alle offerte commerciali di Anaconda.

  • Considerazione: se flessibilità ed efficienza dei costi sono priorità, passare ad alternative open source come Miniforge e Mamba ti aiuterà a evitare il vendor lock-in mantenendo gran parte della stessa funzionalità.
  • Domanda chiave: il tuo team ha bisogno della flessibilità di personalizzare gli ambienti o evitare il vendor lock-in?
    • Se il tuo team valorizza flessibilità e libertà nella gestione degli ambienti, passare a Miniforge o Mamba può offrire più opzioni di personalizzazione evitando i costi associati ad Anaconda Distribution.

Collaborazione e supporto all’ecosistema open source

Molte istituzioni di ricerca e università che contribuiscono alla community open source hanno storicamente usato Anaconda Distribution. 

I cambiamenti di licenza incidono sulla possibilità di queste istituzioni di continuare a usare la piattaforma senza pagare l’accesso. Tuttavia, i canali della community consentono ai team data di continuare a contribuire a progetti open source senza barriere economiche.

  • Considerazione: per i team impegnati nella ricerca accademica o nello sviluppo open source, passare a conda-forge permette di continuare a usare pacchetti compatibili con conda senza problemi di licenza, contribuendo al contempo al più ampio ecosistema open source.
  • Domanda chiave: il tuo team è coinvolto in progetti di ricerca o sviluppo open source?
    • Se ti focalizzi su contributi open source o ricerca accademica, allontanarti dal canale defaults può mantenere i tuoi workflow a costo zero sostenendo la community open source.

Migrare da Anaconda: passi pratici

Hai quindi deciso di migrare da Anaconda Distribution e dal canale defaults. E adesso? Le migrazioni software possono spaventare, e a ragione. Anche se pianificate con cura, aspettati almeno qualche interruzione.

In questa sezione, tratto le considerazioni da fare quando pianifichi la migrazione e come potrebbe svolgersi in pratica. Questa guida punta ad aiutarti a mitigare e ridurre al minimo le interruzioni nei tuoi workflow di data science.

1. Verifica i tuoi ambienti attuali

Prima di apportare modifiche, è essenziale verificare gli ambienti attuali per identificare tutti i pacchetti e le dipendenze in uso. L’obiettivo è garantire una transizione fluida verso i nuovi canali, soprattutto se alcuni dei tuoi ambienti dipendono dal canale defaults di Anaconda.

  • Esporta i dettagli dell’ambiente: usa conda env export per creare un file environment.yml che elenca tutti i pacchetti e le dipendenze installate nel tuo ambiente esistente:
conda env export > environment.yml
  • Rivedi le dipendenze: controlla il file environment.yml per eventuali pacchetti provenienti dal canale defaults di Anaconda, poiché potrebbe essere necessario sostituirli con equivalenti da conda-forge.

2. Configura un’alternativa, come Miniforge o Mamba

Abbiamo scritto una guida completa sulle alternative ad Anaconda per aiutarti a orientarti tra le opzioni disponibili. Ti consiglio di prenderti un momento per valutare le alternative e scegliere la migliore in base alle tue esigenze specifiche.

In questa sezione, spiego come passare a Miniforge o Mamba, alternative più leggere che usano di default il canale conda-forge.

  • Miniforge: un installer minimale che imposta conda per usare di default il canale conda-forge, gratuito e open source.
  • Mamba: un’alternativa più veloce a conda, basata sullo stesso sistema di gestione pacchetti ma con risoluzione delle dipendenze e creazione degli ambienti più rapide.

Passi per Miniforge:

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

Per istruzioni aggiornate e specifiche per il sistema operativo, consulta il repository di Miniforge.

  • Configura conda-forge come canale predefinito:
conda config --add channels conda-forge
conda config --set channel_priority strict

Passi per Mamba:

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

Per istruzioni di installazione da zero, consulta la documentazione di mamba.

3. Ricrea i tuoi ambienti usando conda-forge

Dopo aver installato Miniforge o Mamba (o qualsiasi altra alternativa), il passo successivo è ricreare gli ambienti esistenti usando conda-forge come principale fonte di pacchetti.

Conda-forge offre molti pacchetti, molti dei quali hanno equivalenti per quelli in precedenza disponibili dal canale defaults di Anaconda.

  • Crea l’ambiente usando il file environment.yml esportato:
    • Con Miniforge:
conda env create -f environment.yml
    • Con Mamba:
mamba env create -f environment.yml

4. Gestisci i pacchetti dal canale defaults di Anaconda

Se i tuoi ambienti includevano pacchetti dal canale defaults di Anaconda, dovrai sostituirli con equivalenti da conda-forge o altri canali della community.

  • Identifica i pacchetti del canale defaults: controlla il file environment.yml per eventuali dipendenze provenienti da il canale defaults.
  • Installa sostituti da conda-forge:
conda install -c conda-forge <package_name>

Se i pacchetti non sono disponibili su conda-forge, potresti dover cercare manualmente alternative o installarli con pip.

  • Risolvi i conflitti: se alcuni pacchetti presentano conflitti di versione, regola le versioni nel file environment.yml o risolvi manualmente i problemi durante l’installazione.

5. Testa il nuovo ambiente

Dopo aver ricreato gli ambienti con conda-forge o altre alternative, è essenziale testarli per assicurarsi che tutte le dipendenze siano installate correttamente e che i tuoi workflow restino funzionanti. Questo è particolarmente importante se stai migrando ambienti di produzione o workflow critici.

  • Attiva il nuovo ambiente:
conda activate <environment_name>
  • Esegui i workflow: testa script, modelli o applicazioni che dipendono dall’ambiente per verificare che tutto funzioni come previsto.
  • Risolvi eventuali problemi: se mancano pacchetti o sono incompatibili, cerca alternative o aggiorna l’ambiente secondo necessità.

6. Aggiorna le pipeline CI/CD

Se il tuo team si affida a Continuous Integration/Continuous Deployment (CI/CD) per automatizzare i workflow, dovrai aggiornare questi script per riflettere la nuova configurazione dell’ambiente.

  • Aggiorna gli script CI/CD: sostituisci eventuali comandi specifici di Anaconda con gli equivalenti di Miniforge o Mamba.
  • Ricrea gli ambienti nelle pipeline CI: assicurati che le pipeline siano configurate per usare conda-forge anziché il canale defaults di Anaconda.
  • Testa le pipeline CI/CD: esegui test completi dei processi CI/CD per confermare che tutto funzioni senza intoppi con il nuovo ambiente.

7. Documentazione e formazione del team

Migrare a un nuovo sistema di gestione degli ambienti richiede l’aggiornamento della documentazione interna e l’assicurarsi che i membri del team siano a loro agio con la nuova configurazione. 

Sebbene Miniforge e Mamba funzionino in modo simile a conda, i nuovi processi vanno comunicati per evitare confusione.

  • Aggiorna la documentazione interna: includi istruzioni per la creazione degli ambienti, l’installazione dei pacchetti e la gestione delle dipendenze usando conda-forge.
  • Organizza sessioni di formazione: offri formazione ai membri del team per aiutarli a prendere confidenza con i nuovi strumenti e workflow.
  • Monitora l’adozione nel team: assicurati che tutti seguano i processi aggiornati, soprattutto quando si lavora in ambienti condivisi.

Conclusione

I cambiamenti di licenza di Anaconda hanno spinto alcuni team a esplorare strumenti alternativi che offrano maggiore flessibilità e risparmio. Sebbene la piattaforma resti preziosa per alcune aziende e settori, le alternative open source consentono di gestire gli ambienti senza costi aggiuntivi o complessità di licenza.

Con una pianificazione attenta, la verifica delle configurazioni attuali e la transizione verso strumenti gratuiti e guidati dalla community, il tuo team può mantenere workflow efficaci senza interruzioni.

Se sei pronto ad ampliare le tue conoscenze di data science, dai un’occhiata ai seguenti corsi:

FAQs

Posso continuare a usare Anaconda se installo solo Miniconda?

Sì, Miniconda è un installer leggero che include solo conda, Python e alcuni pacchetti essenziali. È gratuito e non richiede una licenza finché non scarichi pacchetti dal repository predefinito di Anaconda in violazione dei termini. Puoi continuare a gestire ambienti senza problemi di licenza configurando Miniconda per usare conda-forge o altri canali gratuiti. Ma ricorda di controllare sempre i termini aggiornati.

Ci sono differenze di prestazioni tra Anaconda e Miniforge/Mamba?

Sì, Mamba è noto per essere più veloce di conda, soprattutto nella risoluzione delle dipendenze in ambienti ampi. Usa gli stessi comandi di conda, quindi la curva di apprendimento è minima. Anche Miniforge è più leggero rispetto alla completa Anaconda Distribution, ma le prestazioni dipenderanno in gran parte dalle dimensioni e dalla complessità dei pacchetti che installi.

Come faccio a sapere se la mia organizzazione rientra nell’esenzione educativa?

L’esenzione educativa di Anaconda si applica solo alle istituzioni che usano il software in corsi basati sul curriculum. Docenti e studenti che usano Anaconda per insegnamento o apprendimento possono usare la piattaforma gratuitamente. Tuttavia, progetti di ricerca, attività amministrative o altre attività non legate al curriculum possono richiedere una licenza. È importante esaminare attentamente i termini di Anaconda o contattarli direttamente per chiarimenti.

Qual è l’impatto a lungo termine dell’abbandono di Anaconda sui miei progetti di data science?

Passare da Anaconda può aumentare la flessibilità, consentendoti di integrare più strumenti open source ed evitare il vendor lock-in. Tuttavia, alcune organizzazioni potrebbero sperimentare interruzioni iniziali, soprattutto se i workflow dipendono fortemente dall’ecosistema di Anaconda. Nel lungo periodo, usare alternative open source può offrire maggiore controllo sugli strumenti e costi inferiori, ma è importante pianificare e testare accuratamente prima di migrare.

Posso mescolare pacchetti conda-forge con pacchetti del canale predefinito di Anaconda?

Sì, puoi mescolare pacchetti da conda-forge e dal canale predefinito di Anaconda, ma è importante essere consapevoli di potenziali problemi di licenza se la tua organizzazione supera la soglia dei 200 dipendenti. Inoltre, mescolare pacchetti da canali diversi può talvolta causare conflitti di dipendenze, quindi è consigliabile attenersi a una fonte principale, come conda-forge, per mantenere la compatibilità ed evitare problemi di licenza.

Thalia Barrera

Autore

Thalia Barrera

Thalia Barrera è Senior Data Science Editor presso DataCamp, con un master in Informatica e oltre dieci anni di esperienza nel software e nell’ingegneria dei dati. Thalia ama semplificare i concetti tecnologici per ingegneri e data scientist tramite post sul blog, tutorial e video corsi.

Argomenti

Correlato