base

Il software è come una torta

Immaginate la vostra nonna, che riceve dalla vicina una ricetta. La mette in pratica, vede che il risultato non è quello sperato, aggiunge un ingrediente, cambia il tempo di cottura, ottenendo un’ottima torta. Una di quelle torte che rientreranno presto nel personale bagaglio di conoscenze che l’aiuterà ad avvicinare i nipoti, avidi di dolci.

Vedete nulla di strano in tutto ciò?

Ora immaginate uno scenario di questo tipo. La nonna ottiene una torta dalla vicina, che le fa firmare un contratto di non diffusione, non modifica, di utilizzo solo personale dello scambio appena avvenuto. Perplessa, la nonna firma, e prende un pezzo di torta: non è perfetta, sa bene che qualcosa nella cottura o negli ingredienti non è stato fatto con la dovuta cura. Ma non può nulla: senza ricetta, non riesce a partire da quella torta per migliorarla, e non la può nemmeno dare ai nipoti.

Il software libero nasce dallo stesso problema, riscontrato da un gruppo di informatici, che erano infastiditi dall’impossibilità di adattare i programmi alle proprie esigenze. In più, i dati digitali hanno un costo di replicazione molto basso, cosa che rende ancora più seccante il divieto di condivisione.
D’altra parte tutta la scienza, prima di incontrare il business e la privatizzazione della ricerca, era basata sulla condivisione delle conoscenze, che permetteva il vero progresso tecnologico.

L’idea di condividere le proprie scoperte ed i propri risultati, quindi, non era affatto nuova.

Così Richard Stallman, un programmatore del MIT, decise di iniziare un nuovo progetto che prevedeva lo sviluppo di tutto un sistema operativo (GNU), che è il programma di base dei computer (due esempi sono Linux e Windows). Per fare questo, però, serviva un modo per favorire e difendere la sua creatura dagli attacchi che avrebbe ricevuto dall’esterno: se avesse lasciato tutti liberi di fare qualsiasi cosa con il programma, qualcuno avrebbe potuto prenderlo e mettervi sopra un Copyright, impedendo la copia agli stessi autori originali. Per questo motivo inventò un Copyright tutto particolare, che per queste peculiarità volle chiamare, con un tipico gioco di parole, Copyleft.

Permessi di autore in opposizione ai diritti d’autore.

In pratica, la licenza d’uso che segue i programmi che si rientrano nel software libero, chiamata General Public License, permette a tutti di copiarli, modificarli e venderli a patto che ogni modifica segua la stessa licenza. Per fare in modo che questo avvenga in pratica è necessario che siano resi sempre disponibili i sorgenti del programma. Tornando all’esempio della torta, la ricetta “sorgente” deve essere sempre fornita quando si vende o si regala il dolce. Se qualcuno decide di modificare la ricetta e quindi il risultato, deve fornire ad ogni persona che riceve la torta, ottenuta con il metodo modificato, la nuova versione della ricetta. In questo modo funziona il software libero: milioni di persone nel mondo si scambiano programmi, scrivendone pezzi o modificandone parti, purché vengano mantenute queste libertà. Nessuno può impedirne la copia, perché gli autori stessi hanno deciso di dare il loro permesso e di ottenere in cambio la stessa possibilità di utilizzo delle modifiche. Così è nato Linux, per mano di Linus Torvalds, che iniziò il progetto, e per mano di tantissimi altri che contribuirono e contribuiscono ad aggiungere pezzi.
Ma con il software libero, non si annulla l’industria dell’informatica? No, come è vero che le pasticcerie sono sempre aperte. Inanzitutto non tutti hanno capacità e tempo di lavorare sui programmi, e la spesa per l’acquisizione dei sistemi informatici si sposta dalla vendita di copie (licenze) alla personalizzazione ed ai servizi di assistenza. Lo spazio è poco, ed il discorso è complesso ed interessante, sia dal punto di vista tecnico che filosofico, tanto che gli stessi discorsi stanno arrivando anche ad altri ambiti della cultura, dalla letteratura alle arti, passando per l’ingegneria e l’architettura. Se vorrete, continueremo il discorso spostandoci inizialmente su un’altro aspetto dei diritti d’autore: i brevetti.

Internet e le nuove tecnologie abbattono le distanze tra le persone, e le persone, a volte, decidono di utilizzare questo vantaggio per collaborare a qualcosa di buono. Sempre che riescano a rimanere liberi di farlo, senza che qualcuno impedisca loro di scambiarsi idee.

Di chi sono le idee?

