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
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.
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
Locutus: P2P with security