Subscribe to the Free Software Supporter — the monthly update from the Free Software Foundation
 [immagine di un Brave GNU World]
Brave GNU World - Numero 35
Copyright © 2002 Georg C. F. Greve <greve@gnu.org>
Tradotto da Marco Parrone <marc0@autistici.org>
Condizioni di copia in basso.

[DE | EN | FR | IT | JA | ES | KO | PT]

Benvenuto ad un altro numero del Brave GNU World. Come annunciato nel numero precedente, saranno presentati per gli abitanti dell'emisfero settentrionale alcuni modi in più per passare i freddi giorni di Gennaio. I lettori più seri troveranno del software scientifico.

NetHack - Falcon's Eye

Falcon's Eye [5] è un'interfaccia utente grafica per il gioco NetHack, [6] che ha una ben meritata comunità di fan da circa 20 anni ad ora. Questo rende NetHack uno dei più vecchi giochi per computer soggetti ad ulteriore sviluppo.

NetHack è un gioco per un giocatore singolo simile a Rogue in cui un giocatore aspira a esplorare segrete solitamente sotterranee ed a sopravvivere agli incontri con creature spesso ostili. Un altro gioco proprietario e ben conosciuto di questo genere è "Diablo" della Blizzard, ad esempio.

Il contenuto e la giocabilità di NetHack sono abbastanza complessi, perciò i giocatori con un'attitudine del tipo "se si muove, uccidilo" vedranno presto i loro personaggi affrontare una morte infelice. Tuttavia l'interfaccia di NetHack è molto semplicistica. Essendo senza sonoro e basato solo su caratteri ASCII, la fantasia del giocatore è messa alla prova. Ciò offre certamente il vantaggio di poter giocare a NetHack in una console o in un terminale, ma un pò più di "raffinatezza visiva" a volte è anche carina.

Questo è dove entra in gioco Falcon's Eye. Esso rimpiazza le grafiche ASCII con un display isometrico ad alta risoluzione con effetti di luce dinamici, alcune schermate di interfaccia ed una sequenza introduttiva grafica. Fornisce anche effetti sonori per i diversi eventi nel gioco e permette di avere una musica MP3 o MIDI di sottofondo.

Falcon's Eye aggiunge anche nuovi modi di controllare il gioco dal momento che permette l'uso del mouse, il movimento attraverso il "pilota automatico" e menù sensibili al contesto. Una descrizione degli oggetti con i cosidetti "Tooltips" (suggerimenti, N.d.T.) permettono ai principianti di iniziare a giocare più facilmente.

L'interfaccia è molto personalizzabile. Non solo può essere scelta la risoluzione dello schermo, ma anche gli effetti sonori e la mappatura dei tasti possono essere modificati.

Il contenuto del gioco stesso è distribuito da NetHack, questo è il motivo per cui la combinazione viene chiamata "NetHack - Falcon's Eye."

Falcon's Eye è stato scritto per lo più solo dallo sviluppatore finlandese Jaakko Peltonen: non solo si è preso carico della programmazione e dell'interfaccia, ma ha anche fatto le immagini e le musiche. Tuttavia una parte importante del processo di sviluppo sono stati le richieste degli utenti ed il feedback, dal momento che gli hanno permesso di migliorare il progetto in molti modi.

Jaakko pensò la prima volta a questo progetto nel 1999, quando ha fatto esperimenti con la grafica isometrica. Ha scoperto NetHack solamente dopo, quando aveva realizzato che il suo progetto originale, cioé corredare Ultima IV con un' interfaccia utente grafica, fallì a causa del fatto che Ultima è software proprietario.

Lo sviluppo iniziò nell'Ottobre 2000 e da allora un sacco di tempo e lavoro sono stati spesi su Falcon's Eye: solo l'interfaccia ha subito cinque revisioni. Al momento Jakko è occupato nel correggere errori e problemi e nel pensare a proposito di rendere l'interfaccia più attrattiva includendo delle animazioni. La natura basata sui turni di NetHack rende ciò un pò difficile, ma almeno le animazioni "statiche" come il tremolio delle torce dovrebbero essere possibili.

