[Upd-discuss] Happy Birthday, Gnutella!

Seth Johnson seth.johnson@RealMeasures.dyndns.org
Sat, 20 Mar 2010 15:43:04 -0500


Happy 10th birthday to the application that said: "No, this is the
Net!"

Our Net is P2P.  :-)  -- Seth


> http://newteevee.com/2010/03/20/happy-birthday-gnutella-pioneering-p2p-protocol-turns-ten/

 
Happy Birthday, Gnutella: Pioneering P2P Protocol Turns Ten


Written by: Janko Roettgers

Posted Saturday, March 20, 2010 at 8:47 AM PT


Ten years ago this week, online music pioneer Justin Frankel released
a little application dubbed Gnutella that enabled file sharing through
a distributed P2P network. Frankel, whose previous claim to fame was
programming the then hugely-popular Winamp MP3 player software,
supposedly named the client after his favorite hazelnut cream spread,
and the first version published online was really more of a proof of
concept than anything else.

Still, Gnutella hit a nerve. Napster had been sued three months
before, and many file sharers were rightfully fearing that the music
industry would eventually prevail in court and force Napster to switch
off its servers. With Gnutella, no such switch existed, as the client
was allowing direct P2P connections without the help of any
centralized server. Add to it the fact that Gnutella, unlike Napster,
allowed users to swap videos and software as well as MP3s, and you
begin to see why many immediately viewed Gnutella as the next step in
P2P file sharing.

A step, one should add, that made Frankel’s employer AOL more than a
little nervous. It only took the Internet giant a day to force Frankel
and his colleagues to take down Gnutella – but even that was too long,
as countless sites quickly started to first mirror, then build upon
Frankel’s official Gnutella client. There’s always been a little bit
of mystery surrounding the exact happenings of those days, but some
people have been musing that a person with a surprising amount of
insider knowledge showed up in one of the first IRC chat rooms
dedicated to Gnutella soon after AOL pulled the plug, only to provide
some very detailed information about the inner workings of the
client’s P2P protocol.

Speaking of IRC: Early versions of the software didn’t really have any
way for users to connect, save for entering another user’s IP address,
which is why IRC quickly became an integral part of the early days of
Gnutella. It was also in those IRC chat rooms that the myth of
Gnutella as a seemingly invincible P2P protocol was born, and the fact
that AOL tried but couldn’t contain the software seemed to fit right
into that picture. Gnutella was one of the very first P2P apps I ever
wrote about, so I lurked in those chat rooms as well, where people
were cheering the fact that someone finally found a file sharing
solution that couldn’t be shut down. I still remember one IRC user
saying: “We’ve started a damn cult again!”

Only Gnutella wasn’t really ready to be a cult. The network routed
search requests from peer to peer, leading to an exponential growth of
traffic as its network became bigger. Napster programmer Jordan Ritter
described the problem early on in a paper titled “Why Gnutella Can’t
Scale. No, Really,” and Frankel himself, who has hardly ever gone on
the record about Gnutella, once stated that he was fully aware of “how
poorly it would scale” when he released the client.

Still, Gnutella captured the imagination of many, one of them being
Mark Gorton, founder of the New York-based Lime Group. Gorton was at
the time pursuing a vision of automating businesses through structured
data, and Gnutella, as something that could, for example, distribute
real estate listings wrapped in XML, seemed to fit that image quite
nicely. Early versions of the Gnutella client of Gorton’s LimeWire
venture were still written with this vision in mind, hoping to build a
P2P network that could eventually be used to do all kinds of things
with which we’re now familiar on the web, thanks to web services.

LimeWire’s engineers joined a growing group of developers loosely
connected through web sites like the long-defunct Gnutella.wego.com
(whose admin Gene Kan tragically committed suicide in 2002) and
mailing lists like the one for the Gnutella Developer Forum, and one
of the first issues to be tackled was scalability. The introduction of
a two-tiered system of ordinary clients and so-called Ultrapeers
helped grow both the network as a whole and each user’s search
horizon. The idea was also later adopted by the developers of KaZaA,
whose own take on this two-tiered approach still lives on in Skype’s
P2P network.

Technical improvements like these helped Gnutella to grow, but the
competition was quick to catch up. Bram Cohen unveiled a first version
of BitTorrent only two years after Frankel had published Gnutella, and
BitTorrent quickly became the file sharing client of choice for
sharing videos online. Part of BitTorrent’s quick rise to fame was its
modular simplicity: Cohen had outsourced much of the search and
indexing of files to torrent web sites, only handling the actual
distribution of data within the client. Gnutella on the other hand was
meant to work without any web server. That made it much more
invincible, but also much less accessible to users who migrated from
apps and clients to a world of web services.

Another issue that has plagued Gnutella from the beginning is not
technical, but legal. The protocol was supposed to outsmart
trigger-happy lawyers, but the mere fact that there wasn’t a central
switch to turn off the Gnutella network didn’t stop rights holders
from going after people and companies associated with it. Lawsuits and
legal threats forced Morpheus, Xolox, Bearshare and a number of other
companies and developers to throw the towel.

LimeWire got sued by the music industry as well in 2006, but that
hasn’t stopped the company from continuing with the development and
monetization of its client. LimeWire’s client also utilizes BitTorrent
these days, but LimeWire’s VP of Product Management Jason Herskowitz
told me during a phone conversation that Gnutella has “worked really
well” for the company, and that its engineers are looking into ways to
make Gnutella once again more attractive to developers by exposing
some of its functionality through web services. “There is still a long
future ahead for Gnutella,” he predicted.

Not everyone agrees with that outlook. Adam Fisk, who was hired by
LimeWire as one of its first developers in the summer of 2000, but
left the company in 2004 to eventually start his own P2P venture
dubbed Littleshot, believes that some core assumptions of the Gnutella
protocol are outdated. “I don’t think that distributed P2P search
makes any sense,” he told me, explaining that the very server-less
search functionality that made Gnutella superior to Napster also ended
up being its biggest burden, and that it would be much easier to have
servers handle search and just use P2P to deliver data – a recipe that
has already helped BitTorrent succeed.

Sure, LimeWire and some other Gnutella clients could still stick
around for a long time, Fisk admitted, but he was skeptical that we
would ever see any significant new project based on Gnutella. “That
would be shocking,” he said.