Det viktigste i Gnutella er den underliggende protokoll som spesifiserer hvordan utveksling skal foregå. De maskiner som forstår denne protokollen kan være med i et Gnutellanett og representere brukerens interesser for søking og utveksling av filer. En rekke ulike programvarer har vært utviklet siden 2000, med det mål å tilby dette. Det første var utviklet av oppfinnerne, Justin Frankel og Tom Pepper i firmaet Nullsoft, og utgitt som åpen kildekode under lisensen GPL (2000). Firmaet måtte stoppe distribusjonen, etter pålegg fra sine eiere, men protokollen var allerede offentliggjort, og flere etterligninger ble snart utgitt, hver med en del felles funksjoner, og enkelte spesialiteter; dog må alle ha den essensielle Gnutellaprotokollen implementert for å kunne samsnakke via Gnutellanettet. Navnet Gnutella er inspirert av lisenspolitikken i GNU, samt hasselnøttpålegget «Nutella».