Anche la prossima versione conterrà un sacco di nuove grafiche che miglioreranno l'attratività generale ed è anche pianificata la capacità di zoom. Specialmente in quest'area c'è un sacco di libertà per dei potenziali volontari che vogliano lavorare a Falcon's Eye.

La complessità di NetHack rende anche impossibile per Jaakko scoprire tutti i problemi da solo, perciò ha bisogno di persone che lo provino giocando. Sono sicuro che non ci dovrebbero essere problemi a trovare persone che vogliano fare questo "sacrificio".

Falcon's Eye è stato scritto in C con alcune parti in C++ dove diventava necessario: per accedere alle DirectX, ad esempio. NetHack - Falcon's Eye è stato testato e gira su GNU/Linux, DOS, Windows (95+), BeOS e Solaris SPARC.

Installare NetHack e Falcon's Eye dai sorgenti è ancora problematico, ma fortunatamente ci sono pacchetti precompilati e aiuto on-line disponibili per rendere questo passaggio molto più semplice.

Esattamente come NetHack stesso, Falcon's Eye è stato rilasciato sotto la "NetHack General Public License" scritta da M. Stephenson, che è stata scritta per essere simile alla "BISON General Public License" scritta da Richard M. Stallman anche se oggigiorno questa licenza è stata rimpiazzata dalla " GNU General Public License".

Dopo tutti questi anni di sviluppo senza assegnazioni di copyright, cambiare la licenza di NetHack è probabilmente impossibile. Ma sarebbe più utile pubblicare Falcon's Eye sotto la GNU General Public License dal momento che esso non ha questa costrizione.

Ma questo non dovrebbe trattenerti dal divertirti un sacco con Falcon's Eye o possibilmente a contribuire ad esso.

VegaStrike

Il secondo gioco di questo numero, VegaStrike, [7] è un simulatore di combattimento spaziale 3D sotto la GNU General Public License che certamente non deve temere di competere con i giochi proprietari.

All'inizio, Daniel Horn, uno studente dell'Università di Berkeley, California, scrisse un clone basato su GLide del gioco proprietario "Wing Commander", che fù anche menzionato sulla pagina web della Origin.

Stando a ciò che dice Daniel, quel codice era estremamente brutto e sporco, dal momento che a quei tempi lui non conosceva molto a proposito di programmazione. Perciò decise di iniziare da capo e scrivere un simulatore di combattimento spaziale interamente personalizzabile senza nessuna connessione con il gioco "Wing Commander".

Non sapendo a riguardo di Software Libero o GNU/Linux a quei tempi, decise inizialmente di scriverlo per Windows usando OpenGL e D3D. Non era pianificato, ma nel Gennaio 2001 decise di portarlo a GNU/Linux e rese VegaStrike indipendente dalla piattaforma.

La versione attuale di VegaStrike usa C++ e le librerie OpenGL, OpenAL, glut, SDL ed expat. L'ultima è usata per analizzare dati XML, che VegaStrike usa estensivamente per tutte le configurazioni e comunicazioni. Agli occhi di Daniel, questo esclusivo e largo uso di XML è uno dei grandi vantaggi di VegaStrike, dal momento che permette anche ai non-programmatori di configurare ed espandere VegaStrike.

Negli anni passati, VegaStrike è migliorato con l'aiuto di altri studenti da Berkeley e altri membri della comunità Free Software, cosa che lo ha reso una delle migliori simulazioni di combattimento spaziale disponibile al momento.

Ma lo sviluppo è ancora lontano dall'essere concluso. Dopo che le questioni tecniche saranno sistemate, VegaStrike si svilupperà simultaneamente in due direzioni. Da una parte, la parte esplorativa e le interazioni sociali saranno espanse per i giocatori a esperienze singole o con amici. Sarà possible guadagnare risorse finanziarie attraverso il commercio, la pirateria o l'apertura di mercati ed i giocatori potranno entrare in politica.

