The Freenet Project is, to paraphrase the description on the Freenet web site, a decentralized anonymous network where publishers are free from censorship. All communications and data are encrypted both in transit and on disk, so it is not possible to eavesdrop and discover what information a user is reading or publishing.
The Freenet project takes a lofty idealistic view toward free speech: Anybody is permitted to publish anything. The first part of that is enabled by the anonymity principle. All participants in the network are treated identically, with no identifying information attached to content. (If a particular person wanted to publish something that could be attributed to them specifically, they could use for example a PGP signature, but this is not requried by Freenet.) The second part, the ability to publish anything, is enabled by the lack of accountability in publishing. People may publish controversial, threatening, confidential, subversive, or any other kind of information.
Similarly, for consumers of the information available in Freenet, there is also anonymity. As mentioned above, all network communications are encrypted using sound principles of cryptography. Even if an eavesdropper were able to see through the encryption layers, they would still be unable to tell whether a particular packet of information going toward your node would be:
- Displayed in your browser
- Forwarded on to another node that originally requested that information
- Stored on your local disk as part of the distributed storage
- Any or all of the above
Due to its free speech and anonymity principles, Freenet has a somewhat shady reputation. Although there is lots of good, useful content on Freenet, there is also plenty of content that is controversial, socially taboo, or outright illegal (in some, or most, jurisdictions). Freenet has been labeled as a haven for terrorists and child pornographers, those two hot buttons so ubiquitous in this sort of discussion today. Not to mention the ease with which copyrights may be violated using Freenet.
I believe strongly in the principles of free speech. History has repeatedly shown that repressive governments that do not permit their citizens the right of free speech, invariably falter and collapse. I may not agree with everything you have to say, but I absolutely support your right to say it. But has Freenet taken this one step too far?
Freenet lets anybody say anything, with no accountability. I think the lack of accountability undermines the structure of society and takes it one step closer to anarchy.
From a technical standpoint, information published in Freenet stays published forever (in practice, content that is seldom accessed will eventually become unavailable through attrition). Information is identified by a key (sort of like an automatically assigned URL), so that pages on Freenet may link to other pages just as on the Internet. There are mechanisms that allow information to be updated while still allowing the same key to refer to it, but the older information doesn't really disappear right away - it can still be accessed. There are several ways of publishing information:
- Unrestricted, so at any time anybody may replace the information with new information. (This is seldom used except for special purposes such as instant-message-like functionality.)
- One-time, such that the information identified a given key (URL) may never change. (Example: The GPL is in Freenet.)
- Date-based or edition-based, so information may be updated regularly or occasionally.
For date-based or edition-based publishing, the original publisher retains the publishing keys. Information published in this way cannot be updated by anybody unless they have the publishing keys. So although anybody can say anything, usually only the original author retains the right to update the information they have published.
I believe it is the lack of accountability that is the Achilles heel of Freenet. While this easily and strongly supports the right of free speech, it does so at great, and perhaps fatal, cost.
This cost manifests itself because some of the primary publishers on Freenet support free speech so strongly. Due to Freenet's architecture it is not possible to build a "search engine" in the classic sense of, e.g. Google, without completely sacrificing anonymity (whoever runs the search engine would know what you searched for). So content must be found through index pages, reminiscent of the original Yahoo web index. The people who publish the most popular index pages make a point of not censoring any type of page, as that would run counter to the fundamental principles of Freenet. Some of the index sites are manually maintained; some are automatically generated by spider programs. None of them exclude any kind of page they find (although they may be roughly ranked by popularity, with the least popular sites not shown).
With this sort of "front page" on Freenet, it is no wonder that people tend to associate Freenet with a less-than-wholesome attitude. On this "front page" you might be able to find links to pornography, bomb making instructions, copyrighted movies and songs for download, written accounts by unconvicted serial killers, and other even more distasteful content. It's all right there in front of you, you don't even have to go looking for it. You can certainly choose not to click on the links, but you can't prevent the choice from appearing.
Would all this content be so readily available if publishers were not completely anonymous? One only has to look at the state of the Internet as a whole to answer this question. Using traditional unencrypted means of communication, you are never truly anonymous on the Internet. Publishing pornography is acceptable in some jurisdictions, but publishing child pornography is not. If you do so, and the authorities take notice, your freedom will be severely curtailed in the not too distant future. Similarly, in today's political climate, publishing information about bomb making would almost surely land you in a similar predicament. This is because there is hardly a place on Earth where speech is truly free (except perhaps The Principality of Sealand).
In today's society, without accountability Freenet will not gain the widespread acceptance it needs to grow. In an ideally free society, Freenet would not even be necessary, as people could publish anything they wanted, in any manner, without fear of reprisal.
* * *
I would like to run a Freenet node. However, for various technical reasons it's inconvenient for me to do so right now.
- Freenet will occupy as much bandwidth as you let it use. There are configuration options that are intended to limit bandwidth usage, but they are currently not operational. Bandwidth limitation needs to be configured using operating system or networking features, and I don't have the inclination to set up any of that right now. Having Freenet suck up all my available bandwidth was not acceptable.
- Freenet will use as much disk space as you let it use. I set it up on my old Linux machine that got a new lease on life a few months ago, and gave it 5 gigabytes to play with. That is a reasonable amount for a Freenet node, but more is better.
- Freenet tends to overload the PII-300 CPU in my old machine. Sometimes it would drop below a 1.0 load factor, but usually it was running at 2 or 3.
- During the week I was running Freenet, my firewall computer spontaneously rebooted four or five times. This was the most annoying problem. I'm going to blame the large number of connections that the Freenet software opens (usually somewhere between 100 and 200), and the frequency of communications (usually not more than 10 seconds idle time on any given connection), in combination with the particular software I'm using for a firewall (it may have bugs that appear under such conditions).
I ran a Freenet node for a short time a few years ago. I tried again last week. I will almost certainly try again in the future. I believe in the principle of free speech, and although I don't believe Freenet can be truly successful today, I would like to show my support for the ideals.