Gnutella è una rete decentralizzata di condivisione di file peer-to-peer. Con risultati simili a quelli del vecchio Napster, gli utenti di Gnutella sono in grado di cercare una canzone o un file attraverso uno dei client di Gnutella e quindi scaricare quel file sul proprio disco rigido. Ciò che rende Gnutella diverso da Napster è il fatto che manca di un server centrale e, invece, ciascuno dei computer in rete funge sia da server che da client.
Per utilizzare Gnutella, gli utenti mettono i file che sono disposti a condividere su dischi rigidi e li rendono disponibili ad altri per il download nel normale metodo peer-to-peer. Quindi, utilizzando uno dei numerosi client di Gnutella tra cui BearShare, Gnucleus, LimeWire, Morpehus, WinMX e XoloX, un utente digita il nome della canzone o del file nel campo di ricerca del software. Il computer quindi si connette ad almeno un altro computer tramite Gnutella e controlla se quel computer ha il file desiderato. Il computer è stato programmato con l’indirizzo IP di un altro computer o utilizza uno dei server preprogrammati del suo software. Quel computer si connette quindi ad almeno un altro e il processo continua all’infinito, fino a quando non viene trovato il file o il limite del tempo di vita (TTL) della ricerca non è scaduto.
Una delle qualità più decantate di Gnutella è il fatto che funziona sempre; se un utente è in grado di connettersi con almeno un altro computer, durante la ricerca viene interrogata l’intera rete, non solo un server. Ciò, tuttavia, significa che non vi è alcuna garanzia che il file desiderato si trovi su uno dei computer raggiunti attraverso la rete. La ricerca può anche richiedere un minuto o più prima che venga ricevuta una risposta.
Sebbene Gnutella sia di per sé legale negli Stati Uniti, poiché la condivisione di file di pubblico dominio è legale, l’atto di utilizzare Gnutella per distribuire musica protetta da copyright e altri file è illegale. Tuttavia, la mancanza di un server centrale da parte di Gnutella rende molto difficile per un’ingiunzione del tribunale chiudere il servizio. Alcuni oppositori del servizio hanno trovato il modo di sconvolgere la rete con un sovraccarico di ricerche false o un’inondazione di file corrotti.
Il primo client di Gnutella è stato sviluppato nel 2000 da Nullsoft, che era appena stata acquisita da AOL. Il programma è stato reso disponibile per il download sui server dell’azienda per un giorno, il 14 marzo 2000. In seguito AOL ha ritirato il programma a causa di problemi legali, ma non prima che migliaia di persone lo avessero scaricato. Queste copie scaricate hanno stimolato cloni open-source e gratuiti, che continua ad essere il modo in cui Gnutella esiste oggi.