Gnutella este o rețea descentralizată de partajare a fișierelor peer-to-peer. Cu rezultate similare cu vechiul Napster, utilizatorii Gnutella pot căuta o melodie sau un fișier prin intermediul unuia dintre clienții lui Gnutella și apoi să descarce acel fișier pe propriul hard disk. Ceea ce face ca Gnutella să fie diferit de Napster este faptul că îi lipsește un server central și, în schimb, fiecare dintre computerele conectate în rețea funcționează atât ca server, cât și ca client.
Pentru a folosi Gnutella, utilizatorii plasează fișierele pe care sunt dispuși să le partajeze pe hard disk-uri și le pun la dispoziție altora pentru descărcare în metoda normală peer-to-peer. Apoi, folosind unul dintre numeroșii clienți ai Gnutella, inclusiv BearShare, Gnucleus, LimeWire, Morpehus, WinMX și XoloX, un utilizator introduce numele cântecului sau al fișierului în câmpul de căutare al software-ului. Computerul se conectează apoi la cel puțin un alt computer prin Gnutella și caută să vadă dacă acel computer are fișierul dorit. Computerul fie a fost programat cu adresa IP a altui computer, fie folosește unul dintre serverele preprogramate ale software-ului său. Acel computer se conectează apoi la cel puțin un altul și procesul continuă și mai departe, până când fie fișierul este găsit, fie limita de viață a căutării (TTL) a expirat.
Una dintre cele mai apreciate calități ale lui Gnutella este faptul că funcționează mereu; dacă un utilizator se poate conecta cu cel puțin un alt computer, întreaga rețea este interogată în timpul căutării, nu doar un server. Acest lucru înseamnă, totuși, că nu există nicio garanție că fișierul dorit se află pe oricare dintre computerele la care se ajunge prin rețea. Căutarea poate dura, de asemenea, un minut sau mai mult înainte de a primi un răspuns.
Deși Gnutella este în sine legală în Statele Unite, deoarece partajarea fișierelor din domeniul public este legală, acțiunea de a folosi Gnutella pentru a distribui muzică protejată prin drepturi de autor și alte fișiere este ilegală. Cu toate acestea, lipsa unui server central al lui Gnutella face foarte dificil ca o hotărâre judecătorească să închidă serviciul. Unii oponenți ai serviciului au găsit modalități de a deranja rețeaua cu o supraîncărcare de căutări false sau o inundație de fișiere corupte.
Primul client Gnutella a fost dezvoltat în 2000 de Nullsoft, care tocmai fusese achiziționat de AOL. Programul a fost pus la dispoziție pentru descărcare pe serverele companiei timp de o zi – 14 martie 2000. Ulterior, AOL a renunțat la program din cauza unor preocupări legale, dar nu înainte ca mii să fi descărcat programul. Aceste copii descărcate au stimulat clonele open-source și gratuite, care continuă să fie modul în care există Gnutella și astăzi.