Extensions

Criptare estensioni Joomla, l’anti Open Source

Nei giorni scorsi mi sono imbattuto in una installazione Joomla un po' particolare.. composta da una serie di estensioni tra cui Community Builder.

Copiando il sito su una installazione di prova, il server si lamentò della mancata presenza di Zend Optimizer: questo prodotto è una applicazione gratuita rilasciata da Zend che permette di eseguire applicazioni codificate usando Zend Guard.

No runtime, no party!

In sostanza, mancava il runtime per eseguire un'estensione Joomla codificata in modo che il codice sorgente non fosse disponibile a tutti.

Un'altro sistema per codificare codice PHP è ionCube.

Premetto che non mi era mai capitato di utilizzare estensioni codificate.. e non mi è piaciuto per niente dovermi interfacciare con questa.

Perchè? La sola presenza di questa estensione era un fastidio. Innanzitutto ho dovuto installare Zend Optimizer in locale, applicazione di cui avrei fatto volentieri a meno. In secondo luogo i file codificati attraverso Zend Guard sono file binari, quindi devono essere trasferiti via FTP in binary mode.

Per cui ho dovuto far ripetere il processo di trasferimento dei file dal server FTP del cliente al mio server.. con conseguente perdita di tempo visti gli intermediari che devono accordarsi sul da farsi.

I contro delle estensioni codificate

Pensandoci un attimo, codificare un'estensione oltre ad essere una pratica poco simpatica all'interno di un mondo che è nato e vive di Open Source porta a spiacevoli inconvenienti:

  • cosa succede se lo sviluppatore abbandona l'estensione? nessuno può in futuro prendere l'estensione, modificarla, ridistribuirla, correggerne i bug.. insomma il progresso si ferma ed incombono i problemi di sicurezza.
  • anche se l'estensione non viene abbandonata, se per un motivo o per un altro non si può contattare lo sviluppatore per un problema qualsiasi, non è nemmeno possibile intervenire sul codice per ovviare al problema.
  • Zend Encoder non è installato in tutti gli hosting del pianeta, anzi. Per fortuna il mio sì :-) ma molte persone non saranno in grado di usare un componente che avrebbero acquistato volentieri. Questo significa un guadagno perso per lo sviluppatore dell'estensione. (e qui direte, ben gli sta ;-) )
  • Se l'estensioni criptata è legata ad uno specifico nome di dominio, un semplice cambio / testing su un altro server interromperà il processo finchè non si è contattato lo sviluppatore (e qui tornano in gioco i primi 2 punti)

Inoltre: questo modello di sviluppo e distribuzione delle estensioni è compatibile con la licenza di Joomla, ovvero la GNU General Public Licence?


Corso Joomla