Dall'altra parte, gli aspetti strategici saranno espansi, in modo che i giocatori possano controllare diverse navi alla volta, guidando grandi flotte nei combattimenti.

Per realizzare tutti questi piani, il gruppo del progetto cerca ancora aiuto in molte forme. Ha bisogno di persone con talento artistico per lavorare ai modelli 3D, sviluppatori che vogliano lavorare su una base indipendente dalla piattaforma e collaudatori di gioco che bilancino i valori delle differenti parti e componenti. A Daniel piacerebbe anche trovare qualcuno per migliorare ulteriormente il modello fisico.

È stato detto abbastanza. Se sei interessato in VegaStrike, dai uno sguardo alla sua pagina web. [7]

GSL

La "GNU Scientific Library" (GSL) [8] è una moderna libreria numerica che fornisce un'enorme numero di procedure matematiche in C e C++. La libreria stessa, che è disponibile secondo i termini della GNU General Public License, è stata scritta in ANSI C.

Le oltre 1000 funzioni fornite da GSL coprono aree come generazione di numeri casuali, trasformazioni Fourier veloci (FFT), istogrammi, interpolazione, integrazione Monte Carlo, funzioni per vettori e matrici, permutazioni o algebra lineare.

La libreria segue un disegno orientati agli oggetti e permette il caricamento o il cambiamento di funzioni dinamicamente senza il bisogno di ricompilare il programma. Gli utenti con un po' di esperienza in C non dovrebbero avere problemi ad usare la GSL, grazie alla documentazione piuttosto estensiva di 500 pagine disponibile on-line. Nel vicino futuro sarà anche possibile acquistare un manuale che sarà simultaneamente disponibile sotto la GNU Free Documentation License.

L'interfaccia è stata disegnata specificatamente per permettere l'uso di GSL in linguaggi di alto livello come GNU Guile o Python e ovviamente la GSL è thread-safe.

Il progetto iniziò circa 5 anni fà, quando il Dr. M. Galassi e il Dr. J. Theiler del Los Alamos National Laboratory iniziarono a lavorare ad una libreria di calcolo consistente e solida di Software Libero. Da quei giorni, è stata sviluppata da un gruppo di fisici con esperienza nel campo della fisica computazionale.

In modo da evitare errori negli algoritmi, algoritmi provati e testati in Fortran furono reimplementati per GSL quando possibile.

Ulteriori piani includono l'aggiunta di più funzionalità, ma la conservazione della consistenza e della stabilità è predominante, perciò dopo un periodo di lavoro abbastanza intensivo, ora la GSL può essere considerata stabile e pronta per un uso quotidiano.

Specialmente nella scienza, dove il lavorare in modo cooperativo in gruppi internazionali con risultati riproducibili è essenziale, usare software proprietario è qualcosa che non può essere capito.

Brian Gough, che ha completato il questionario di Brave GNU World per GSL, ha evidenziato questo nella sua email. Il costo addizionale per le licenze del software, le limitazioni nell'uso del software e la successiva pubblicazione dei risultati prodotti da esso oltre anche alla mancanza di trasparenza inerente al software proprietario fanno del Software Libero l'unica scelta accettabile per la scienza.

La GSL con molta coscienza ha scelto la GNU General Public License per assicurare che le applicazioni scientifiche rimarranno alla comunità scientifica dopo la loro pubblicazione.

Oltre alle considerazioni pratiche ed al rispetto per la privacy, la GNU General Public License permette modifiche "fatte in casa" e applicazioni che non devono essere pubblicate.

Solo dopo che sono distribuite fuori da una compagnia, casa o istituto, i termini della GPL devono essere sostenuti. C'è un parallelismo stupefacentemente ovvio nella generazione e pubblicazione di risultati scientifici in questo.

GNU GaMa

Il nome del prossimo progetto, GaMa, [9] è un acronimo per "Geodesia e Mappatura". Almeno i geografi dovrebbero essere al corrente del fatto che il progetto contiene dalle aree della metrologia geologica, rilevamento remoto e cartografia.

