Il Blog del Della (2005 – 2010)

Libertà di espressione e collaborazione, dall'Open Source al Social Networking. Pensieri e informazione da Daniele Dellafiore.

Archivi Mensili: aprile 2005

Valori

“I worry about my child and the Internet all the time, even though she’s too young to have logged on yet. Here’s what I worry about. I worry that 10 or 15 years from now, she will come to me and say ‘Daddy, where were you when they took freedom of the press away from the Internet?'”
–Mike Godwin, Electronic Frontier Foundation

http://freenet.sourceforge.net/

Neologismi: folksonomy

Recentemente mi sono imbattuto in questa nuova parola. Cosa è la Folksonomy? Sulla wikipedia si trova una risposta esauriente:

Sono cose affascinanti, alcuni dei siti citati sono pure parecchio noti e utilizzati. Quello che riguarda la musica sono in particolare GenieLab e upto11 di cui si trova il link in quella pagina. Per cercare musica sembrano molto buoni in quanto garantiscono, ad esempio, la possibilità di cercare che so “canzoni da viaggio”. In inglese chiaramente. E’ una cosa tipica il desiderare un po’ di musica per una determinata situazione ed è sempre stato difficile reperire questo tipo di informazioni. Qui invece si può e la scelta sicuramente sarà varia in quanto molta gente diversa usa e fa crescere questo servizio.

Io l’ho usato poco per ora, ad ogni modo mi pareva utile segnalarlo

Visioni sul futuro della rete

Come è la Rete basata sul P2P?

Immaginiamo questo scenario, tanto per iniziare. Qualcuno, e intendo dire proprio chiunque, pubblica sulla rete una nuova risorsa.
Cosa è una risorsa? Un qualsiasi file, di qualsiasi tipo. Un documento, un filmato, un’immagine. Anche un filmato in streaming, che è solo di passaggio sulla rete. Qualsiasi cosa in formato digitale è una risorsa.
Cosa significa “lo pubblica sulla rete”? Immaginiamo un parallelo con la pubblicazione di informazioni su un sito web. Qualcuno, con l’autorizzazione per farlo, pubblica una nuova notizia su un sito. O una nuova immagine, o un nuovo filmato. Un bel giorno, qualcun altro in un modo o nell’altro capiterà su quel sito e troverà quella risorsa, quell’informazione. Perchè ci è capitato? Può capitare per caso, perchè ha trovato il link dopo una qualche ricerca o perchè è iscritto a una qualche forma di “avvertimento” con cui il sito avvisa alcuni utenti di avere nuove risorse disponibili: una mailing list, un feed RSS o anche altro. Un parallelo simile si poteva fare anche solo con una mailing list, su cui uno scrive e molti ricevono l’informazione: basta essere iscritti.

Tornando a noi, pubblicarlo sulla rete significa quindi dire alla rete che è disponibile una nuova risorsa. La rete, poi, renderà noto a tutti coloro che partecipano alla rete stessa che quella risorsa è disponibile. Quindi la rete non è un repositorio fisico di risorse (mentre un sito web lo è, non lo è però una mailing list che al limite ha un archivio): qui la rete è solo un meccanismo per informare tutti i suoi partecipanti dell’esistenza di una nuova risorsa.
A questo punto io, iscritto alla rete, vedo che c’è questa nuova risorsa. Esattamente come succede per una pagina web, posso avere o non avere un programma adatto a visualizzarlo e se non lo ho, posso procurarmelo.
La cosa interessante è quindi che la risorsa sta all’inizio solo sul computer di chi la ha messa a disposizione. Poi comincia a circolare e si ritroverà su più computer. Ma la risorsa è sempre quella, la rete la identifica univocamente: semplicemente, come succede già oggi nei programmi di file sharing, essendo disponibile su più nodi della rete sarà più veloce recuperarla.

Cosa ho ottenuto fin’ora? Ho ottenuto la possibilità per chiunque di pubblicare risorse e per gli altri di recuperarle. Cose peraltro possibile già adesso, in un modo o nell’altro. Ma andiamo oltre.
Ad esempio, sicuramente molti si saranno già chiesti svariate cose, tipo: “ma come, io vengo informato di tutto quello che accade in rete?”. Bè, chiaramente no, come d’altronde non avviene oggi. Ogni istante una quantità enorme di risorse vengono messe in rete e nessuno ci avvisa, fortunatamente. Veniamo avvisati solo di quelle poche che ci interessano tramite i soliti meccanismi che non sto a elencare.
La stessa cosa succederebbe sulla rete p2p. Per questo motivo serviranno dei nodi che offrano servizi di indicizzazione e ricerca, per permetterci di andare alla ricerca di risorse in posti che non stavamo “ascoltando”. Chiaramente questi nodi dovranno essere macchine molto potenti, saranno cioè i nodi dei vari google e compagnia.

