<- AGORA': Intro - Indice Generale - Copertina - HiL: Intro ->

Agorà


Linux e Unico2002

di Francesco Bochicchio

L'articolo...

Resoconto di un tentativo - fallito - di usare Linux per compilare la dichiarazione dei redditi 2002.



Indice

  1. La domanda
  2. Il primo messaggio
  3. L'esperimento
  4. Il sito Unicoweb
  5. Conclusioni

1. La domanda

È cominciato tutto con una domanda fatta sulla mailing list debian-italian:

Esistono programmi sotto Linux per compilare la dichiarazione dei redditi? Sul sito:

http://www.agenziaentrate.it/modulistica/dichiarazione/2002/uniconline/software_contr.htm

sono disponibili per il download solo i meravigliosi software per Win e Mac...

Questo ha fatto scattare immediatamente la mia risposta: perché no? Dopotutto il software distribuito dall'Agenzia delle Entrate è scritto in Java, e quindi dovrebbe essere portabile su qualunque piattaforma supporti la Java Virtual Machine (JVM). Dopo avere risposto alla mail in tal senso, ho deciso che valeva la pena di verificare la cosa. E magari anche di dare un suggerimento o due all'Agenzia delle Entrate.

2. Il primo messaggio

La prima cosa che ho fatto è stata mandare il seguente messaggio agli indirizzi e-mail che ho trovato sul sito dell'Agenzia delle Entrate: entrate.redazioneinternet@finanze.it e tecnici.entrate@finanze.it. Probabilmente nessuno dei due era la giusta destinazione per il mio messaggio, ma sono stati gli unici indirizzi di feedback che ho trovato sul sito.

Salve,

Sono un contribuente che, da circa 2 anni, utilizza il sito internet del Ministero delle Finanze per presentare la sua dichiarazione dei redditi di semplice cittadino. Questa lodevole iniziativa mi evita molti fastidi, per cui sono molto grato a chi l'ha pensata e realizzata.

Vi scrivo per proporvi alcuni suggerimenti/constatazioni. Nel caso non siano di vostra competenza, vi pregherei di passare questa mail a chi secondo voi possa prenderla in considerazione.

  1. Ho visto che esistono mailing list per distribuire i comunicati ufficiali a giornalisti e aziende. Non sarebbe male mettere anche una mailing list per raccogliere le opinioni sul servizio internet (e magari più in generale sui servizi ai cittadini del ministero delle finanze). Raccogliereste certo un sacco di spazzatura (accade in tutte le mailing list pubbliche) ma ci sono modi per limitarla e filtrarla. D'altra parte sarebbe un modo di avvicinarsi ai cittadini, almeno alla parte on-line di essi.

  2. Faccio parte di quella minoranza di cittadini che utilizza sistemi operativi diversi da quelli Microsoft o Apple. Sarebbe una cosa assai gradita per noi se potessimo usare il nostro sistema operativo per compilare e sottomettere la dichiarazione dei redditi. Essendo il programma scritto in Java, questo non dovrebbe risultare particolarmente difficile o oneroso: basterebbe mettere a disposizione per il download direttamente le classi, senza l'auto-installer, magari corredate di qualche istruzione per l'istallazione. In alternativa, so che esistono auto-installer in Java, che girano su tutte le piattaforme. Per l'anno prossimo, si potrebbe usare uno di questi.

  3. L'ultima considerazione è un po' più politica e di alto livello. Allo scopo di migliorare la trasparenza verso il cittadino, sarebbe auspicabile mettere a disposizione anche i sorgenti del programma. So bene che alla maggioranza dei cittadini questo non interessa, ma esiste una minoranza credo non trascurabile per cui questo è importante. Inoltre, pubblicare il sorgente potrebbe portare ad interessanti effetti collaterali, quali riparazioni o aggiunte che rendano il programma più utile per i cittadini (come programmatore, so bene che un programma non può mai dirsi perfetto o completo al 100%). Né credo che considerazioni economiche/commerciali siano rilevanti in questo caso. Innanzitutto, il programma viene distribuito gratuitamente. In secondo luogo, non è impossibile ricostruire i sorgenti Java a partire dalle classi (il linguaggio Java si presta particolarmente a questo), per cui considerazioni su presunti "segreti industriali" non sarebbero molto appropriate in questo caso.

Ringraziandovi per l'attenzione
-
Francesco Bochicchio


