di Claudio Gasparini, architetto
Articolo scritto per la rivista AL - Mensile di Informazione degli Architetti Lombardi, aprile 2006. Questa versione è più estesa rispetto a quella a stampa.
Nella scelta del software da utilizzare in uno studio di
architettura, l'aspetto economico riveste quasi sempre un
fattore importante nei criteri di valutazione e di scelta.
In questo articolo intendo affrontare l'argomento del software
libero non tanto per il suo aspetto economico, considerato
secondario, ma per la sua più importante valenza di software
liberamente utilizzato e disponibile per tutti.
Aggiornato: 9/01/2012
L'idea di progetto del software libero
Il più noto fra i protagonisti del software
libero è certamente Richard Stallman che si definisce
l'ultimo degli hacker.
Richard Stallman e Claudio Gasparini, ( autore dell'articolo)
Congresso AICA, Milano, 2007
Richard Stallman nel 1983 elaborò
il Progetto GNU, acronimo ricorsivo che sta a significare
"GNU is Not Unix". Unix era, ed lo è ancora, uno dei principali
sistemi operativo liberamente utilizzati nei centri di calcolo
di tutte le Università e che a partire dal 1984 iniziò ad
essere distribuito da AT&T non più come codice sorgente
ma con licenze di copyright e di diritti d'autore.
Il progetto GNU intende mettere
in discussione il concetto di software proprietario,
rappresentato allora dal sistema UNIX, attraverso la promozione
del nuovo concetto di software libero distribuito
in formato copyleft e non più con licenza
di copyrightcioè con i diritti d'autore
da rispettare.
Obiettivo del Progetto GNU è la creazione
di un sistema operativo completamente libero, chiamato Sistema
GNU, composto da diversi moduli specializzati adatti
a coprire ogni necessità informatica: compilatori, lettori
multimediali, programmi di crittografia. Visto che il sistema
operativo GNU non era completato, è stato adottato in forma
provvisoria il kernel Linux di Linus Torvalds e per
questo viene definito Sistema GNU/Linux.
Fulcro di tutta l'attività del Progetto
GNU è la licenza chiamata GNU General Public License
(GNU GPL), che sancisce e protegge le libertà fondamentali
che, secondo Stallman, permettono l'uso e lo sviluppo collettivo
e naturale del software. Un'altra licenza, la GNU Free
Documentation License (GNU FDL), è stata formulata per
coprire anche la documentazione ed è usata ad esempio per
il progetto Wikipedia.
Per poter gestire alcuni casi, come lo
sviluppo di librerie, il Progetto GNU ha prodotto anche
la GNU Lesser General Public License (GNU LGPL) che
permette di integrare software libero all'interno di software
proprietario, quando questo è ritenuto necessario per assicurare
compatibilità e portabilità alle applicazioni.
Per rendere operativo il progetto GNU,
nel 1985 Stallman costituì la FSF (Free Software Foundation) che si occupa di eliminare le restrizioni sulla copia, sulla
redistribuzione e sulla modifica dei programmi per computer.
La FSF opera promuovendo lo sviluppo e l'uso del software
libero in tutte le aree dell'informatica, ma principalmente
contribuendo allo sviluppo del sistema operativo GNU.
Termini usati nel settore del Free software
La parola "Free" nell'espressione
inglese "Free Software" fa riferimento solo alla
libertà di distribuzione non al prezzo. Il free software
può anche essere venduto ma la sua accezione più importante
è nella sua libera distribuzione.
L'espressione "software libero"
si riferisce alla libertà dell'utente di eseguire, copiare,
distribuire, studiare, cambiare e migliorare il software.
Più precisamente, esso si riferisce a quattro tipi di libertà
per gli utenti del software:
Libertà di eseguire il programma, per qualsiasi scopo
(libertà 0).
Libertà di studiare come funziona il programma e adattarlo
alle proprie necessità (libertà 1).
L'accesso al codice sorgente ne è un prerequisito. Libertà
di ridistribuire copie in modo da aiutare il prossimo (libertà
2).
Libertà di migliorare il programma e distribuirne pubblicamente
i miglioramenti, in modo tale che tutta la comunità ne tragga
beneficio (libertà 3). L'accesso al codice sorgente
ne è un prerequisito.
Un programma è software libero se
l'utente ha tutte queste libertà. In particolare, se è libero
di ridistribuire copie, con o senza modifiche, gratis o addebitando
delle spese di distribuzione a chiunque ed ovunque. Essere
liberi di fare queste cose significa (tra l'altro) non dover
chiedere o pagare nessun permesso.
Libre Software
Quando la Commissione Europea ha iniziato
a occuparsi di Software Libero in modo regolare, ha
cercato di evitare sia l'ambiguità insita nell'espressione
inglese "Free Software" sia i fraintendimenti di
"Open Source", creando un nuovo termine: "Libre
Software". Questo termine si è rivelato resistente all'uso
inflazionistico ed è ancora usato come sinonimo di Software
Libero, quindi può rappresentare una soluzione per chi teme
di essere frainteso mentre parla inglese.
Freeware
Il termine "freeware" è
solitamente utilizzato per i pacchetti software che possono
essere ridistributi ma non modificati e che il loro codice
sorgente non è disponibile. Questi pacchetti non sono software
libero, e pertanto non va usato il termine "freeware"
per indicare il software libero.
Shareware
Lo shareware è un tipo di software che dà
la possibilità di ridistribuire copie ma impone a chi continua
ad usarlo dopo un periodo di prova di pagare una licenza d'uso.
Lo shareware non è software libero e neppure
semilibero per due motivi:
Il software shareware non rende disponibile il
codice sorgente e di conseguenza non fornisce la possibilità
di modificare il programma;
Il software shareware non prevede l'uso gratuito
ma solo la distribuzione gratuita. L'utente, anche quello
che lo utilizza per un'attività senza fini di lucro, è tenuto
a pagare la licenza d'uso del shareware secondo i termini
contenuti nelle specifiche d'uso del software.
Software Commerciale
Il software commerciale è il normale software
sviluppato da un'azienda allo scopo di guadagnare dalla sua
vendita ed uso. I termini "commerciale" e "proprietario"
non indicano lo stesso concetto: la maggior parte del software
commerciale è proprietario, ma esiste software libero che
è commerciale, e è disponibile software non commerciale che
è anche proprietario
Software con permesso d'autore (copyleft)
Il software con permesso d'autore (copyleft)
è software libero le cui condizioni di distribuzione non permettono
ai ridistributori di porre alcuna restrizione addizionale
all'atto di ridistribuire o modificare il software. Questo
significa che ogni copia del software, anche se modificata,
deve essere software libero.
Free software
per la progettazione CAD e per il rendering
Nel settore della progettazione assistita
dal calcolatore (CAD) il software con licenza GNU GPL ha rappresentato
un filone molto dinamico e pieno di iniziative che non sempre
si è concretizzato nella produzione di software completi
e maturi. I due settori particolarmente attivi sono stati
quelli del software di disegno CADe quello di rendering.
La storia di IntelliCAD
IntelliCAD ha una storia interessante, perché
è probabilmente l'unico prodotto dell'industria del software
CAD ad essere controllato da un consorzio, l'IntelliCAD
Technology Consortium (ITC), un'organizzazione indipendente
di sviluppatori il cui scopo è principalmente quello di coordinare
lo sviluppo e la distribuzione di tecnologie CAD.
Il prodotto di punta del consorzio è IntelliCAD,
un programma di disegno CAD che presenta il formato di disegno
DWG come formato nativo, e perciò perfettamente compatibile
con AutoCAD. Questa caratteristica rappresenta per i vari
pacchetti CAD la reale possibilità di utilizzare un formato
standard, anche se de facto, per l'interscambio dei disegni
senza conversioni intermedie e senza perdita di dati. Lo sviluppo
di IntelliCAD è regolato e controllato dal Consorzio, che
concede agli sviluppatori il codice sorgente a prezzi controllati,
con la conseguente ricaduta del beneficio sugli utenti finali,
i quali possono acquistare il programma a un prezzo contenuto
rispetto agli altri pacchetti CAD.
Origini di IntelliCAD
IntelliCAD fu acquisito nel 1994 da Softdesk,
che negli anni Novanta era uno dei più noti sviluppatori di
applicativi per AutoCAD. Quando anche Softdesk fu acquisita
da Autodesk, un gruppo di programmatori uscì dalla società
e creò la società Boomerang Technology, che continuò lo sviluppo
di IntelliCAD. La grande effervescenza d'iniziative del settore
CAD e del luogo (siamo infatti nella Silicon Valley) porta
Boomerang Technology nella sfera d'interesse di Visio Corporation,
un produttore di software grafico. Visio Corporation rilascia
nel 1998 IntelliCAD 98, prima versione commerciale del software,
che fornisce il supporto di Visual Basic, di AutoLisp e la
compatibilità completa dei file con AutoCAD versione 14. Visio,
nel frattempo, acquisisce MarComp, una società che aveva sviluppato
la libreria API denominata AutoDirect2 DWG, che permetteva
la piena lettura e scrittura del formato di disegno DWG. Per
una propria strategia commerciale, Visio rilascia il codice
appena acquisito in formato libero dopo aver creato l'OpenDWG
Alliance, ora denominata Open Design Alliance (vedi
in seguito).
Nel settembre del 1999 Visio viene acquisita
da Microsoft, che era interessata al suo software per la creazione
di diagrammi tecnici ma non a IntelliCAD. Visio rende libero
tutto il codice di IntelliCAD 98 e promuove la creazione di
IntelliCAD Technology Consortium (ITC) con il compito di controllare
lo sviluppo e la protezione del codice.
Il Consorzio ITC
Il Consorzio ITC, costituitosi nel luglio
del 1999 su iniziativa di Visio Corporation, è un'organizzazione
indipendente senza fini di lucro che non vende il programma
direttamente ma concede l'accesso al codice sorgente di IntelliCAD
ai membri commerciali e non commerciali. I membri commerciali
pagano una tassa di adesione e possono sviluppare e vendere
le versioni commerciali di ProgeSOFT IntelliCAD, mentre i
membri non commerciali possono usare liberamente il codice
sorgente di IntelliCAD per uso interno o accademico.
Tutti i membri sono tenuti a segnalare i
nuovi miglioramenti apportati al software del Consorzio. In
questo modo lo sviluppo di IntelliCAD è garantito da
un grande numero di sviluppatori, distribuito a livello internazionale;
ciò rende di fatto questo software un prodotto largamente
diffuso.
Al Consorzio sono iscritte molte aziende
commerciali, soprattutto produttrici di software CAD, che
vedono nell'uso del formato sorgente DWG un modo concreto
per condividere l'interscambio dei disegni.
In Italia IntelliCAD è localizzato
e personalizzato da ProgeSOFT, una software house di Como
che partecipa al consorzio ITC dal 1998 e che nel 1999 lancia
la promozione "Free CAD" con l'offerta gratuita del programma
alle scuole che lo richiedono.
La software house ProgeSOFT ha rilasciato
una versione gratuita del programma ProgeCAD LT versione
2006, solo in lingua inglese, che opera con il formato DWG
nativo e quindi può essere usato per iniziare a disegnare
con un sistema CAD senza dover re acquisti impegnativi. Il
programma può essere scaricato gratuitamente dal sito:
In commercio sono disponibili alcuni pacchetti
CAD per Windows che presentano un prezzo contenuto rispetto
ai principali software CAD di riferimento. Citiamo qui alcuni:
CADopia: software house che aderisce al consorzio IntelliCAD.
(www.cadopia.com)
PowerCAD: software di disegno 2D e 3D con diversi moduli
a prezzi diversificati (www.givemepower.com)
Open Design Alliance
Anche se non è un programma CAD, l'Open
Design Alliance rappresenta un grande passo nella concretizzazione
di un formato CAD aperto e definito da uno standard
comune rispetto ai vari formati di disegno proprietari usati
dai molti sistemi CAD.
Nel 1998 viene costituito un consorzio non-profit
fra produttori e utenti di software CAD denominata OpenDWG
Alliance con lo scopo di promuovere il formato DWG, usato
da AutoCAD, come formato libero e standardizzato per lo scambio
dei file CAD. Con l'entrata nel consorzio di Bentley Systems
ed il sostegno anche di del formato DGN con l'OpenDGN, il
consorzio prende il nome di Open Design Alliance.
Programmi CAD per LINUX con licenza GNU/GPL
Con la diffusione del sistema operativo
Linux, alla fine degli anni '90 nascono molti programmi CAD
con licenza GPL o Open Source, spesso ad opera di singoli
programmatori. Molti di questi programmi sono rimasti solo
a livello di proposta di progetto o di livello Alfa,
senza raggiungere di fatto un livello di sviluppo considerato
maturo. Vogliamo qui riportare solo quelli che sono ritenuti
interessanti e che in ogni caso hanno raggiunto un buon livello
di diffusione.
Per avere un elenco dettagliato sui principali
CAD, il sito http://www.tenlinks.com fornisce
una serie aggiornata di link di sistemi CAD disponibili sul
mercato.
QCad: il CAD 2D per tutte le piattaforme
QCad è un software di disegno in due dimensioni che permette di realizzare disegni tecnici con le principali funzioni CAD di base. E' un software multipiattaforma disponibile per Windows, Mac OS X, Linux (per molte distribuzioni), Solaris e FreeBSD. E' pubblicato con licenza General Public License (GPL) ed è disponibile in varie lingue, italiano compreso. Contiene anche una libreria con circa 4.800 componenti. Il formato di espostazione e importazione è DXF. Il costo è molto contenuto, e parte da circa € 24 per licenza utente singolo. E' disponibile anche una Community Edition con il codice sorgente, sempre con licenza GPL.
Il programma BRL-CAD è un modellatore solido
di tipo Constructive Solid Geometry (CSG) cioè basato sull'algebra
booleana e sviluppato da più di 20 anni dal U.S. Army Ballistic
Research Laboratory (BRL). È lo stesso laboratorio che ha
sviluppato nel 1947 il famoso ENIAC, primo computer costruito
funzionante a valvole. BRL-CAD è stato sviluppato a partire
dal 1979 inizialmente per verificare il comportamento strutturale
dei carri armati in combattimento ( il primo è stato il carro
XM-1). In seguito è stato usato anche in altri settori, non
solo militari, come quelli per la modellazione dei solidi
e per l'analisi dei materiali applicati.
Nel 2001 è stato rilasciato come Open Source
Solid Modeling e reso disponibile con licenza GNU GPL nel
sito SourceForge.net per i principali sistemi operativi.
È dotato di un'interfaccia grafica molto
scarna ma fornisce prestazioni elevate di rendering in ray
tracing e un ambiente avanzato per l'analisi di modelli complessi,
facendo ricorso anche alle numerose librerie sviluppate in
diversi anni di applicazione. Nel 2005 al Convegno ACM Siggraph
è stato dedicata a BRL-CAD un'intera sessione di lavoro.
È un programma CAD Open Source molto versatile
e facile da usare con funzioni 2D e 3D dedicato in particolare
alla simulazione dei cinematismi e ai movimenti di componenti
anche complessi. È disponibile anche per Windows e ha registrato
una evoluzione in altri due software CAD denominati CADSM
e StCAD.
PythonCAD è un pacchetto scritto interamente
in linguaggio Pyton che ha raggiunto la versione 28 dal 2002
quando è stata rilasciato la prima volta. È un programma molto
spoglio e fornisce solo le basilari funzioni di disegno.
Mentre i programmi CAD con licenza Open Source
realmente efficaci non sono molto numerosi, stranamente sono
numerosi i programmi di rendering di qualità attualmente disponibili
sia per ambiente operativo Windows sia per Linux e Unix.
La rassegna fornita è aggiornata sui principali
programmi di rendering e di animazione che sono realmente
disponibili e che sono utilizzati anche nelle rappresentazioni
di architettura.
POV - Ray
Persistence of Vision Raytracer (POV-Ray)
è stata una delle prime librerie grafiche di alto livello
rese disponibili con la licenza Open Source.
Nato da un precedente programma di rendering
per il computer Amiga, nel 1991 è stato distribuito come free
software dal suo autore David K. Buck e realizzata anche la
versione per Windows.
Anche se con un'interfaccia solo testuale,
forniva sin dall'inizio funzioni di rendering molto avanzate
rispetto agli altri software commerciali, come la modellazione
CSG e le texture procedurali.
Con le varie versioni successive, l'ultima
è la 3.6, si è evoluto con una ricca libreria di oggetti
e di texture, con raffinate funzioni di ray-tracing e di
radiosity e un'interfaccia grafica completa.
È disponibile per i principali sistemi operativi
Windows, Mac OS/Mac OS X and i86 Linux.
I vantaggi che offre sono di essere multi
piattaforma, di fornire una modellazione NURBS, un raytracing
con radiosity e texture procedurali, un Physics Engine per
rilevare le collisioni, particolarmente utile per la programmazione
di giochi, funzioni di simulazione di fluidi e di animazione
con cinematica inversa.
Sorto dallo sviluppo di altri software,
Blender diviene una fondazione nel 2002 con una sottoscrizione
pubblica volta a acquistare i diritti del software e renderlo
libero. Nel 2004 i download superano il numero di 2 milioni.
Frutto dell'apporto gratuito di una comunità sempre più ampia,
Blender è diventato in poco tempo il concentrato delle funzioni
più avanzate del rendering e dell'animazione.
È stato usato nel rendering di alcune scene
di recenti film di azione.
Art of illusion è un programma di modellazione
e di rendering 3D sviluppato in Java e disponibile per i principali
sistemi operativi. Una funzione molto particolare di AoI è
la possibilità di editare le texture procedurali creando e
modificando in poco tempo in modo agevole texture complesse.
Se si cerca un modellatore di superfici
mesh di facile uso e che può esportare e importare i file
in diversi formati, allora si può ricorrere a Wings3D. È usato
per produrre modelli e scene per games elettronici e per creare
modelli complessi basati su mesh.
Steven Glanville ha scritto questo software
di animazione e di character animation non tanto per
scopi commerciali, ma perché ha una predilezione speciale
per la grafica 3D e l'animazione. Per iniziare a creare animazioni
senza investire grandi capitali può essere un buon punto di
inizia.
Radiance è stato sviluppato come
sistema di simulazione dell'illuminazione in ambienti chiusi.
Riesce a calcolare tutte le componenti geometriche e fisiche
di un modello d'ambiente e produce la mappa cromatica di un
modello d'illuminazione.
Il modello di ray-tracing riproduce il percorso
inverso della luce che colpisce la scena e restituisce un'immagine
molto realistica della scena. Per questo ha un vasta gamma
di settori di applicazione, come il lighting design, l'architettura
d'interno e della progettazione architettonica in generale.
Radiance è stato sviluppato con il contributo di U.S. Department
Of Energy e con l'appoggio del Governo Federale svizzero.
È tutelato dai diritti d'autore dell'Università di California.
RenderMan è un linguaggio creato dalla Pixar
per interfacciare il software di modellazione e quello di
rendering al fine di creare delle immagini fotorealistiche.
È usato in tutti i film di animazione degli ultimi anni prodotti
dalla Pixar,a partire dal primo Young Sherlock Holmes fino
ai più recenti Star Wars III e Chicken Little.
Se un software viene definito "compatibile RenderMan"
vuol dire che rispetta tutti gli standard richiesti nelle
specifiche della Pixar.
Pixar ha quindi
pubblicato le specifiche e detiene la paternità della "RenderMan
Interface Specification". RenderMan è un marchio registrato
da Pixar.
Programma di rendering compatibile con le
specifiche RenderMan, è una implementazione Open Source delle
funzioni di base e delle principali librerie grafiche con
uso del linguaggio Renderman Shading. Supporta la modellazione
NURBS e CSG oltre che il motion blur (Effetto movimento).
Aqsis è rilasciato con licenza GNU GPL.
È un modellatore solido procedurale, compatibile
con le specifiche RenderMan, che fornisce anche prestazioni
di animazione e di rendering di buon livello. Utilizza il
motore grafico Aqsis ed ha una struttura modulare aperta,
strutturata per poter utilizzare plugin grafici di altri produttori.
K-3D è rilasciato con licenza GNU GPL per Linux and Win32
Questa opera è pubblicato sotto Licenza
Creative Commons.
Se qualche link dovesse cambiare o se siete a conoscenza di altri CAD vi preghiamo di segnalarcelo a: cad corsiinrete punto it