Pubblicato il codice sorgente della FONERA

FON LogoFon ha finalmente reso disponibile il codice sorgente del sistema operativo de La Fonera, regolarizzando la propria posizione nei confronti della licenza GPL.

Trovate il codice sorgente qui.

Come si poteva immaginare, la distribuzione utilizzata come base per il nuovo sistema operativo de La Fonera è Open-WRT, come risulta chiaro dal README contenuto nell’archivio dei sorgenti.

Leggi tutto

I driver Linux Realtek RTL8111(B)/RTL8168(B) e i programmatori dislessici

Se qualcuno avesse in mente di compilare i driver linux-r1000(103).zip per il kernel 2.6.x Linux, abbia la bontà d’animo di sopportare la caritatevole indulgenza di Realtek, che ha deciso di dare pane e lavoro a programmatori dislessici.

Se provate a compilare i sorgenti come modulo, infatti, vi troverete con una bella caterva di errori:


root@moveaway:/usr/src/r1000# make clean modules
make -C src/ clean
make[1]: Entering directory `/usr/src/r1000/src'
rm -f *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags
make[1]: Leaving directory `/usr/src/r1000/src'
make -C src/ modules
make[1]: Entering directory `/usr/src/r1000/src'
make -C /lib/modules/2.6.16.18/build SUBDIRS=/usr/src/r1000/src modules
make[2]: Entering directory `/usr/src/linux-2.6.16.18'
CC [M] /usr/src/r1000/src/r1000_n.o
/usr/src/r1000/src/r1000_n.c: In function ‘r1000_close’:
/usr/src/r1000/src/r1000_n.c:1450: error: ‘entdev’ undeclared (first use in this function)
/usr/src/r1000/src/r1000_n.c:1450: error: (Each undeclared identifier is reported only once
/usr/src/r1000/src/r1000_n.c:1450: error: for each function it appears in.)
make[3]: *** [/usr/src/r1000/src/r1000_n.o] Error 1
make[2]: *** [_module_/usr/src/r1000/src] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.16.18'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/r1000/src'
make: *** [modules] Error 2
root@moveaway:/usr/src/r1000#

Ahi, ahi. Che è successo? Osservate la riga evidenziata in grassetto:

/usr/src/r1000/src/r1000_n.c:1450: error: ‘entdev’ undeclared (first use in this function)

Mmmmmmmm…..ma cosa è questa entdev?

All’interno della directory in cui è sono stati decompressi i sorgenti del driver si trova una directory

src

nella quale è presente il file

r1000_n.c

Apriamolo e posizioniamoci alla riga 1450:


#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) synchronize_irq (); #else synchronize_irq(entdev->irq);
#endif
free_irq (netdev->irq, netdev);

Notato qualcosa? Semplicemente netdev (NETwork DEVice) è magicamente diventato entdev, il tutto per 1 sola volta. Il che porta a una inconsistenza dei sorgenti. Come riparare il tutto? Semplicemente correggendo entdev in netdev:


#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) synchronize_irq (); #else synchronize_irq(netdev->irq);
#endif
free_irq (netdev->irq, netdev);

Ora non resta che lanciare una nuova compilazione:


root@moveaway:/usr/src/r1000# make clean modules
make -C src/ clean
make[1]: Entering directory `/usr/src/r1000/src'
rm -f *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags
make[1]: Leaving directory `/usr/src/r1000/src'
make -C src/ modules
make[1]: Entering directory `/usr/src/r1000/src'
make -C /lib/modules/2.6.16.18/build SUBDIRS=/usr/src/r1000/src modules
make[2]: Entering directory `/usr/src/linux-2.6.16.18'
CC [M] /usr/src/r1000/src/r1000_n.o
CC [M] /usr/src/r1000/src/r1000_ioctl.o
LD [M] /usr/src/r1000/src/r1000.o
Building modules, stage 2.
MODPOST
CC /usr/src/r1000/src/r1000.mod.o
LD [M] /usr/src/r1000/src/r1000.ko
make[2]: Leaving directory `/usr/src/linux-2.6.16.18'
make[1]: Leaving directory `/usr/src/r1000/src'