Nei mesi scorsi si è molto discusso sui problemi di proprietà intellettuale, di come essa vada tutelata dalle leggi, di come realizzare un giusto equilibrio che permetta ai cittadini di rispettarle e trarne giovamento. La comunità europea si è quindi messa al lavoro sulla regolamentazione dei brevetti, con particolare attenzione a quelli riguardanti il software, una delle poche parti non brevettabili secondo le leggi vigenti. Il motivo di questo improvviso interesse si può ricercare nella continua pressione di grosse multinazionali americane, che vogliono creare una uniformità di trattamento tra l’Europa e gli Stati Uniti. Negli States, infatti, è possibile brevettare il software, mentre in Europa è stato espressamente vietato dalla convenzione di Monaco del ’73, e c’è stata una forte attività di lobbying per cercare di espandere questa possibilità anche nel vecchio continente.

Questa decisione porta considerazioni economiche, culturali, politiche ed etiche, ed una trattazione seria di tutto l’argomento richiederebbe una letteratura molto più vasta di un solo articolo, per questo motivo mi limiterò a dare un mio giudizio sulle questioni etiche che stanno alla base del problema dei brevetti sul software, perché lo ritengo particolarmente interessante.

Il software altro non è che l’applicazione pratica di algoritmi e metodi matematici. Partire da un’idea diversa è sbagliato, e potrebbe trarci in inganno. Tutto quello che vediamo, dai programmi di videoscrittura ai programmi per la navigazione, sono dirette o indirette applicazioni di algoritmi matematici e paradigmi di statistica e matematica discreta. A volte lo sono indirettamente, quando il programmatore non ha realizzato l’opera utilizzando formule ed espressioni matematiche, ma in questo caso il suo lavoro poggia su quello di altri, che hanno creato le basi per facilitare il suo compito. Tutto questo è necessario per capire il motivo per il quale non è possibile brevettare il software, ma solamente proteggerlo con il copyright.

I brevetti servono per proteggere le innovazioni tecniche, dove per innovazione viene inteso un miglioramento dello stato dell’arte di un settore finalizzato alla produzione. Se invento un modo per produrre energia dall’acqua, posso proteggerla tramite un brevetto. I brevetti sul software, così come sono intesi in America, sono invece brevetti sulle idee. Un esempio può essere l’idea di barra di scorrimento, quella che utilizziamo per vedere le pagine successive di un documento, oppure l’idea di utilizzare un pulsante che richiami una funzione. Dietro questo tipo di idee non c’è una innovazione che porti alla produzione, soprattutto quando quello che si vorrebbe brevettare riguarda unicamente l’interfaccia con la quale gestiamo alcune delle caratteristiche dei computer.

Molte associazioni, tra le quali anche il Forlì Linux User Group, hanno protestato con tutti i mezzi a loro disposizione contro l’introduzione dei brevetti sul software, non con l’obiettivo di liberalizzare la copia dei programmi, già protetta ad hoc dal Copyright, ma con la viva preoccupazione che si potessero brevettare anche nel nostro paese le idee alla base dell’utilizzo dell’informatica.

Sembrerebbe folle il solo pensiero di brevettare l’idea di un volante per automobili, cosa che impedirebbe ai cittadini di cambiare automobile nel corso degli anni, ma gli analoghi riferimenti nel campo dell’informatica, forse perché ancora lontani dalla cultura popolare, non destano altrettanta preoccupazione.

E’ difficile esprimere un giudizio su chi sia il proprietario di un’idea, e se questa “proprietà” vada tutelata per incentivare l’innovazione. In America i brevetti sul software non hanno funzionato, incentivando direttamente la nascita di monopoli settoriali, a causa delle enormi spese giuridiche alle quali sono continuamente sottoposte le ditte produttrici di software (con una media di 500’000 dollari a causa, per essere precisi).

Le idee sono il frutto di un’opera collettiva, nascono e si riproducono grazie allo scambio di informazioni e all’interazione di idee diverse, che ne procreano altre che saranno alla base delle prossime. Il teorema di Pitagora non è mai stato brevettato, ma non si può dire che la diffusione di questa idea non abbia portato innovazione. Per questo l’impossibilità del libero scambio delle idee non funziona come incentivo alla loro produzione, e quasi sempre accade l’esatto contrario, che queste derivino direttamente dalla possibilità di comunicazione.

Questo è chiaro anche ai legislatori americani, che ora stanno rivalutando il problema, ma che in passato probabilmente hanno pensato più agli interessi di pochi grandi, piuttosto che al bene dei cittadini che dovevano amministrare. In Europa continuiamo a resistere alla tentazione delle grandi multinazionali, impedendo la regolarizzazione dei brevetti software, speriamo che in futuro i cittadini prendano più coscienza e si rendano conto del rischio che corrono quando ignorano questi problemi.

Il rischio di perdere la proprietà e la paternità delle proprie idee.