Insomma lo scenario non sembra molto diverso da quello odierno. Ci sono nodi che offrono risorse: alcuni li ascoltiamo sempre, altri no e cerchiamo le informazioni attraverso motori di ricerca. Quindi? Il vantaggio dove sta?

Fin’ora in effetti è solo uno: quello di distribuire le risorse in vari punti per renderle più facilmente accessibili. Pensiamo a quanto si è affermata una tecnologia come bittorrent, utilizzata anche da noti siti che archiviano software o altro per permettere un download più veloce, in quando i loro server e la loro banda non erano sufficienti.
Un’altro vantaggio è quello, già citato, di poter trasmettere quantità di dati maggiori sfruttando appunto la distribuzione del carico: Sarà così possibile avere video streaming a bitrate elevati.

Ma il vero vantaggio sarà probabilmente un’altro ed è per me legato alla “comodità” di usufreuire di tutti questi servizi. Il vero vantaggio sta nel fatto che questa tegnologia ci permetterà di portare la rete nelle applicazioni.   Ho scritto bene, sì: la rete nelle applicazioni.
Fino ad oggi abbiamo programmi che usano la rete per fare cose che non potrebbero fare altrimenti. Ma ora che la rete è ovunque possiamo andare oltre. Ora qualsiasi programma può esare la rete esattamente come se fosse la scheda grafica o l’hard disk. Pensiamo a una console, quelle per i videogiochi, senza hard disk. Lei non ha quel tipo di funzionalità, cioè quelle di archiviare i dati. Deve ricorrere a schede di memoria, che offrono un supporto limitato per l’archiviazione. E infatti alcune console moderne hanno il disco perchè è ritenuto indispensabile.
Oggi io posso leggere le notizie su un sito web tramite il browser, cercare e scaricare file attraverso un programma di file sharing, leggere le email con il client di posta elettronica, scambiare messaggi con il mio software di Instant Messaging, scambiare file con un altro programma ancora…
In realtà qui si tratta sempre e solo di un’unica cosa: la condivisione di informazioni.

Queste informazioni si trovano quasi sempre in un file, più raramente sono flussi (testo, audio, video…). Ma finita lì. Oggi abbiamo decine di software per reperire quelle informazioni. E attenzione, dico reperire apposta nel senso che è giusto che ci siano diversi software per usufreuire delle informazioni (player audio, visualizzatori di immagini…) ma è già più strano che ce ne siano di diversi per reperirle.

Immaginiamoci uno spazio virtuale dove stanno quelle risorse.  Quello spazio sono tutti i computer collegati alla rete, dal computer della grande azienda a quello di casa nostra. Tutti pubblicano. La rete sui cui una risorsa è stata pubblicata manda in giro quell’informazione. Ognuno di noi può filtrare quelle notifiche. Qualcuno indicizza tutto. In quello spazio stanno le risorse di qualsiasi tipo.

Un enorme vantaggio lo vedo a livello locale, di piccole reti. Magari di una rete privata tra amici. Oggi è possibile che un gruppo di persone si “legga” su un forum di qualche genere. Poi magari c’è il canale IRC, e tutti hanno il rispettivo numero ICQ. Magari c’è il sito della community, dove appaiono le notizie. Se vogliono scambiarsi file devono farlo con metodi scomodi che magari non funzionano attraverso firewall o NAT e allora devi rivolgerti a Skype… Tutto per restare aggiornati, diciamo, sulle novità della community.
Questo perchè il tutto non è network-centrico ma software-centrico. La community è legata da un’idea e usa diversi software (che usano la rete) per scambiarsi informazioni e risorse. Immaginiamoci invece che il centro sia la rete, grossa o piccola che sia, che nasce legata a una community. Immaginiamoci la rete privata di un gruppetto di una decina di amici. Ci si collega alla rete e si usano i servizi che questa mette a disposizione. Se è la rete degli appassionati di fotografia, ci sarà un modo comodo e veloce per pubblicare sulla rete le fotografie che saranno immediatamente rese visibili a tutti. Magari invece a turno faranno da DJ e trasmetteranno musica agli altri, come se fossero una piccola radio. Ovviamente è facile aspettarsi che tutte le reti offrano servizi base quali ad esempio l’instant messaging. Ma mi immagino anche un qualche software per fare i blog: a tutti arriva una risorsa che altro non è che un articolo di un blog, proprio come questo. Esattamente come per questo, c’è un programma che da un testo semplice produce un testo formattato e impaginato. Solo che invece di archiviarlo sul server lo manda sulla rete e chiunque lo potrà visualizzare.