Il modulo è pronto:

root@moveaway:/usr/src/r1000# ls -lah src/r1000.ko
-rw-r--r-- 1 root root 23K 2006-07-06 10:31 src/r1000.ko
root@moveaway:/usr/src/r1000#

Non rimane che lanciare gli ultimi due comandi necessari per l’installazione del nuovo modulo e il suo caricamento automatico all’avvio:


make install
depmod -a

Con buona pace dei programmatori dislessici di Realtek…

Online il PDF del primo capitolo del libro Linux per il Web

Un altro capitolo, un’altra piccola parte di un mio “vecchio” libro, finisce online. Questa volta tocca a Linux per il Web un testo dedicato a chi vuole cimentarsi nell’installazione di programmi per l’erogazione di servizi internet: Apache come web server, Vsftp per l’FTP, Qmail per la posta, MySQL come database, PHP per lo scripting e SSL per la criptazione delle pagine.

Ho scelto il primo capitolo perché propedeutico alla comprensione di come funziona l’architettura client/server in internet, vista da una piattaforma Unix. In queste prime pagine si inizia a comprendere cosa si intende per demoni e super demoni, a manipolare il file inittab e a capire la struttura dele directory di avvio, degli script di inizializzazione del sistema e con la gestione dei carichi su un server. Insomma, si prende confidenza anzi direi si approfondisce, con i fondamentali della gestione di un server, di tutto ciò che bisogna conoscere ancora prima di mettere mano su Apache o qualche altro programma specifico. Come divertissement, troverete come creare dei semplici sensori, usando un tcp wrapper, che vi avvertiranno di eventuali attacchi provenienti dalla rete.

Risorse.net/ commenta Linux per il Web in questo modo:

Linux per il Web, edito da Tecniche Nuove, è un volume tascabile che ha la missione di portare il lettore “dall’altra parte di internet”, ovvero far comprendere quali difficoltà si celino dietro l’offerta di una pagina Web, di un messaggio di posta da scaricare o semplicemente di un file da scaricare. E dietro una pagina Web, per il 60% secondo le ultime statistiche elaborata da Netcraft, c’è un server basato si Unix/Linux. Il motivo di tale predominio è facilmente intuibile e non riconducibile in un unico fattore. Innanzitutto il sistema operativo è nato prima, in secondo luogo il maggior concorrente Microsoft ha capito solo da poco l’importanza del mercato nel settore server, quindi la vera battaglia inizia ora con il nuovo Windows 2003. Il vantaggio competitivo in termini di maggiore tempo a disposizione per lo sviluppo ha portato Linux ad essere un sistema efficiente, stabile e sicuro. Il server di Powerstats.it ad esempio si basa completamente su sistemi e tecnologie Open Source.

Cliccate qui per caricare la scheda del libro dalla quale potrete scaricare il capitolo in formato PDF.

Beh, cosa dire di più? Non mi rimane che augurarvi, anche in questo caso, buona lettura 🙂

Capitolo 1
Demoni e super demoni

I demoni
Inittab
Initscript, un ambiente per tutti
La struttura delle directory di avvio
Gli script di avvio
Inetd, il superdemone
Sicurezza avvolgente

Open Document? Non è GPL, Brian Jones afferma…

Oasis logoQuella che segue è la traduzione di un post dal blog di Brian Jones, program manager in Microsoft Office, da 5 anni impegnato sulle funzionalità XML e i formati file di questo programma.

Ancora sulle licenze prive di royalty per i formati Microsoft Office Open XML

