Zeropaid Interview: Limewire Team

Not bad…an interview a day, I have more coming hopefully

ZP: Is LimeWire going in a more corporate direction, like KaZaA? Or is that not even possible with Gnutella?

Limewire Team: Our goal with LimeWire has always been to build the best Gnutella client for the consumer market. We believe that Gnutella client and protocol usage could someday number in the hundreds of millions of users. We see Gnutella as being as prevalent as browsers are today.

Very early on in LimeWire’s history, we intended to only build server software for Gnutella. However, we saw that the Gnutella community needed a robust client. Through the client, we hoped to advance and mature the protocol, which is what we have been doing for the past two years. We do foresee a day as well when corporations will provide content to the network using something more like a traditional server. Our original goal was to sell servers and services to these companies. With millions of users on the Gnutella network, we see this day coming. The good news is that these companies will be a source of interesting and entertaining content.

ZP: How do you feel about cloned versions of LimeWire that are “clean”. Do you feel that you have been cheated out of a registration, or because you registered under the GPL there are no hard feelings?

Limewire Team: LimeWire went open source because we saw many potential benefits. First, we wanted to ensure that the code was always available and put to good use. We obviously wanted to encourage any help offered by the global developer community and enthusiastic testers. We also wanted to satisfy the interest from academic circles. We have received great help from some developers and testers and we thank everyone.

However, the open source community has a great abhorrence to forking open source projects. Forking is looked down on unless there is an extremely justifiable reason for doing so. It wastes developer effort and slows down the progress of the software. To date, we have seen little innovation from developers of forked versions of LimeWire other than some cosmetic repackaging. We encourage any such innovation and direct participation with open source development. is always the definitive source for the latest pure LimeWire code.

ZP: What features do you feel makes LimeWire different from say, Gnucleus or Bearshare?

Limewire Team: LimeWire introduced Ultrapeers a few months ago and we have gained a great deal of insight into how to improve them. Our informal studies show that Ultrapeer connections on the Gnutella network give about twice as many responses as non-Ultrapeers. Obviously, Gnucleus and Bearshare have added or are in the process of adding Ultrapeers themselves.

One unique benefit in LimeWire right now is that we handle rich metadata allowing users to search for something more than just file names. I would also claim that our download swarming is very good and getting even better in the next release due out shortly. LimeWire’s main benefit to users is our commitment to continued innovation and our ability to dedicate a lot of resources to improving the LimeWire client. The fact that we are available on Mac, Mac OSX, Linux and other platforms as well as the PC also helps a lot of users.

ZP: What features do you plan to implement in the coming months.

Limewire Team: Our feature list is huge. In fact, one feature that we have had in the works for a while is actually called HUGE. This stands for Hash/URN Gnutella Extensions and it is going to add a lot of capabilities to the Gnutella network including better duplicate file detection and the ability to search for exact files.

As part of HUGE, we are also adding something called a download mesh or content mesh. A download mesh basically allows one source of a file to learn about duplicate sources of that file elsewhere on the network. If all works as planned, this should allow users to quickly swarm download files from multiple sources after only finding one source of the file. The benefit here is that much less bandwidth is required to maintain a download mesh versus searching large parts of the network for file duplicates. (For the diehard P2P enthusiast, download meshes may also provide capabilities similar to Kontiki, Red Swoosh and others.) Huge and download meshes are looking like version 2.5 features.

We have HTTP 1.1 download support and pipelining in the works, which will allow files to be requested in small chunks without dropping connections. This will make swarm downloads work better by allowing LimeWire to adapt to the speed of each connection. Our next release, 2.4, has a similar improvement that doesn’t rely on using these advanced features. In the past, the final swarm downloader would tend to be from a very slow source and could take forever. Version 2.4 will be extremely aggressive in replacing slow swarm downloaders.