Ora, non è che queste cose non siano possibili adesso, ma sicuramente sono più difficili da mettere in pratica. In un qualche modo è tutto molto dispersivo. Forse proprio perhè sono tanti i programmi per reperire le risorse. E perchè il concetto di “rete privata” legata a una comunità di persone non esiste. Esistono tanti software che servono allo scopo ma non è automatico venirne in possesso. Al contrario, quando è la rete stessa, a seconda del suo scopo, a fornire ai suoi iscritti i software adatti, le cose cambiano.
E la rete non è la rete di un dato provider o chissàchi: chiunque può creare una rete privata e decidere di rendere disponibili tutti i servizi che vuole in quanto questi servizi sono software disponibili per tutti, costruiti apposta per funzionare con quel tipo di rete, che è uguale per tutti.

Peer to peer: dappertutto e per qualsiasi cosa

P2P è una parola, o meglio un acronimo, che al giorno d’oggi significa semplicemente file sharing per la maggior parte della gente. Anzi, per la maggior parte della gente probabilmente non significa proprio nulla.
Ad ogni modo, che il P2P sarebbe diventato il futuro della rete Internet era chiaro a molti già da un po’. Ma il 2005 è l’anno dell’esplosione di questo “fenomeno”.

Già, proprio mentre le major dell’industria cinematografica e discografica con l’appoggio dei governi tentano di distruggere le reti P2P e chi le fa e le usa, tutte le persone che, diciamo, fanno parte dell’ambiente si sono accorte delle incredibili potenzialità che queste tecnologie offrono. Superare i limiti della rete di oggi significa andare oltre il concetto di: piccolo computer che chiede informazioni –> grosso computer che le fornisce. Client e Server.

Un programma di file sharing funziona secondo questo principio: i dati stanno in molti posti, quindi tanto vale poterli recuperare da ciascuno di quei posti, in modo da sfruttare tutte le risorse disponibili: la banda di tutti, il computer di tutti e così via. I risultati si vedono.

Ma ben presto qualsiasi servizio della rete sarà offerto in questo modo. Esisteranno le “reti” e ognuna di queste offrirà dei “servizi”. Così come oggi le reti di file sharing offrono il servizio, appunto, di file sharing. Ma è solo una delle possibilità. Servizi più standard come IRC, Instant Messaging, ricerca e quant’altro potranno sfruttare in un modo o nell’altro il P2P.

Quello che è più interessante sono le possibilità di avere servizi oggi impensabili per via dei limiti dell’archtettura Client-Server. Qualche mese fa colto da un moto di fastidio per una particolare situazione, cominciai a cercare su Google le seguenti tre parole: “video streaming p2p”.
Cosa cercavo? Volevo vedere se qualcuno al mondo aveva già pensato di sfruttare le reti p2p esistenti, o perlomeno i concetti del p2p non per condividere e scambiarsi file ma per far viaggiare all’interno di quella rete dei filmati in streaming.
Perchè per, per visualizzare qualche pagina web con due o tre immagini un server web va benissimo da anni. Ma per i filmati la cosa + diversa e ce ne si accorge ogni giorno quando si prova a vedere un video da un sito web: dimensione ridotta e spesso lentezza. Se però quel filmato passasse attraverso una rete p2p e quella rete fosse composta da nodi veloci (vale a dire, computer con connessioni veloci), bè allora il carico del filmato sarebbe distribuito sulla rete e non graverebbe su di un unico server.
All’epoca, era novembre o già di lì, non trovai quasi nulla se non un paio di tesi di dottorato con demo non funzionanti.
Bene, provate oggi.

Un po’ diversa la situazione vero? E son passati solo sei mesi.
In ogni modo, l’altra sera ho visto Liverpool-Juve trasmessa da ESPN con telecronaca in cinese. E non ho alcun abbonamento per TV a pagamento. E l’ho vista in maniera legale (ed ero a casa mia davanti al mio PC). Questo semplicemente usando un programmino di cui si sta parlando molto di recente: http://coolstreaming.org/

Questo è il primo software che permette di fare quello che ho descritto sopra: video streaming su una rete p2p. E si vedeva bene! La qualità del video era quella che era, ma comunque sufficiente. E questo perchè chi mandava in giro il filmato, vale a dire un qualche sito cinese, lo mandava con quella qualità. Basta migliorare la sorgente e il gioco è fatto.
E coolstreaming non è che il primo esperimento. Molte cose si muovono all’orizzonte ma ne parlerò un’altra volta. Di fatto la rete oggi è un filo lenta per applicazioni davvero soddisfacenti di questo tipo. Se tutti avessero i 10 Mbit di fastweb sarebbe un discorso, ma con troppe connessioni ADSL con poca banda di uscita in giro la situazione non è ottimale. Maè solo questione di poco tempo dopo tutto solo cinque anni fa già l’ISDN era un miraggio per molti…