analisi-disegno.com

Homepage  | Blog | Per essere avvisati in caso di nuovi documenti | In English


(pubblicato su ZeroUno n.243, aprile 2002)

 

Etica dello sviluppo software. I perché di una traduzione.
Di Adriano Comai e Anna Pegna

Sviluppare software può essere appassionante. Il problema ti prende, provi a risolverlo, tenti una strada, saltano fuori anomalie, pensi a quali possono essere le ragioni, scopri la causa, correggi, riprovi. Poi, prima o poi, funziona, e quando funziona è una bella sensazione. Ci si possono passare ore, come di fronte a un videogame - ma è più appagante, quando è un'attività a cui riusciamo ad attribuire un senso, un significato..
Sviluppare software può essere frustrante. Quando tutto concorre a toglierti le motivazioni. Quando ti assegnano dei compiti insensati, o da svolgere in modo insensato. Quando la burocrazia o le politiche della organizzazione per cui lavori fanno di tutto per diminuire la qualità e la produttività del tuo lavoro. Quando il fatto che tu lavori bene o male non è riconosciuto, è indifferente ai tuoi capi.

Oltre a queste valenze "soggettive", lo sviluppo del software ha però anche una dimensione etica e sociale, che non sempre emerge alla nostra coscienza, e che riguarda gli utilizzatori e i committenti del prodotto sviluppato; o magari l'interesse pubblico, della società nel suo insieme.
Non tutto ciò che gira è buono; non tutto ciò che produciamo è "inodore". A volte un prodotto arriva da società o individui disonesti; oppure contiene vincoli o rigidità che peggioreranno il lavoro di chi dovrà usarlo; oppure, più semplicemente, non è stato testato a sufficienza. Anche senza arrivare ai virus, per i quali l'intenzione distruttiva è evidente, a volte ciò che viene prodotto dagli sviluppatori software è dannoso anziché utile alla società.

Molte attività della nostra vita quotidiana dipendono dal software.Se funziona, ci semplifica le cose; se non funziona, o se funziona male, ce le può complicare.
Rilasciare software con errori può essere un atto criminale, che danneggia la vita di esseri umani: si pensi al software che fa funzionare un pace-maker, o che controlla aerei, treni, automobili, armamenti. Con effetti meno gravi, un software inadeguato può deteriorare un servizio importante per la collettività, come accadde pochi mesi fa per i sistemi di regolazione del traffico ferroviario o di gestione aereoportuale, e come purtroppo spesso accade nel nostro rapporto con uffici pubblici, banche, assicurazioni, società di servizi... E in molte organizzazioni medie e grandi, sono frequenti le critiche che le aree aziendali rivolgono al settore sistemi, in merito alla qualità delle applicazioni informatiche ed al livello di servizio fornito.
Sempre più frequentemente, a fronte di sistemi che non funzionano, la pubblica opinione manifesta dubbi e critiche sulla affidabilità di chi li ha prodotti. E questi dubbi stanno spingendo le principali organizzazioni professionali informatiche ed alcuni governi (ha iniziato lo stato del Texas) a richiedere una certificazione per gli sviluppatori software, così come viene richiesta ad esempio per ingegneri ed architetti.

Sviluppare software è un mestiere che ha implicazioni sociali, e comporta un insieme di responsabilità nei confronti di chi lo ha commissionato, di chi lo acquista e di chi lo utilizza. Questo è lo spirito di fondo del Codice Etico e di Pratica Professionale dello Sviluppo Software, promulgato nel 1999 dall'ACM (Association for Computing Machinery) e dall'IEEE-Computer Society, le due maggiori organizzazioni professionali internazionali in campo informatico.

A ben guardare, poi, la dimensione etica non riguarda solo il rapporto tra committenti, utenti e fornitori di software, bensì anche il lavoro quotidiano degli stessi sviluppatori. Lo sviluppo software è in genere un'attività sociale, svolta all'interno di un gruppo di lavoro, nell'ambito di una organizzazione o di un'azienda, caratterizzata da propri obiettivi, da rapporti gerarchici definiti, da un insieme di concrete relazioni umane.
Nel caso particolare dello sviluppo software, il modo in cui queste relazioni vengono gestite ha una valenza etica intrinseca, ma influenza anche la qualità di ciò che viene prodotto dal gruppo di lavoro, e quindi ha un impatto, sia pure indiretto, sui clienti e sugli utilizzatori del software rilasciato.