Il tono assai educato della lettera non deriva solo dal fatto che la mia mamma mi ha educato bene :-), ma anche dalle seguenti considerazioni:

Ad oggi, non ho ricevuto alcuna risposta per la mia e-mail, spedita nella prima metà di Agosto.

3. L'esperimento

Una volta spedito il messaggio di cui sopra, ho messo in testa il mio cappello da programmatore ed ho provato a far girare il programma della dichiarazione dei redditi sotto Linux. Dopo tutto - mi sono detto - se è un programma Java basterebbe capire quale è la classe principale e darla in pasto alla JVM. Comunque, onde evitare danni, ho copiato prima tutti i file dell'applicazione sulla partizione Linux.

Questo ottimismo è cominciato ad evaporare quando ho notato che nel software, tra i file ".class" di Java e file con svariate estensioni - presumibilmente di dati - ci sono anche un paio di eseguibili Windows (.exe) ed una DLL [un tipo di file di libreria caratteristico di Windows - N.d.R.]. Cosa ci facciano in un programma Java non ne ho idea: forse sono parte del programma di istallazione/disinstallazione?

Comunque sono andato avanti. Il primo passo, come ho detto, è stato quello di copiare tutto l'albero di UnicoOnLine sotto la partizione Linux:

cp -r /C/UnicoOnLine unico2002

Un rapido reboot in Windows mi ha permesso di ricavare il comando di lancio delle due applicazioni (quella per compilare il modello e quella per trasferire i file via Internet), che trasformo nei seguenti script:

unico.sh (su un'unica riga):

java -ms20M -mx120M -ss10M -oss10M -cp JFC_swing.jar:etymon.jar:Controlli2002.jar:uni02/UNI02.jar:BQJBY000.jar: finanze.IDAC.guiUNI.MainWinUNI02

internetfiles.sh (idem come sopra):

java -ms10M -mx10M -cp .:V9TJUNI0.jar:V9TJUNI1.jar:V9TJUNI2.jar  sogei.V9TJUNI0.unicoPf.Schermo1

Rispetto ai corrispondenti comandi DOS, che si possono leggere visualizzando le "properties" delle icone di lancio nella cartella creata dall'installer, ho dovuto fare alcuni adattamenti:

Alla fine di questi titanici :-) sforzi, sono stato ricompensato dal vedere che, una volta lanciato unico.sh (da dentro la directory unico2002), dopo un considerevole "frullare" di disco, l'applicazione è effettivamente partita. Con mia (temporanea) soddisfazione, il programma sembrava funzionare correttamente, almeno per quanto riguardava la scelta preliminare dei quadri da compilare; la pressione del tasto Dettagli invece, non visualizzava la prevista schermata di aiuto.

Sfortunatamente il buon funzionamento del programma sotto Linux era solo una illusione: arrivati alla compilazione del primo quadro - I dati anagrafici - il programma si rifiutava di caricarlo, rimanendo eternamente appeso, con la scritta Attendere... visualizzata invece del quadro anagrafico ed il cursore a forma di orologio. Neanche sul terminale da cui ho lanciato il programma apparivano messaggi di errore (apparivano invece vari messaggi-traccia che i programmatori hanno probabilmente ritenuto di non rimuovere nella versione finale del programma).

Cosa può essere andato storto? Senza sorgenti, si possono formulare solo delle ipotesi. Purtroppo, se è vero che Java è un linguaggio platform independent [indipendente dalla piattaforma - N.d.R.], è anche vero che le varie implementazioni della JVM per le varie piattaforme differiscono in piccoli - ma spesso significativi - particolari. Non per nulla Java si è guadagnato la definizione sarcastica di linguaggio write-once-test-everywhere [scrivilo una volta, testalo dappertutto - N.d.R.]. Il mio particolare sospetto in questo caso è che c'entri in qualche modo il fatto che il file system di Linux sia case-sensitive [distingua tra lettere maiuscole e minuscole - N.d.R.]; tuttavia, anche lanciare lo script in modo che utilizzi direttamente i file sulla partizione Windows non produce risultati migliori.

4. Il sito Unicoweb

Qualche tempo dopo aver fatto il test di cui sopra, visitando il sito dell'Agenzia delle Entrate, scopro che esiste una interfaccia Web per la compilazione di Unico2002, se pure in versione limitata. Bene, mi dico, almeno questa riuscirò a farla funzionare da Linux.