Bene, ora che il PDC (Microsoft Professional Developers Conference) è terminato, ho avuto l’occasione di esaminare le questioni e i commenti sollevati dalla nostra discussione della scorsa settimana. Continuano a esserci parecchi commenti riguardanti le licenze che usiamo per i formati Microsoft Office Open XML. Le domande che ho ascoltato sono:

  1. Queste licenze sono compatibili con i progetti Open Source?
  2. Nello specifico, sono compatibili con la GPL?
  3. Vi è una garanzia che Microsoft non cambierà la licenza sotto i piedi della gente? Quanto saranno accessibili questi formati fra 100 anni?

Come ho detto nei post precendenti, penso che le licenze siano un grande passo avanti e per quasi tutti i clienti, non c’è davvero alcun aspetto negativo in questo. Ci sono già molti strumenti in circolazione che evidentemente non hanno alcun problema nel lavorare con i nostri schemi. Sun per esempio sceglie la LGPL per Open Office. Vi ho esposto i miei pensieri e come penso che il nostro programma di licenza sia compatibile con LGPL. Infatti, non ho visto ancora un prodotto che si volesse integrare con gli schemi di Office ma non fosse in grado di farlo. Potete dare un’occhiata ad altri formati, e anche questi hanno simili licenze.

Addentriamoci nella questione GPL dato che è di questo che si è parlato principalmente. Ho apprezzato i commenti di tutti nei precedenti post e voglio riferirmi specificamente a Craig Ringer che ha scritto degli ottimi commenti sulla GPL. La gente ha chiesto una risposta del tipo si/no a riguardo della compatibilità con la GPL, e il succo è che penso che abbia ragione nell’affermare che la licenza Microsoft per gli schemi di riferimento dell’XML di Office non siano compatibili con la GPL. La GPL dice che non ci può essere una richiesta affinché citiate l’autore del programma (qualcosa chiamata “attribuzione”). La GPL dice inoltre che non potete imporre una limitazione sul sub-licenziamento dei diritti di proprietà intellettuale (IP). Come dice Craig, la licenza Microsoft ha entrambi questi requisiti, quindi non è compatibile con la GPL. Ora, decidere se queste condizioni sono importanti per voi è una vostra incombenza, ma dal mio punto di vista accennare che lo schema è venuto da noi e non sub-licenziare i diritti di proprietà intellettuale sembra essere completamente ragionevole. Quelle sono realmente le uniche due questioni che sto sentendo renderle incompatibili. Vi sono altre licenze simili alla GPL che non hanno queste restrizioni aggiuntive.

So che per molte persone la GPL è una spedie di sinonimo di “open source”. (Ho letto tuttavia che la GPL sta passando un processo revisione). Davvero non sono d’accordo con questo punto di vista. Penso che sia troppo restrittivo. Su www.opensource.org sono elencate tonnellate tonnellate di licenze open source. Ci sono persone che dicono che nessuna di queste sono davvero buone, tranne la GPL? Prendiano inoltre a esempio questa particolare situazione. La licenza Microsoft dice che voi (lo sviluppatore) potete scrivere un programa che può leggere e scrivere gli schemi di riferimento dell’XML di office, ma dovete citare Microsoft da qualche programma dichiarando che avete usato i nostri schemi. Cosa vi è di sbagliato in questo? Non la considero una restrizione estremamente onerosa tale da spingere la gente a rifiutare la licenza. Direi lo stesso della questione relativa al sub-licenziamento. Se la licenza è libera ed è disponibile a chiunque nel mondo, dov’è la questione? Una volta scritto il programma sotto la licenza, siete chiaramente tutelati.

Lasciatemi richiamare un paio di altre questioni sollevate da Craig. Egli dice:

…la licenza non sembra essere disponibile per sempre. In altre parole, i termini possono essere cambiati in qualsiasi momento ed essere applicati alle implementazioni esistenti. Quando il software può essere redistribuito dagli utenti finali e altre aziende, è difficile che ciò possa funzionare. Sia la GPL che la LGPL richiedono che il software possa essere redistribuito da qualsiasi utente finale.