Finalità del Codice Etico

Il Codice è il frutto del lavoro di anni di una task force internazionale, per definire "uno standard per l'insegnamento e la pratica dello sviluppo software, che documenta gli obblighi etici e professionali degli sviluppatori software. Intende informare gli sviluppatori sul livello di professionalità che la società si aspetta da loro, su come i loro colleghi aspirano a comportarsi, su cosa aspettarsi l'uno dall'altro. Il Codice intende inoltre informare l'opinione pubblica sulle responsabilità inerenti la professione dello sviluppatore software".
In termini meno ufficiali, il codice vuole mostrare a coloro che stanno imparando il "mestiere", che è possibile mantenere degli ideali e una coscienza unitaria, senza lacerazioni e contraddizioni tra i propri diversi interessi; avere la soddisfazione per un lavoro ben fatto; condividere le proprie conoscenze professionali con altri; sapere che da ciò che si fa non verrà, per quanto è umanamente possibile, un danno ad altri. Che è possibile rispondere di sì ai nostri figli, quando ci chiederanno se il nostro lavoro ci soddisfa.

La traduzione italiana

Approvata dopo un lungo e minuzioso esame dalla task force internazionale di ACM e IEEE-Computer Society, questa traduzione nasce da un dato di fatto: in Italia, diversamente da quanto accade in altri paesi, la discussione sugli aspetti etici legati allo sviluppo del software non si è ancora avviata. O meglio, mentre la consapevolezza delle implicazioni sociali dei sistemi software si sta facendo strada nella pubblica opinione, è invece quasi assente tra i professionisti dell'informatica, che si considerano esclusivamente come dei tecnici e si disinteressano, spesso, delle ricadute del loro lavoro su clienti ed utilizzatori.

La traduzione in italiano ha rispettato fedelmente lo stile secco e prescrittivo della versione originale inglese. Ne è uscito un testo certamente ruvido e poco musicale dal punto di vista linguistico, ma non ambiguo.

Abbiamo dovuto affrontare alcuni problemi semantici: come tradurre, ad esempio, l'americano "software engineer", visto che l'espressione "ingegnere software" non è diffusa in Italia. Negli USA, e a livello internazionale, viene usata per riferirsi a tutti i soggetti coinvolti in modo attivo nell'analisi, progettazione, realizzazione e test di software. In Italia, ben pochi dei soggetti coinvolti in tali attività si riconoscono in questa espressione linguistica. Il rischio, pertanto, era di fare intendere, con una traduzione letterale, che si tratti di un Codice rivolto esclusivamente ai laureati in Ingegneria che si occupano di software, mentre così non è.
Inoltre, l'espressione "Software Engineering", che invece in Italia è diffusa, ha qui da noi una connotazione di "teorie e pratiche per il miglioramento delle modalità di produzione del software", mentre a livello internazionale denota semplicemente il campo dello sviluppo e della manutenzione di software.
Le traduzioni possibili erano quindi tre: "sviluppatore", con il corrispondente "sviluppo" per descriverne l'attività; o "progettista" e "progettazione" oppure "produttore" e il relativo "produzione". In tutti i casi esistevano limiti semantici; e la scelta che abbiamo fatto, quella di chiamare costantemente "sviluppatore" l'inglese "engineer" ci è sembrata la migliore.

Altra questione delicata. Il termine "sviluppatore" ha una connotazione di genere, e non avevamo certo intenzione di escludere, in qualità di soggetti del Codice Etico, le numerose donne che lavorano nel settore. Per rendere conto del valore delle molte sviluppatrici che conosciamo, sarebbe stato necessario usare estensivamente la doppia desinenza. Riempire il testo, già di per sé abbastanza pesante e ripetitivo, di "sviluppatore/-trice" ci è sembrato però sgradevole - beati, in questo, gli americani che hanno un unico sesso informatico. Abbiamo quindi deciso di utilizzare il solo termine maschile, confidando nella intelligenza dei lettori ed in particolare nella comprensione delle lettrici.

--> vai a elenco articoli


analisi-disegno.com, servizi e materiali per lo sviluppo dei sistemi software, a cura di Adriano Comai.