I geografi dovrebbero perdonare la semplificazione, ma questo richiede alcune parole di introduzione per i non geografi: come la maggior parte delle persone sà, la superficie del nostro pianeta ha sempre tenuto delle sfide per i cartografi. Per essere in grado di creare mappe bidimensionali, sono usate differenti proiezioni, ogniuna delle quali distorge alcune caratteristiche.

Ma anche la metrologia esatta a tre dimensioni non è facile, dal momento che un geoide rotante ruzzolante attraverso lo spazio, che è ciò che il pianeta Terra è in realtà, non ha punti di riferimento fissi. Ogni misura di posizione è sempre soggetta ad errori, relativi a misure tra due punti arbitrari.

Come in molte altre discipline, ciò è contrastato facendo tante misure quante è possibile. Nella Geografia queste misure sono chiamate "osservazioni". Il mettere in correlazione tutte queste osservazioni fra di loro in modo da generare il miglior modello possibile della realtà è l'obiettivo della "geodesi", un ramo della matematica applicata.

C'è bisogno di tenere conto del fatto che la geodesi deve fare una dichiarazione a riguardo della qualità e del raggio di errore dei risultati basata sulla qualità delle osservazioni iniziali. Chiunque abbia mai fatto del colcolo d'errore avrà una vaga idea di cosa significhi tutto ciò.

GNU GaMa può calcolare delle reti geodetiche locali con una quantità essenzialmente illimitata di osservazioni di diversi tipi. Le osservazioni possono essere specificate nel formato XML e possono essere anche inserite in GNU GaMa attraverso un'email.

Il linguaggio di programmazione usato per GNU GaMa è il C++ ed il codice sorgente è stato mantenuto abbastanza indipendente dalla piattaforma per compilare su sistemi GNU e Windows. Essendo una parte del Progetto GNU, GaMa è disponibile sotto la GNU General Public License.

Un ulteriore sviluppo di GaMa tenta di creare dei componenti indipendenti comunicanti tramite XML in modo da migliorare l'efficienza e si spera che GNU GaMa un giorno sarà in grado di calcolare reti geodetiche globali.

Ales Cepek iniziò a lavorare a GaMa nel 1998 ma ricevette presto aiuto da studenti del suo dipartimento e altri. Hanno contribuito a GNU GaMa sopratutto Vesely, Petr Doubrava, Jan Pytel, Jan Kolar e Petr Soucek.

È necessario aiuto per revisionare la documentazione e per creare la GUI Qt pianificata a cui sta attualmente lavorando Jan Pytel. Si spera che quest'ultima renderà GNU GaMa molto più attrattivo all'utente finale.

Se sei ulteriormente interessato alla geografia basata sul computer, dai uno sguardo alla pagina web di FreeGIS. [10]

GNU indent

La storia di GNU indent [11] iniziò nel 1976 come una parte dell'UNIX BSD che successivamente fù "donata" alla Free Software Fundation, il che rende il programma quasi vecchio quanto Unix stesso.

GNU indent aiuta a migliorare la leggibilità del codice sorgente C e può convertire tra loro diversi tipi di formattazione del sorgente C. Dal momento che diversi sviluppatori, progetti o compagnie molto spesso considerano diversi tipi di formattazione essere i più comprensibili, questo può essere estremamente utile. Le impostazioni standard di GNU indent sono di convertire il codice sorgente in accordo con il "GNU Coding Standards".

Inoltre, GNU indent può essere usato per controllare la sintassi C ed aiuta a cercare errori ed in questo modo a mantenere dei progetti.

Il progetto è stato scritto in ANSI C ed è pubblicato sotto la GNU General Public License dalla FSF; specialmente la sua età e la sua flessibilità rendono il programma piuttosto speciale.

Il manutentore corrente, David Ingamells, che ha preso GNU ident da Carlo Wood recentemente, cerca aiuto per l'internazionalizzazione, dal momento che attualmente è disponibile solamente in Inglese e Taiwanese.