La licenza è in realtà perpetua. Date un’occhiata, si prova proprio qui: http://www.microsoft.com/mscorp/ip/format/xmlpatentlicense.asp. Lo dice chiaramente nella concessione della licenza ed è confermata nella Q&A (Questions & and Answers – Domande & Risposte) sul sito. La Q&A si trova qui: http://www.microsoft.com/Office/xml/faq.mspx

Davvero non capisco la questione relativa alla possibilità che possa essere cambiata in qualsiasi momento. Se accettate la licenza, avete un accordo. Microsoft non può tornare più tardi e dire che l’accordo è differente. Non vedo alcuna restrizione in questa licenza che riguardi la distribuzioni di programmi creati sotto questa licenza.

Ecco un altro commento di Craig:

Proprietà intellettuale/brevetti. La licenza stessa sembra d’altronde ragionevole, ma contiene un enorme inganno dato che non rivela quali altre proprietà intellettuali/brevetti Microsoft possono essere richieste e offrendosi di licenziarli negli stessi termini. Una licenza aperta per i formati è inutile se i termini della licenza del brevetto richiesto per il suo uso sono inadatti.

Questo è un argomento che posso comprendere. Il linguaggio del brevetto è difficile da leggere, ma quando lo scorro, sembra dire che tutti i brevetti e le applicazioni dei brevetti che sono applicabili a questo spazio sono licenziati. ciò è meglio della situazione in cui un’azienda rende noti certi brevetti e dice che sono licenziati ma non vi dice cosa d’altro vi sia. Microsoft dice che tutti i suoi brevetti e applicazioni sono licenziati in questo spazio, quindi non avete bisogno di preoccuparvi.

Visto che siamo in argomento, penso sia importante che tutti voi diate un’occhiata alla situazione simile relativa all’Open Document. Molte persone sembrano semplicemente presumere che dato che si tratta di uno standard, non vi siano questioni riguardanti i diritti intellettuali e siatutto molto chiaro. Bene, diamo uno sguardo a questo: http://www.oasis-open.org/committees/office/ipr.php Sun sembra dire che potrebbe detenere una proprietà intellettuale sulle specifiche dell’Open Document. Mentre Sun dice di essere intenzionata a fornire una licenza priva di royalty, si dovrebbe comunque chiedere a Sun una licenza. La licenza non appare sul sito. Sarebbe interessante da vedere, e probabilmente tenterò di vedere se riuscirò a trovarla. La sola affermazione sul sito rivela che come minimo, pongono almeno una condizione – dovete concedere a Sun una licenza reciproca.

Si riferisce anche di una serie di una scadenza sulla quale IBM sta lavorando alacremente: http://blogs.zdnet.com/BTL/?p=1887. A cosa assomiglia la licenza IBM? Sarebbe interessante fare un controllo.

In definitiva, le risposte alle domande elencate più sopra sono:

  1. Si, lavoriamo con un gran numero di licenza open source (ma non tutte).
  2. No, la GPL non consente le restrizioni riguardanti l’attribuzione e il sub-licenziamento che la licenza MS Office Open XML Formats richiede.
  3. Si le licenze sono perpetue e non dovete preoccuparvi che cambino sotto i vostri piedi. I file che registrate saranno liberamente accessibili per sempre.

Sperò che ciò sia d’aiuto. mi dispiace che abbiamo dovuto passare così tanto tempo su questo argomento e non altrettanto sulle reali tecnologie e architetture dei formati. Cercherò di tornarvi sopra al più presto, dato che è ciò di cui sono maggiormente interessati coloro che mi hanno contattato via email.

-Brian

L’origine dei nomi

Come dicevano i romani, nomen omen.

Eh, si, già, perché, come dire, già nella Bibbia Dio svela all’uomo il nome segreto delle cose, così da metterle in suo possesso.

Insomma, la credenza che il nome sia presagio di un destino si perde davvero nelle nebbie del tempo. Ciò che sei è ciò che ti rimane addosso dalla nascita fino alla morte e oltre.