Macché. Già su debian-italian vengo avvertito che una versione precedente sembrava essere usabile solo con Internet Explorer. Così provo con i browser che ho a disposizione (Galeon e Mozilla) e scopro che è ancora vero. Sempre alla compilazione del quadro anagrafico, l'interfaccia Web dà errore sull'inserimento del campo contenente il codice fiscale (che è read-only [di sola lettura - N.d.R] e che il software stesso riempie, a partire da una schermata precedente). Rimessomi il cappello da programmatore (sia pure con poca esperienza per quanto riguarda le interfacce Web), riesco a ricondurre la cosa alla differenza di comportamento di una particolare componente Javascript sui diversi browser (la guerra dei browser colpisce ancora!).

Così mi decido a scrivere un secondo messaggio, questa volta al solo indirizzo tecnici.entrate@finanze.it, dato che il problema è tecnico:

Salve,

volevo segnalarvi che il servizio Unicoweb non risulta utilizzabile con Netscape 6 o con browser simili (come Mozilla). Infatti, con tale browser, se si prova ad inserire i dati anagrafici, si ottiene comunque una segnalazione di errore sul codice fiscale (che poi è un campo non editabile ed aggiornato automaticamente). Dopo la segnalazione, tutti i campi non editabili (readonly) risultano vuoti.

Da quel poco che ne capisco, l'inconveniente sembrerebbe dovuto ad una differenza nell'implementazione di JavaScript sui due browser: mentre infatti in IE l'attributo type di un campo "readonly" ha valore "text", in Netscape ha valore "readonly", per cui la vostra funzione isAText non lo riconosce come campo contenente testo.

A mio parere, dovreste rendere il sito usufruibile dal maggior numero possibile di browser. Comunque, dovreste chiaramente indicare sul sito quali browser utilizzare, in modo che la gente non perda tempo.

Grazie, e cordiali saluti
-
Francesco Bochicchio


La segnalazione mi pareva legittima, ed avevo pure indicato il problema (che comunque ad occhio sembra riguardare anche altre parti dell'interfaccia Web). Inoltre non pretendevo che risolvessero il problema, che pure riguarda non soltanto gli utilizzatori di Linux e simili, ma anche quegli utenti Windows o Mac che preferiscono usare un browser diverso da Internet Explorer (a tal proposito, mi piacerebbe sapere se il sito è utilizzabile con Opera). Chiedevo solo che il problema fosse segnalato sul sito.

Nonostante ciò, ad oggi, anche per questo messaggio non ho ricevuto alcuna risposta.

5. Conclusioni

5.1 Ma è davvero un problema?

A chi legge questo resoconto, potrebbe sembrare che mi sia dato da fare più per una questione di principio o per una curiosità di tecnico, piuttosto che per risolvere un mio problema reale. Vedendo la cosa dal punto di vista dell'oggi, è così. Pur sapendo che avrei utilizzato Linux, quando ho acquistato il PC - tre anni fa - non mi è stato possibile evitare di acquistarlo con Windows '98 pre-installato. Proprio per ovviare a problemi come quello che ho raccontato, ho conservato tale istallazione in una partizione da circa 2 GB.

Dunque la cosa non è un problema, almeno per me, oggi.

Ma domani? Che faccio se decideranno di non supportare più Windows '98, perché tanto "ormai tutti hanno XP"? O se ho la necessità di recuperare altro spazio su disco?

Dunque la cosa è un problema, anche per me e per quelli che come me conservano una partizione Windows sul loro PC. A maggior ragione lo è per quanti hanno istallato solo Linux (o BSD, o altro).

5.2 Cosa si può fare?

Discutendo di queste mie vicende con i frequentatori di debian-italian, sono emerse alcune proposte:

Nessuna delle ipotesi di cui sopra promette una sicura soluzione del problema. Ma del resto, non era neanche facile sviluppare un sistema operativo libero e alternativo a quelli proprietari!



L'autore

Francesco Bochicchio: nato a Lagopesole (PZ) nel 1962, fa il programmatore per una azienda del settore Aereonautica/Spazio/Difesa con sede a Taranto, dove scrive software per macchine Unix (ultimamente anche Linux).
Utente Linux da circa dieci anni, quando i neuroni ormai in riserva glielo consentono cerca di aggiungere qualche goccia all'oceano di conoscenze che è il software libero, da cui attinge a piene mani.



<- AGORA': Intro - Indice Generale - Copertina - HiL: Intro ->