Our ongoing development is directed towards making the current network work as well as possible. Ultrapeers have improved the network but have not been as radically better as we had hoped. Expect ongoing improvements here with stricter flow control to help reduce message traffic if it is too high. Our version 2.4 will be more active in trying to maintain intra-Ultrapeer connections while still keeping at least two generic Gnutella connections. We believe that this will help all network users. In order to improve the searchability of rare content while reducing broadcast query traffic, we are going to have to do further research and experimentation.

Browse host will be coming back in version 2.5. International versions of LimeWire will be coming out starting with French and German some time after version 2.4 roles out. Version 2.4 should also reduce memory and CPU usage.

ZP: In about what time frame do you expect those features?

Limewire Team: Version 2.4 should be out in about a week. Version 2.5 should be out four to six weeks after that. Some of these features may not totally be taken advantage of until later. For example, support for HTTP 1.1 needs to be widely available in the field before we can make use of it. LimeWire will definitely be releasing a lot of new work over the next two months.

ZP: Rumor has it that hashing will be a LimeWire feature soon. Any truth to this?

Limewire Team: That is all part of HUGE and should be ready for version 2.5.

ZP: John Marshall said that you hinted him as to Morpheus using the Gnucleus code. Were you contacted by Morpheus prior to their Preview Edition? If so, why did you turn them down?

Limewire Team: We contacted Morpheus when we heard more definitively that they were switching to the Gnutella network. We offered to help them with transition issues because we were concerned about the impact on the Gnutella network. They had corresponded with us last November regarding our open source code and Ultrapeers but they didn’t try to customize LimeWire for their client. As it turned out, they did have to work through a few last minute details and we sent them some recommendations. We closely examined Gnucleus at that time and talked to John Marshall about any other issues that might arise.

ZP: Is security an issue on Gnutella? How do you address this issue? Will we ever see an encrypted Filetopia-like Gnutella client?

Limewire Team: Gnutella has never been overly concerned about security as it has evolved. We don’t expect this to change radically. However, we actually do have code in the client that will authenticate a userid/password on a connection – minus the GUI code to actually configure it. A combination of SSL and authentication may have its use in the future. SSL and random ports are one way to bypass network blocking that is taking place at some ISPs and networks but these are not huge problems right now. The broad Gnutella network will probably have the same mix of secure and insecure sites as the web does in the future which means that most connections will not be secure.

ZP: Will we see LimeWire ever going onto another file sharing platform, such as fasttrack or open-nap?

Limewire Team: We have no plans in that regard. We have a great deal of faith in Gnutella.

ZP: Is it possible to shut down Gnutella? There have been rumors and speculation that with enough DOS (Denial-of-Service) attacks on computers it could dilute the network and basically shut it down. Any truth?

Limewire Team: Gnutella will be around forever. However, Gnutella is very vulnerable to various different kinds of attacks. In all honesty, Zeropaid’s favorite client (to remain nameless) performed a very respectable denial of service “attack” about six months ago by simply including an unregulated requery feature. Even with a relatively small user-base, this client was bringing the entire Gnutella network to its knees with requery traffic until LimeWire and perhaps a few other clients figured out how to filter some of these queries. Abusing any broadcast message and a few other techniques can cause a lot of damage. The good news is that most of these attacks are easy to detect and trace. Note: To those who are generating spurious results on the Gnutella network, we’re watching you.

ZP: Will we ever see an e-donkey type Gnutella, where a user can simply go to a website, click the button, and it downloads on LimeWire? Or is Gnutella too dynamic?

Limewire Team: Yes, that is in the works. Download meshes solve the dynamic host problem.

ZP: Anything you want to say to, and the rest of the world?

Limewire Team: We would like to thank Zeropaid for being there early and often in Gnutella’s history. You guys have been a great help to the Gnutella community. To all of your readers, thank you for all your support and constructive criticism of LimeWire. We have tried to work hard to build a client that serves its purpose. We see a bright future for all of the Gnutella community.


The LimeWire Team.