Dall’interessante blog di Ravi traggo una breve storia sull’origine dei nomi di alcune fra le più grandi aziende dell’Information Technology. Il testo è un po’ rimaneggiato, integrando alcune notizie interessanti, prese qua e la, principalmente da Wikipedia.

Yahoo!

Il termine Yahoo! è stato inventato da Jonathan Swift e utilizzato nel suo libro “I Viaggi di Gulliver” per rappresentare un individuo dall’aspetto repellente e dai modi incivili.

I fondatori di Yahoo!, Jerry Yang e David Filo scelsero nel 1994 questo nome perché si consideravano alla stregua del personaggio descritto dal termine coniato da Swift.

Xerox

Fondata come Haloid Company nel 1906, l’azienda cambia nome In Xerox, dalla la radice greca xer che sta a indicare qualcosa di secco. E’ proprio questo aspetto, infatti che, distingue la nuova tecnologia di riproduzione a secco dei documenti, inventata da Chestor Carlson, dalle metodologie a “umido” largamente utilizzate negli anni quaranta.

Sun Microsystems

Fondata nel 1982 da quattro studenti della Stanford University, Vinod Khosla, Scott McNealy, Bill Joy e Andy Bechtolsheim, Sun è l’acronimo di Stanford University Network.

Sony

Il nome dell’azienda fondata il 7 Maggio 1946 da Masaru Ibuka e Akio Morita deriva da un incrocio fra il latino sonus, ovvero suono, la parola sunny, soleggiato, e il termine gergale anglonipponico sonny-boy, l’equivalente di ragazzo in gamba.
Dato che il termine Sonny ricordava troppo nella pronuncia la parola giapponese soh-nee, il cui significato può essere tradotto in “Gli affari vanno male”, Akio Morita volle utilizzare una parola che non esistesse nel vocabolario di una qualsiasi lingua, ovvero “Sony”

SAP

Fondata nel 1972 da cinque ex dipendenti di IBM, la tedesca Systemanalyse und Programmentwicklung (“Systems, Applications and Products in data processing”) è la più grande azienda di software in Europa.

Red Hat

Red Hat, creatura di Marc Ewing che nel 1993 la portò alla luce, deve il suo nome al cappello della squadra di Lacrosse della Cornell University (caratterizzato da strisce rosse e bianche) che venne donato al fondatore dal nonno ai tempi del college. Nel manuale della versione beta di Red Hat Linux si può leggere l’appello di Ewing ai lettori affinché lo restituissero in caso venisse ritrovato.

Oracle

Azienda californiana, di Redwood, la storia di Oracle inizia nel 1977 con Larry Ellison e Bob Oats impegnati in un progetto della CIA denominato Oracle. Il progetto non ebbe un futuro, il database sviluppato in quella occasione si tant’è che venne fondata RSI, che in seguito avrebbe preso il nome del db, ovvero Oracle.

Motorola

Fondata nel 1928 da Paul V. Galvin con il nome di Galvin Manufacturing Corporation, l’azienda vede apparire la denominazione Motorola come nome di una nuova linea di autoradio (motor=automobile, ola=suono), dal marchio di una famosa azienda di apparecchi radio, Victrola.

Nel 1947 Galvin Manifacturin Corporation cambia la propria denominazione sociale in Motorola.

Microsoft

E’ il 1975 quando Bill Gates e Paul Allen danno vita a Micro-Soft, azienda volta alla creazione di SOFTware per MICRO computer. Da qui il nome, che negli anni ha perso il trattino diventando l’odierna Microsoft.

Lotus

Originariamente chiamata Lotus Development Corporation, la società fondata nel 1982 da Mitch Kapor and Jonathan Sachs diventa semplicemente Lotus Software dopo l’acquisizione da parte di IBM nel 1995.

Il nome della società deriva dalla “Posizione del Loto”, detta anche “Padmasana”, della tecnica dello yoghi Maharishi Mahesh insegnata da Mitch Kapor.

