Gnutella: A Protocol Outliving the World That Created It

(rickcarlino.com)

110 points | by rickcarlino 3 days ago

11 comments

  • swax 1 hour ago
    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.

    • rickcarlino 1 hour ago
      Thanks for dropping a comment! Collecting Gnutella history is a hobby of mine if the article did not make that apparent. I’ve seen a lot of your past work related to Gnucleus while researching the protocol and digging through old documents in archive.org. It always surprised me that the homepage was still online after so many years.

      Are you still active in open source / decentralized tech these days?

      • swax 38 minutes ago
        Yea, I'm working on a open source distributed, self-hosted agent runner https://naisys.org/

        I also did a private decentralized system that was like WASTE+DHT around 2009 (https://github.com/swax/DeOps)

        • yownie 6 minutes ago
          this is great!

          I often wonder why we don't go back to systems like WASTE now.

          We all finally have the bandwidth.

  • dlenski 1 hour ago
    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.

  • kderbe 2 hours ago
    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!
    • rickcarlino 1 hour ago
      I’m glad you liked it! I hope to publish the follow up soon
  • mrenzo 38 minutes ago
    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.
  • gitowiec 2 hours ago
    Thank you for reminding me about this. Next to soulseek I'm going to use it to not obey!
    • pndy 1 hour ago
      Didn't soulseek had some requirements you had to fulfill before downloading?
      • specproc 54 minutes ago
        I've used soulseek pretty recently! There's a nice client called nicotine, IIRC.

        There are message bots that spam you with racist abuse if you're sharing nothing (i.e. not even your downloads), but that's about it.

        • pndy 35 minutes ago
          Oh so pretty much the "classic" share something rule; that was pain in the ass in DC++ times but quality of whatever you could find there was best
  • chuckadams 2 hours ago
    Hot take: the simple reason Gnutella declined is that it was replaced by Bittorrent.
    • UncleEntity 41 minutes ago
      Sure, but the attached chat rooms were pretty handy, I used to like to download bootlegged concerts back in the day, to find new ones you've never heard of.

      Plus, always fun to get laughed for mistyping The Almond Brothers Band at 3am...

    • outside1234 1 hour ago
      I don’t think that’s a hot take, BitTorrent learned from Gnutella and made a better protocol. Gnutella is important historically, but it had a lot of downsides as a protocol that BitTorrent improved on.
  • bellowsgulch 2 days ago
    That’s what Limewire used? It definitely came pre-bootstrapped then.
    • rickcarlino 2 days ago
      Are you asking if lime wire used Gnutella Web Cache for bootstrapping? I’m not sure. GWebCache is one of many possible ways to boot strap, and I have not run lime wire in over a decade. I saw that GTKGnutella moved off of GWebCache sometime ago and uses some sort UDP based tool now. I am fairly certain that Shareaza still uses it because I see those results come up in my Web cache pull from time to time. I have seen a few advertisements from lime wire fork projects as well.
      • bragr 1 hour ago
        If I recall, proprietary clients usually shipped with their own bootstrap server. I think it may have even contributed to the legal cases, but it's been a long time.
  • itsthecourier 2 days ago
    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
    • felooboolooomba 2 hours ago
      Back in the day as a teenager. Downloaded mp3 that was labelled with title and artist and .mp3 extension. It wasn't. What it was caused me to wipe my hard drive and reinstall everything. Fkuc that shit. Apart from that, many good stuff was had.
      • leeoniya 2 hours ago
        or was it Windows hiding file extensions by default and you downloaded a .mp3.exe file?
        • netsharc 2 hours ago
          Isn't it just great how a decision made by some genius in Microsoft decades ago caused so much confusion and mess. Even on Windows 11 the default is to hide extensions, because, geez, wouldn't want to confuse people with change after decades of it being like that.

          Although, was the hiding something that the Mac introduced?

          The idea of the last part of the filename (after the period) determining what program is launched to handle the file is odd anyway...

          I wonder if the Windows spyware infrastructure measures what % of people turn off extension hiding..

          • chuckadams 2 hours ago
            The mac started out without using extensions at all, the type was embedded in the metadata. That's still possible now, but it's largely derived from extensions first. I believe Finder shows all extensions by default. It certainly does in details mode.
          • throwawaysoxjje 2 hours ago
            Macs originally didn’t have filename extensions because the file type was stored as metadata in the file system
            • hnlmorg 43 minutes ago
              That really is a superior way of doing things too. Or at least it would have been if that metadata were transferred with the file itself in all protocols.
        • felooboolooomba 19 minutes ago
          Nope. It had been renamed from .avi. CP.
    • cwnyth 48 minutes ago
      BearShare, too, which also included pictures and video. I don't remember ever getting a virus from it, but I also kept extensions visible.
      • suzzer99 18 minutes ago
        I still get spam emails on the one-off email address I used to sign up for Bearshare.
    • rrgok 2 hours ago
      Shareaza was the goat. It had 4 or 5 protocols.
      • rickcarlino 1 hour ago
        It is still around! I see network traffic from it on major GWebCache instances.
    • culi 2 hours ago
      Docuwiki (not to be confused with DokuWiki) is still the most thorough source I've seen for niche documentaries.

      https://docuwiki.net/index.php?title=Category:Name

      It is all ed2k links. Unfortunately modern clients for ed2k are quite lacking

      • msm_ 1 hour ago
        And yet it doesn't work without JS (I think it's because cloudflare WAF, but still)
        • cwnyth 50 minutes ago
          Once you get past Cloudfare, you can use it without JS.
  • thiscatis 2 hours ago
    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.
  • ryanshrott 1 day ago
    [flagged]