Brandon Wiley, Freenet
In my travails as a Freenet developer, I often hear a vision of a file-sharing Utopia. They say, “Let’s combine all of the best features of Freenet, Gnutella, Free Haven, Mojo Nation, Publius, Jabber, Blocks, Jungle Monkey, IRC, FTP, HTTP, and POP3. We can use XML and create an ÜberNetwork which will do everything. Then we can IPO and rule the world.”
When I hear this vision, I shake my head sadly and walk slowly away. I have a different vision for solving the world’s file-sharing problems. I envision a heterogeneous mish-mash of existing peer-to-peer applications creating one network with a thousand faces—what you might call an OmniNetwork.
Every network has its flaws. As a Freenet developer, I never miss an opportunity to give Gnutella’s scalability and anonymity a good-natured ribbing. At the same time, Freenet is constantly criticized because (unlike with Gnutella) you have to donate your personal hard drive space to a bunch of strangers that may very well use it to host content that you disapprove of.
The obvious solution is to use only the network that best suits your needs. If you want anonymity, Freenet is a good choice. If you also want to be absolutely sure that you are not assisting the forces of evil (can you ever really be absolutely sure?) use Gnutella.
Ah, but what if you want Freenet’s “smart routing” and yet you also want Gnutella’s fast integration of new nodes into the network? ...