Intel

Nel 1968 i fondatori Bob Noyce e Gordon Moore vollero chiamare la loro società, ‘Moore Noyce’, ma questo era un marchio già utilizzato da una catena di hotel e quindi si rassegnarono all’acrononimo di INTegrated ELectronics.

Hewlett-Packard

L’1 Gennaio 1939 Bill Hewlett e Dave Packard fondarono l’omonima azienda dopo avere lanciato una moneta per decidere se si sarebbe dovuta chiamare Hewlett-Packard o Packard-Hewlett.

Hotmail

Jack Smith e Sabeer Bhatia nel 1995 ebbero l’idea di creare un’azienda che offrisse un nuovo servizio: l’accesso alla propria email da qualsiasi computer collegato a internet, grazie a un semplice navigatore. Trovata l’idea, Smith si ingegnò per scovare il nome adatto finché arrivò a escogitare Hotmail, che contiene sia il termine mail, ovvero posta, che html, chiaro riferimento al linguaggio di programmazione utilizzato per il web: nei primi tempi, infatti, il servizio si chiamava HoTMaiL.

Google

L’origine del nome Google è ben strana. Inizialmente i due fondatori, Larry Page e Sergey Brin, volevano chiamare la propria società Googol, con un termine coniato da Milton Sirotta, nipote del matematico Edward Kasner, e reso famoso dal libro “Mathematics and the Imagination” di Kasner e James Newman.
La parola googol indica un numero rappresentato da un 1 seguito da 100 zero e doveva servire a indicare la missione della nuova società: indicizzare l’infinito contenuto presente sulla rete.

Cisco

Più che un’azienda, quasi un’agenzia matrimoniale visto che Cisco Systems nasce nel 1984 come società di famiglia grazie ai coniugi Leonard Bosack e Sandra Lerner. Cisco non è un acronimo ma l’abbreviazione di San Francisco, il cui famoso ponte Golden Gate appare stilizzato nel logo aziendale.

Apple

Si sa, la mela è il frutto preferito di Steve Jobs che, insieme a Steve Wozniak e ad Armas Clifford “Mike” Markkula Jr. diede vita ad Apple Computers l’1 Aprile 1976. In ritardo di 3 mesi nello scegliere il nome della società, Jobs minacciò i colleghi di chiamare la nuova azienda Apple Computers se nessuno avesso suggerito entro le 17 un nome più adatto.

Apache

A dispetto di quanto si trova scritto nel sito della fondazione che ne gestisce lo sviluppo, il più famoso web server di internet non deve il proprio nome a fiera popolazione indiana d’America ma alle sue origini un po’ “rappezzate”. E’ infatti opinione comune che il suo nome derivi da “A PAtCHy” server, ovvero server “rappezzato”, il che sta a indicare le origini di questo prodotto, ovvero una serie di “pezze”, in gergo “patch”, al più famoso server web del tempo (Apache ha visto la luce nel 1995), ovvero HTTPd 1.3 della NCSA .

Adobe

Se Steve Jobs ha preso come spunto la mela, John Warnok, cofondatore di Adobe insieme a Charles Geschke nel 1982, si è fatto dare una mano dal fiume Adobe (Adobe Creek) che scorreva dietro casa.

Linux

Nato nel 1991, Linux è uno di quei sistemi operativi che più ha goduto della pervasività offerta da internet: grazie alla rete molti lo hanno scaricato, conosciuto, adottato.

Non molti, però, sanno in quale modo è stato scelto un nome così strano: tutto nasce dall’inventiva di Ari Lemme, amministratore del sito ftp.funet.fi sul quale Torvalds mise per primo in libero download il suo sistema operativo.

In verità, Torvalds avrebbe voluto chiamare la sua creatura Freax, interessante combinazione fra free, freak e X come UniX. La popolarità, però, esige un tributo e il sistema operativo prese il nome della directory creata da Lemme per ospitare i file caricati da Torvalds.