Perciò se vuoi aiutare a mantenere vivo ed attrattivo per gli altri utenti un membro della vecchia guardia, questa è la tua occasione.

"Parliamo di Software Libero"

La Free Software Foundation Europe [12] ha lanciato l'iniziativa "Parliamo di Software Libero" [13] nella metà di Novembre 2001.

Le iniziatrici della campagna furono delle compagnie attorno e nel Software Libero che si lamentavano dell'uso improprio e confuso del termine "Open Source" che chiesero alla FSF Europe di evidenziare pubblicamente il perché Software Libero non è solo il concetto migliore ma anche il termine migliore.

Gli argomenti centrali sono che il Software Libero è più facile da capire dal momento che si riferisce alle libertà che definisco il fenomeno, che è più difficile da abusare e che la definizione è più solida. Il Software Libero fornisce anche valori aggiunti che non sono parte dell'Open Source.

L'iniziativa ha ricevuto un eco molto positivo, specialmente dalle compagnie coinvolte un pò di più nel Software Libero. Dieci di esse hanno chiesto immediatamente di essere elencate sulla pagina web della campagna.

Anche la risposta da persone private è stata abbastanza buona. In un caso la FSF Europe ha fatto un'eccezione ed ha elencato il supporto sulla pagina: Bruce Perens, co-fondatore del movimento Open Source e autore delle Debian Free Software Guidelines e della Open Source Definition ha chiesto di essere elencato come un supporatore dell'iniziativa. Come ha annunciato precedentemente, lui parla di nuovo di Software Libero.

Se sei interessato all'iniziativa o vuoi che la tua compagnia sia elencata, dai uno sguardo alla pagina web. [13]

Arrivederci...

È tutto per il Brave GNU World questo mese, spero che alcuni di voi hanno ricevuto alcuni suggerimenti ed impressioni interessanti.

Come al solito voglio incoraggiare idee, domande, commenti e presentazioni di progetti interessanti al solito indirizzo, [1] perchè solo il solido supporto della comunità del Software Libero rende possibile il Brave GNU World.

Info
[1] Inviare idee, commenti e domande a Brave GNU World <column@brave-gnu-world.org>
[2] Pagina principale del Progetto GNU http://www.gnu.org/
[3] Pagina principale del Brave GNU World di Georg http://brave-gnu-world.org
[4] Iniziativa "Noi usiamo GNU" http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html
[5] Pagina principale di NetHack - Falcon's Eye http://www.hut.fi/~jtpelto2/nethack.html
[6] Pagina principale di NetHack http://www.nethack.org
[7] Pagina principale di VegaStrike http://vegastrike.sourceforge.net
[8] Pagina principale della GNU Scientific Library http://www.gnu.org/software/gsl/
[9] Pagina principale di GNU GaMa http://www.gnu.org/software/gama/
[10] Pagina principale di FreeGIS http://www.freegis.org
[11] Pagina principale di GNU indent http://www.gnu.org/software/indent/
[12] Pagina principale della Free Software Foundation Europe http://fsfeurope.org
[13] Pagina principale di "Parliamo di Software Libero" http://fsfeurope.org/documents/whyfs.it.html

[ numero precedente | pagina principale di Brave GNU World | numero successivo ]

Ritorna alla pagina principale di GNU.

Per informazioni e domande sulla FSF e GNU rivolgersi, possibilmente in Inglese, a gnu@gnu.org.
Altri modi per contattare la FSF.

Commenti sul Brave GNU World di Georg, in Inglese o Tedesco, a column@gnu.org,
commenti su queste pagine a webmasters@www.gnu.org,
altre domande a gnu@gnu.org.

Copyright (C) 2001,2002 Georg C. F. Greve
Tradotto da Marco Parrone.

Sono permesse la copia letterale e la distribuzione di questo articolo nella sua integrità, a condizione che siano riprodotti il copyright e questa nota.

Aggiornato: $Date: 2008/06/16 16:43:13 $