|
By Thomas Mennecke 2/25/03 In December 2002, we ran our interview with Mike Stokes, lead programmer and developer of Shareaza. This community quickly gained notoriety within some segments of the Gnutella community for spearheading the Gnutella2 movement. While Gnutella2 found support from the Gnucleus camp, many others, specifically LimeWire, XoloX and BearShare, have been very open about their discontent. |
|
The dissatisfaction among the major Gnutella developers
stems from several key issues. Initial dissent surrounds the fact Gnutella2.com
was registered without conference and many other key issues were not communicated.
The issue has now evolved to include the fact that Gnutella2 remains a closed
protocol, a situation many feel defeats the Gnutella name.
In this interview, we spoke with Greg Blidson of LimeWire,
and Arno Steenbekkers from XoloX. We would like to thank both of them for contributing
to this article. The questions asked to both developers are identical.
Slyck.com: Gnutella2, or Mike's Protocol has become presence in the P2P
community. Any chance we'll seee LimeWire/XoloX support this protocol?
LimeWire:The protocol that you refer to as "Gnutella2" is really not
Gnutella at all. I truly don't mean to sound insulting or anything but it is
really a somewhat amateurish attempt by Mike at Shareaza to create his own protocol.
Other Gnutella developers call it the "Mike Protocol" or MP for short. At the
binary level, this protocol is radically different from the existing Gnutella
protocol for no particular reason.
Don't get me wrong here. Mike has been great at trying to implement all of the
cutting edge ideas that have been suggested in the GDF and P2P community. His
MP protocol makes use of some good ideas as well. Some similar ideas that go
into the MP protocol will be seen in the next round of Gnutella upgrades made
by LimeWire and other Gnutella clients. However, due to the non-standard nature
of large parts of MP, I'm pretty sure that clients (other than Gnucleus) will
not adopt Mike's ideas as is.
What is happening is that the true Gnutella protocol and GDF are implementing
Gnutella compatible technology such as GUESS and other features that encompass
very similar ideas. I'd love to call this updated Gnutella standard Gnutella2
but we really can't because Mike has inappropriately commandeered the Gnutella2
domain and the name. Anger and frustration over Mike's incompatible protocol
and his use of the Gnutella2 name is what has been causing GDF members stress
recently. The new features of the true Gnutella clients will blow users away
when they roll out.
XoloX: First, Team XoloX wishes to thank Tom and everyone at Slyck.com
for their support throughout the past year and asking us to participate in this
story. As Gnutella has had its ups and downs, so has XoloX. We are working hard
at delivering a great P2P client and we know we still have much work ahead of
us to achieve our goals. That is why we feel somewhat awkward in commenting
on another developer's efforts, especially one that has demonstrated a blistering
pace of development and has shown rapid progress in delivering an excellent
client.
For those efforts, Team XoloX applauds the innovative efforts of Mike and Shareaza.
We also applaud the strong Shareaza community that has developed because, more
than anything else, the real strength of P2P is community. As more users make
peer-to-peer technologies a part of their daily lives, the better it is for
the entire community of developers and users, no matter which client a user
chooses as their favorite.
Perhaps, this is why we are so disappointed in the recent actions taken by Mike,
Shareaza, and his supporters. Instead of helping to bring the community together,
their actions have done the opposite and appear to be further dividing it. We
hope that this is unintentional and that they just don't see the big picture.
At worse, they are selfish and have ulterior motives that will eventually come
to light.
If indeed it is the former, than there is still the opportunity for Mike and
Shareaza to become part of the solution. If it is the latter, than it poses
a challenge to the entire Gnutella developer community to decide as a group
how to respond to the possible threat it poses. As far arguing the technical
merits of "G2" besides it breaking compatibility
and attempting to impose a new protocol on Gnutella at its leisure, we can't
give any more insight until the specs are published, as promised. Until then
all we can do is try to remain open-minded.
Gnutella has always stood for freedom. Its opens access has enabled developers,
researchers, and the community to add its vision for the collective benefit
of the community and in return take advantage of the gathered knowledge and
user base that Gnutella provides...truly a "win-win" situation. We may all have
individual clients, however to us, Gnutella means unity and community and working
together to keep it
strong in the face of adversity. The market is big enough for everyone to participate,
grow and prosper-whether financially or spiritually. There is no need for the
type of backstabbing and infighting that Shareaza has recently brought to the
party. It is downright ugly.
You asked if XoloX would support this new protocol. There is no real thing as
a "Shareaza Protocol", simply because not enough information on it has been
released. There are also dangers in supporting a closed protocol as we have
all seen the road that FastTrack has taken. As stated, until more information
has been released about this protocol, it is impossible to understand its consequences.
Slyck.com: What kind of communications exist between you and the Shareaza
camp?
LimeWire: LimeWire has had very good communication in the past with Mike.
We continue to carry on communication. As we developed the UDP based search
in the GUESS proposal, we consulted with all Gnutella developers. Mike liked
the ideas we presented but then released this new, incompatible implementation
of a UDP based search. Some developers took it as a slap on the face when we
had worked so closely to build a consensus on how best to incorporate UDP into
Gnutella.
XoloX: We are closely following the developments on GDF and our communication
is limited to the forum. Calling Shareaza "Gnutella 2" is just a cheap shot
and shows the type of selfishness and greed that causes all Gnutella developers
to question the real motivation behind this, as it appears nothing more than
a blatant attempt of self-promotion with the destructive results of purposely
confusing the general public. Obviously his network cannot be considered to
be Gnutella. Essential to Gnutella is its openness in an effort to improve the
network.
Slyck.com: What are your thoughts on Gnutella2? Can it revitalize the
Gnutella community? Would you consider this network to be "Gnutella"?
LimeWire: As I have said, I do not consider the Mike Protocol to be Gnutella.
The use of the name Gnutella2 is unfortunate because it is not even Gnutella
compatible. Running two different protocols is a waste. Mike is essentially
bridging a new untested protocol into the Gnutella network. He is trying to
use the existing Gnutella to bootstrap his new protocol.
At the same time, there are major improvements coming to Gnutella. Multiple
GDF members are working on the GUESS protocol. The server-side of GUESS is in
the LimeWire 2.8 beta right now. We are going to continue testing before releasing
the client side of that along with broadcast query improvements that will really
make Gnutella much better. The specifications for GUESS are already available
on the GDF. In contrast, the specifications for the Mike protocol are still
not fully available.
XoloX: Shareaza has the opportunity to be a strong and important influence
in helping to revitalize Gnutella. Unfortunately, its actions to date show that
they have chosen a different path.... a selfish path. Instead of using the name
"Gnutella2, " Shareaza should have used a different name and most of the current
animosity and tension would never have occurred. Their tactics go against all
that Gnutella stands for. We regret that so little information about their motives
has been made available. This is feeding the animosity that does not exist with
Blubster, WinMX , eDonkey or others. Our battle is not with them...Shareaza's
battle should not be with the other Gnutella developers, either. There is a
much greater foe that all P2P technology developers are up against and unless
everyone works together, no one will be victorious in the end.
Slyck.com: Why do you feel there's hostility to the idea of re-creating
Gnutella? Do you agree with this sentiment?
LimeWire: There really isn't hostility to recreating Gnutella. LimeWire
has been trying to achieve this for quite a long time. All the GDF members have
been working towards the major improvements that we know are possible. Don't
forget that there have been major improvements already such as Ultrapeers,QRP,
HUGE, Download Meshes, Remote Queuing, PFSP, GUESS. These are still being fine
tuned with the full payoff somewhat clouded to date due to problems such as
greedy clients massively over querying. LimeWire and others have had to waste
time trying to defend the network from stupid greedy clients that shall remain
nameless. Now that this problem is mostly out of the way, we are finishing powerful
new features and open specifications.
The hostility that you mention is due to the incompatible protocol that was
introduced by Mike and by the abuse of the name Gnutella2. Mike should not have
the right to steal the name Gnutella for something that is clearly not Gnutella.
This is ethically wrong. Mike can't just pick some new arbitrary protocol and
define it as Gnutella2. Not only this but making use of the name Gnutella2 for
what is essentially a bridge into the Gnutella network sets a bad precedent
for other protocol developers that might like to leach off the Gnutella network.
XoloX: We don't believe there's any hostility in "re-creating" or improving
Gnutella, on the contrary this is what Gnutella developer and research contributors
are constantly striving for. With Gnutella user numbers dropping, all Gnutella
clients would happily accept a boost. Certainly all the Gnutella developers
have an incentive to develop a better network, which we feel companies such
as LimeWire with their GUESS proposal is well on the way to doing.
However, the fact that a new closed protocol is being imposed on the network
using the "Gnutella2" name in self-promotion, when previous proposals of the
very same nature were already methodically being worked on openly among developers,
is what is causing these bad sentiments. We realize that Shareaza's developers
are eager to move up with their client instead of waiting what the GDF comes
up with and pooling the ideas to make "G2" on its own. In fact, in the past,
XoloX implemented many features in our client while the GDF were still debating
its merits. On hindsight, we should have shared more with the community and
we don't intend to make that mistake again. Every client, while also helping
Gnutella grow as a community, naturally wants to give it's program an edge,
but it is important to understand that a new protocol that effects all versus
new client features that effects only one's users are absolutely two different
things.
Slyck.com: Summarize the current problems are with Gnutella. What steps
are being taken to resolve this situation?
LimeWire:There are still lots of problems with Gnutella that we are working
on fixing:
a) Broadcast queries are still wasting bandwidth and not being as effective
as possible.
b) Greedy clients are still spamming the network.
c) Download meshes have not reached a critical mass.
d) The best candidates are not being made Ultrapeers.
e) There are many powerful applications of Gnutella that are not being realized.
f) Gnutella gets a bum rap.
Answers to these questions are becoming pretty clear:
a) GUESS is one method of selective querying that will allow the broadcast nature
of Gnutella to be reduced or controlled. Look for some hybrid solutions that
employ selective broadcasts in the future as well. We have some upcoming proposals
to allow the replication of Ultrapeer QRP tables to their neighbors that could
allow up to 90% of query traffic to be routed at little cost.
b) This is actually the toughest problem to solve. It is always a moving target
but if we make the basic protocol work as well as we believe, the motivation
to spam should be dramatically reduced.
c) Download meshes are very interesting ways that you can now get multiple sources
for content from one download source. There is essentially a web of alternate
locations that clients are maintaining and communicating to each other. LimeWire
just improved this by caching and randomly accessing 10 of 100 of these. We
believe that the meshes are reaching the tipping point where they become better
and better and tie large numbers of alternate locations together. If not, there
are new algorithms to employ. If this mechanism doesn't totally work, we can
add a chord or kademlia lookup for the content.
d) We are working on a change to the specification of Ultrapeers to communicate
ratings for Ultrapeers and ensure that tbe best hosts are elected to be Ultrapeers.
e) LimeWire has implemented MAGNET URI to allow some integration of Gnutella
and the web. There are many more interesting features that would make Gnutella
more useful. Private adhoc networks are one that we are working on. I have some
plans for other interesting ideas hidden away for a rainy day.
f) Once upon a time, Gnutella downloads had a 10% success rate. That has gone
up immensely since LimeWire and BearShare came on the scene in late 2000 and
started making improvements. This next generation of improvements that are being
rolled out over the next three months should make Gnutella as good or better
than any other P2P network and make users forget the last downturn in performance,
which was mainly due to greedy clients overloading the network.
XoloX: The problems that exist with Gnutella have been well documented
and technical solutions will soon be unveiled in an open forum so that all Gnutella
clients can implement them.
The bottom-line is that we would prefer to be inviting towards Shareaza and
hope that they do not misconstrue our response as attacking them. More than
most, we do see parallels with XoloX when we first appeared on the scene a year
ago. We resented the negative feedback and the war talk we got from other established
Gnutella developers. It made us drift away from the GDF more than it brought
us closer. We do not want this to happen to Shareaza and hope they view this
as an opportunity to bring everyone closer together and become part of the solution.
If they choose to go down their own path, then more power to them, but we urge
them not to do so at the expense of rest of the Gnutella developer and user
community. Mike may not understand it now, but the day will come when he will
need the support of others beyond his own users. No man is an island and no
company a nation.
LimeWire's
homepage.
XoloX's
homepage.
Tom from Slyck.com is a regular contributer to MP3 Newswire. Tom's insights on other digital music issues can be read on his site and we encourage you to check it out.

The 20GB Rio
Riot Jukebox can be ordered from Amazon
Other MP3 Stories:
Gnutella
vs. Gnutella2, Part 1
eMule Interview
Locutus: P2P
with security