LTSP with PXE boot MINI-HOWTO

LTSP with PXE boot MINI-HOWTO

Table of Contents

1)Introduction:
2)Install LTSP ( In my Red Hat 9 I have: ltsp_core, ltsp_kernel, ltsp_x_core , ltsp_x_fonts)
3)Install and configure TFTP Server ( tftp-server)
4)Install and configure DHCP Server ( dhcp)
5)Configure LTSP

Introduction:

PXE is a system used to boot a client pc without using a boot floppy or an hard disk. To use it, you must have a PXE compatible network card. When you will boot the pc, PXE will ask to a DHCP server an IP and the network configuration. After that, we will send a PXE image to the pc client, that will do a preliminar boot action and will search an Etherboot image, and then we will send the Etherboot image with LTSP kernel.
To make an LTSP server with PXE boot, you need this software: LTSP, TFTP, Dhcpd.

Install LTSP ( In my Red Hat 9 I have: ltsp_core, ltsp_kernel, ltsp_x_core , ltsp_x_fonts)

To install LTSP , you can use the binary packages for your distribution (rpm, deb), or the source packages . You can download it directly from www.ltsp.org. The installation of that packages is well described on www.ltsp.org/documentation, so I will not rewrite that instructions.

Install and configure TFTP Server ( tftp-server)

In a Red Hat, you must install tftp-server, with:

rpm -ivh tftp-server

and then edit the file /etc/xinetd.d/tftp, changing the line:

disable = yes

with

disable = no

That’s because the tftp server is executed into xinetd superserver, and it’s disabled by default for security matters.

Install and configure DHCP Server ( dhcp)

In a Red Hat, you must install dhcp, with:

rpm -ivh dhcp

Then you must configure all the clients to get an automatic IP and hostname, matching a MAC address. This is my configuration for two client pc:

# Sample configuration file for ISCD dhcpd
#
# Don’t forget to set run_dhcpd=1 in /etc/init.d/dhcpd
# once you adjusted this file and copied it to /etc/dhcpd.conf.
#

default-lease-time 21600;
max-lease-time 21600;
ddns-update-style none;

option subnet-mask 255.255.255.0;
option broadcast-address 172.16.0.255;
option routers 172.16.0.254;
option domain-name-servers 151.99.125.2;
option domain-name “folug.lan”;
option root-path “172.16.0.100:/opt/ltsp/i386”;

shared-network WORKSTATIONS {

subnet 172.16.0.0 netmask 255.255.0.0 { }
}

group {

use-host-decl-names on;
option log-servers 172.16.0.100;

host ws001 {

hardware ethernet 00:40:F4:66:EC:0F;
fixed-address 172.16.0.99;

if substring (option vendor-class-identifier, 0, 9) = “PXEClient” {
filename “/eb-5.0.10-rtl8139b.lzpxe”;
} else if substring (option vendor-class-identifier, 0, 9) = “Etherboot” {

filename “/lts/vmlinuz-2.4.19-ltsp-1”;
option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
}
}

host ws002 {
hardware ethernet 00:40:F4:47:CA:CF;
fixed-address 172.16.0.98;

if substring (option vendor-class-identifier, 0, 9) = “PXEClient” {
filename “/eb-5.0.10-rtl8139b.lzpxe”;
}

else if substring (option vendor-class-identifier, 0, 9) = “Etherboot”
{
filename “/lts/vmlinuz-2.4.19-ltsp-1”;
option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
}

}

}

The line :

