Pagine

martedì 14 luglio 2009

ECW e software di terze parti

Prendo spunto da un recente post apparso sul blog dedicato ad ERDAS Image Web Server dal titolo "Can I use ECW technology in my third-party server?" per provare a chiarire le condizioni d'uso dei pezzi di software (SDK, che significa Software Develoment Kit) che permettono di sfruttare la compressione ECW in software diversi da quelli della ERDAS Inc.

Scrivo questo post consapevole del fatto che nei prossimi giorni sarò triturato da richieste di chiarimenti ed invettive, ma mi voglio immolare sull'altare della trasparenza :-)
Inoltre mi preme sottolineare che ciò che scrivo di seguito, per il momento, è riferito a come l'ho capita io, e quindi prendetela come un'interpretazione e non come un documento ufficiale.
Le informazioni ufficiali le trovate sul sito web della ERDAS, ok?

Allora partiamo dal fatto che gli SDK ECW sono liberamente scaricabili.
Quando si scaricano dei pezzi di software, è però sempre opportuno leggersi con attenzione la licenza d'uso (la trovate nel file che scaricate).

Distinguiamo dunque gli SDK per visualizzare file ECW (sono quindi quelli per la decompressione: se voglio vedere un file compresso, lo devo decomprimere) da quelli per comprimere immagini in formato ECW (quindi quelli che mi consentono di prendere un GeoTIFF da 2GigaByte e comprimerlo in un ECW da 20 Mb) .
Distinguiamo inoltre l'uso del SDK in software desktop da quello in software server.

1. Visualizzare file ECW in software desktop
In caso di utilizzo della libreria per la consultazione (decompressione) di file ECW su applicazioni di tipo desktop non è necessario acquistare la licenza d'uso. Facile facile.
Vuoi vedere gli ECW in ArcView o AutoCAD Map? Fino a qualche versione fa dovevi scaricare il plug-in; oggi invece puoi visualizzarli senza problemi perché la ESRI e la Autodesk hanno usato il SDK ECW per la visualizzazione.
Hai un software geospaziale a cui vuoi far leggere gli ECW? Fai come gli amici del GFOSS, che hanno usato il SDK ECW per far leggere a QGIS gli ECW. Pacifico.

2. Comprimere file ECW in software desktop
Vuoi aggiungere alla funzione "Salva con nome" del tuo software il supporto per il formato ECW?
Con il SDK posso comprimere senza costi immagini grandi fino a 50Mb.
Se voglio farlo con immagini più grandi... vuol dire che voglio consentire al mio software di fare ciò che da sempre è stato possibile solo con ER Mapper e, dall'acquisizione della software house australiana da parte della ERDAS, con ERDAS IMAGINE. Si capisce bene quindi che la ERDAS questa possibilità non la offrirà a tutti, e di certo non sarà a titolo gratuito.

3. Visualizzare e/o Comprimere file ECW in software server
Anche per applicazioni server, l'uso del SDK ECW non è gratuito. Proviamo a sintetizzare le condizioni d'uso:
  • Sia per leggere che per salvare ECW va acquisita una licenza per ogni macchina su cui si installa.
  • Non esistono licenze gratuite per utilizzo su server. Questo vale per qualsiasi tipo di prodotto server, che sia esso commerciale, proprietario o "open source".
  • La licenza va acquisita da chi utilizza il software server e non necessariamente dal venditore/sviluppatore del software.
  • Chi fornisce/sviluppa il server che utilizza gli ECW deve:
    • fornire il supporto a tali file in stato OFF (disabilitato);
    • spiegare in maniera chiara all'utente come attivare lo stato ON, e che esso necessita dell'acquisto di una licenza.
Quest'ultima condizione fa si che sul mercato siano presenti prodotti server "free", gratuiti, che però includono la tecnologia ECW. Chi li ha sviluppati ha scelto di includere questa funzionalità, però lascia scegliere all'utente finale se sostenere il costo per la sua attivazione.
Perché devo pagare, allora?
Perché la ERDAS continua ad investire nello sviluppo della tecnologia ECW, e nello strumento principe per pubblicare i dati ECW che è Image Web Server.

Image Web Server è, e rimane, il modo più efficiente e che garantisce le migliori performance per pubblicare dati ECW... anzi diciamola tutta, per pubblicare terabyte di immagini su web senza doversi dotare dell'infrastruttura server di Google, perché è stato sviluppato appositamente per quello.
Altri software server nascono probabilmente per fare altro, ed il supporto ECW non garantisce le stesse performance; anche se, indubbiamente, leggere un singolo file ECW è sempre più facile per un mapserver, rispetto all'andarsi a cercare le immagini in un database (si veda al riguardo ciò che ho scritto in un post precedente).
Questo è il motivo per cui la versione attuale di ArcGIS Server non legge gli ECW: non è una questione tecnica, bensì una questione di licenza e di scelte strategiche di ESRI.
In realtà un modo molto semplice per far leggere gli ECW ad ArcIMS o ArcGIS Server c'è: basta installare Image Web Server sulla stessa macchina (con una licenza commerciale opportunamente legata al numero di Core del server), ed abilitare il modulo ECW Connector, incluso in IWS.

Mi sembra opportuno ricordare che tantissimo materiale ed informazioni più approfondite su ECW, JPG2000 ed Image Web Server sono disponibili all'indirizzo http://iws.erdas.com.