I always find this kind of thing interesting. A protocol can outlive the companies, devices, and culture around it, mostly because nobody has to keep owning it for it to keep making sense.
I would read a follow-up about LimeWire's dynamic query routing. I enjoyed the writing style very much and now I'm reading Rick's other articles on topics that normally wouldn't interest me. Thanks Rick!
Great article. It's been almost 20 years since I've used Gnutella, but I seem to recall that, as flexible and resilient as it was, it had some pretty major issues with speed of queries and scaling to millions of users. I think Bittorrent become popular in the mid-to-late '00s in large part because its model of redundant copies scaled better than Gnutella.
> The Gnutella project began as an internal demo that leaked to the public after its corporate overlord, AOL, cancelled the project.
I don't think it was actually a leak in the usual sense of the word. There was no unauthorized release; rather, AOL didn't really understand what their new subsidiary was releasing.
As I understand it, Gnutella was written as a new project by Justin Frankel, the author of Winamp (which probably did more to popularize using computers to listen to music than anything else!), during or shortly after the sale of Winamp and Nullsoft to AOL. It was probably a chaotic time, and a massive culture clash between this big behemoth of a late-'90s tech and communications company, and this small startup of Early Internet Nerds.
Nullsoft's new corporate overlords probably didn't understand what they were creating: a new file-sharing/music-piracy program that would be like Napster, but more decentralized and resilient.
Frankel/Nullsoft released Gnutella and it was downloaded by thousands of people immediately. Perhaps friends in the recording industry called AOL execs, or in some other way they finally understood what it was, and AOL shut down the downloads less than a day later and cancelled the planned open-source code release, but due to its decentralization the network kept running, and it was soon reverse engineered.
As far as I know, the source code of the original Windows implementation of Gnutella never leaked.
Thank you for reminding me about this. Next to soulseek I'm going to use it to not obey!
Hot take: the simple reason Gnutella declined is that it was replaced by Bittorrent.
That’s what Limewire used? It definitely came pre-bootstrapped then.
just reading gnutella triggered a really old memory of times when Ares, Limewire and eMule where places to try your luck getting mp3s and software
Great memories of limewire but unfortunately its creator has gone full MAGA/MAHA, dropped all scientific knowledge he ever had by funding RFK Jr. and is even advocating cancelling child vaccination schedules.
[flagged]
I did a client called Gnucleus back in the day, the original website is still up at https://gnucleus.org/ I also designed GWebCache with a friend in college (also the IRC caching before that was me, I'm sorry). I think in the end the cost/benefit of the Gnutella architecture wasn't there. Especially in privacy - too much of a liability exposing your machine to serve files and route traffic. Also the efficiency of search over the Gnutella architecture - your query never hit all the peers.
BitTorrent was designed with the good parts like decentralized file transfer, and ditched the decentralized search - simplified with a centralized website/tracker model that can also be members only. That helped people stay more under the radar, as well as allow people to jump on/off to get what they want.
Ultimately the better balance which is why BitTorrent is still going strong today, but there is some nostalgia for the craziness of a single global network. Where people can freely share all their stuff, and downloading/opening files was like rolling the dice.