f substring (option vendor-class-identifier, 0, 9) = “PXEClient” {

controls that at PXE boot the dhcp server sends the image given by filename expression. The image is downloaded from from http://www.rom-o-omatic.org∞, and it’s based on the type of network card. Put this image on /tftpboot directory, because we need to send it with tftp.
The path given in the filename expression is relative to tftpboot, so pay attention:
if the file is on /tftpboot/eb-5.0.10-rtl8139b.lzpxe, you must use the row:

filename “/eb-5.0.10-rtl8139b.lzpxe”; # correct

# and NOT :

filename “/tftpboot/eb-5.0.10-rtl8139b.lzpxe”; # error!!!

If you put the absolute path on hard disk, PXE will say File not found. The line:

else if substring (option vendor-class-identifier, 0, 9) = “Etherboot” {

Is used to send the second image to the client pc, with the LTSP kernel image. This is also relative to tftpboot, so pay attention again to NOT USE the server absolute path of the image. This image is into the ltsp-kernel package, and it’s located in

/tftpboot/lts/vmlinuz-2.4.19-ltsp-1

Configure LTSP

Now that you have configured tftp and dhcp with the use of PXE, we need to write the configuration file for the ltsp clients.
This file is located in

/opt/ltsp/i386/etc/lts.conf

and contains a configuration for each client:

[ws001]

XSERVER = auto
X_MODE_0 = 1024×768
LOCAL_APPS = N
USE_NFS_SWAP = N
SWAPFILE_SIZE = 48m
XkbLayout = it
RUNLEVEL = 5′

ws0001 must be the hostname of the client, given by dhcp server
Other options are available, but you must read the LTSP documentation, it’s useless a copy-paste other’s work in this mini-howto.

Auto Daewoo a doppia alimentazione

Ogni tanto parlo di auto economiche, che permettano di risparmiare sul carburante, inquinare meno ed utilizzare meno petrolio possibile. Uno dei temi più ricercati da chi arriva in queste pagine è proprio quello delle auto che consumano meno, argomento reso ancora più importante dagli ennesimi rialzi del petrolio, che si faranno sentire pesantemente sulle nostre tasche.

Io credo che, al di là di tutto, questi rincari portino anche una maggiore consapevolezza della fragilità della fonte energetica che utilizziamo maggiormente, che spero venga accompagnata anche da una adeguata politica (anche familiare, non necessariamente di larga scala) che preveda uno studio più accurato delle spese che dobbiamo sostenere, a partire dalle nostre auto per poi arrivare nelle bollette casalinghe.

Detto questo, volevo segnalarvi che la Daewoo ha recentemente deciso di fornire la possibilità di acquistare alcune proprie auto (Kalos, Lacetti, Nubira, Tacuma ed Evanda) anche nella versione a doppia alimentazione benzina – GPL.
Questo permette, con una spesa abbastanza contenuta, di appropriarsi della Kalos bipower a meno di 11’000 € (il costo di base di una Punto a benzina), che usufruisce dell’incentivo statale per le auto alimentate con carburanti ecologici, che inquina poco e che ci fa risparmiare fino al 50% dei costi di carburante.

Daewoo Kalos, un'auto davvero economica e dai bassi consumiLo spazio occupato dalle bombole sostituirà il ruotino di scorta, che a sua volta sarà accantonato in favore di un kit per la riparazione delle gomme (finalmente: le ruote di oggi non hanno necessità del ricambio, basta una bombola apposita per le riparazioni d’urgenza). Così il bagagliaio non risente di questa aggiunta, mantenendo il volume standard dell’auto e fornendo un’ulteriore motivazione per l’acquisto.

Purtroppo il GPL è un residuo della fabbricazione della benzina, derivato sempre dal petrolio, quindi il suo utilizzo ci vincola in ogni caso al prezzo del greggio, anche se in misura minore.

Per chi invece preferisce il metano, che porta vantaggi ancora più evidenti sul risparmio economico e sull’impatto ecologico, voglio segnalare l’uscita della Punto Natural Power che si affianca alla già supervenduta Multipla bipower (ora aggiornata anch’essa con il nome Natural Power) , vettura che nasce già con un buon impianto e quindi non risente dei difetti dell’installazione posteriore all’acquisto.

CNIPA: Convegno “Open source e brevettabilita’ del software”

Il Centro Nazionale per l’Informatica nella Pubblica Amministrazione ha organizzato un convegno sull’Open Source e la brevettabilità del software.

08 ottobre 2004

Luogo evento: presso la Banca d’Italia – “Centro Donato Menichella” in Largo Guido Carli, 1- Frascati (RM)

Il software open source è un modello di sviluppo, diffusione e cooperazione nel campo dell’Information Tecnology. Basato sull’adozione di programmi a codice sorgente aperto, ovvero applicazioni informatiche il cui sorgente può essere liberamente studiato, copiato, modificato e ridistribuito, il modello open source ne facilita il riuso.
L’interesse rispetto al modello open source sta rapidamente crescendo, non solo perché ad esso si associa la disponibilità di prodotti software con prestazioni simili a quelle ottenibili con prodotti di mercato, ma anche consente di fatto una standardizzazione dei sistemi informatici. È in effetti un prodotto dalle caratteristiche del web, di internet, ove il concetto di libertà del navigatore è la base sulla quale poggia il successo universale della Rete.
In considerazione di tale realtà la recente direttiva del Ministro per l’innovazione e le tecnologie emanata in materia include i programmi a codice aperto tra le soluzioni a disposizione delle Pubbliche Amministrazioni e favorisce il riuso dei programmi informatici.

Scopo del convegno di studio è quello di:

* illustrare con obiettività la situazione attuale, facendo il punto sul fenomeno open source e le reali criticità;
* presentare concrete esperienze ed autorevoli opinioni;
* definire un modus operandi, comune alle PA, per l’analisi comparativa delle soluzioni.

Torna su