Is Freenet Vapourware? Ian Clarke Responds
Sinister writes "Ian Clarke, creator of Freenet, has written an interesting article which gives an overview of where Freenet is, and where it is going. He answers some of the criticism made in some publications against the project's lengthly incubation period and ease-of-use. He talks about the differences between Freenet and other Open Source development projects, and also about the difficulties in managing expectations for one of the most publicised pre-beta free software projects ever. Read the article on the Freenet Project Site."
I think everyone can see from the Slashdot blurb what the criticism is: Freenet has taken a long time and still isn't ready for the masses. Ian writes a very insightful analysis of the situation, talking about how innovation takes time, and how the project is still in development, and is still in that pre-release wacky stage when stuff breaks at times.
So I check the comments, and what is everyone raving about?
"Waah - it's hard to install!"
"It's never going to take off! The version I downloaded three months ago doesn't have animated icons!"
Idiots.
People, we sit here in angst about how Open Source isn't very innovative, that all we do all day is copy the work other people have done. Well, here's something no one else has managed to pull off: a decentralized P2P network with privacy and anonymity built in. So now we're trying to kill it off with criticism because it's taking longer to write than the IRC client your roommate wrote in a night of caffeine-induced frenzy.
Here's a news flash for you: Creating something new takes time. It's not as easy to do as copy other people's good ideas. So the fact that, say, GNOME, or Linux, or whatever was done in less time is irrelevant: for a fair comparison, you should factor in the 15+ years of tweaking to the GUI done by Apple and Microsoft into the GNOME timetable, or the 30+ years of development on Unix into Linux's. For a more pertinent example of how good Freenet is doing, go compare Freenet to Unix circa 1971, or the Apple Lisa, or Windows 1.1.
So, if you're the type to download something, play with it, then slam it because it doesn't work, let me give you some advice:
Stay away from Freenet. Far away. Go play with Napster or Gnutella. Come back and play when the Freenet 1.0 announcement comes across Freshmeat.
And, for the love of Mike, shut up.
I've been wont to whack Freenet in my own mind, but I had a revelation while reading Ian's piece: to have a good open-source project--that is, one that is downloaded and worked on by many good coders--you have to do a lot of promotion for it. Attracting the critical mass of coders as well as users is a process that doesn't happen overnight.
If you're trying to do something really unique or complex--as Freenet is attempting to do--you have to get a lot of very good people interested in it. Then they have to see where you're going and add their ideas or help change the direction a wee bit.
I liken it to a ship with an unbelievably large steering wheel: you need more than one person to turn it. In fact, you need several strong people to turn it. And all you do when you're waiting for enough people to help you turn it is risk the naysayers saying, "They'll never turn it."
I don't see the "market" for Freenet, but I don't know that I would have seen the market for recorded music 140 years ago, either. I don't have the code-fu to help them out, so I'm not even going to get involved--until they're ready for me to be.
--
-- Geof F. Morris
I think people are missing something fairly fundamental when discussing the failure of FreeNet to gain buzz and hence mindshare. Java the concept is great. Java the language is great. Java the fully working and transparent VM behind the scenes of every real Winblows/Linux/BSD/BeOS/Solaris is a figment of Java developers' imaginations.
If only it were not so, but it is. In many cases the reason for failure of the concept is trivial --- merely bad CLASSPATH or fonts or Netscape crapness --- but that's enough to make it a failure for the masses. Despite the protestations of Java fans that it's a success right now, the key point is being missed: it's only a success for you, and not transparent for non-fans. Reality sucks, sorry. [You can remedy such failures so easily with VM defaults but you don't. Why? --- A question to the Java community.]
Does this mean that FreeNet has no future? No, in my view, because the issues that it addresses are likely to become ever more important over time, give the lag between realtime and the onset of coercion from the corrupt corporate, legal, and political spheres. It has a future, because in due course the confluence of several factors will give it the boost it needs: it will gain the apps and GUIs it needs to appeal to the masses, and it will be reimplemented in native code so that it actually runs everywhere for the ordinary non-tech man/woman with a computer, not just for you.
FreeNet developers don't despair. You're laying the groundwork, not the final edifice. Once you have something approaching a spec that won't change too much, we'll reimplement in slotted C (OK, probably via a C++ phase) and FreeNet will become universal. Meanwhile, keep doing your good work and ignore the detractors.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
What will ultimately kill Freenet is not ease of use, lack of searching, or technical problems, although these problems are certainly significant and potential killers. What will ultimately doom it is lack of interest.
For Freenet to be really successful, it must have a critical mass of servers to store and distribute the load. But this requires popularity, and Freenet is just not going to be that interesting to the average person.
For a software system (whatever it is) to become very popular, it must fill an untapped need. Consider Napster -- Napster became popular not because it had a good interface (it doesn't), or that it's great software engineering (it isn't), but because it fulfilled a burning need: A source for MP3 files.
What need does Freenet fulfill? Primary a perceived need on the part of the engineers for privacy and anonymity. Now, this is probably a significant need for places like China, but this is exactly the place where Freenet is not going to get a lot of servers. In places like the US, the vast majority of people do not perceive a need for Freenet.
In other words, the intensity of the need is inversely proportional to the ability to provide server space and bandwidth.
I understand Freenet's purpose, but I personally have zero interest in contributing. And I think Freenet is going to find that there are lot less paranoids out there than they think. The fact is, strong encryption and the WWW filfills 99.9% of Freenet's goals.
--
Sometimes it's best to just let stupid people be stupid.
I can understand that the leader is feeling a bit moaned at and undervalued, the stuff does work at the heart of it and he and the other people working on it do deserve credit for it.
As some who is working on stuff over Freenet (through the new Everything Over Freenet project; check it out at eof.sourceforge.net) and has been on the mailing lists for about a year, I can tell you that most of the developers and mailing list regs hate Freenet's publicity. The project really hasn't accomplished that much and the media is screaming over it.
The problem that they don't seem to have addressed in their efforts to dodge censorship is that they will ultimately make the posession and propogation of the key names themselves illegal, undoing all of the good work they have planned for. For example, it will be the posession or use of the key name ''secrets/food/soylent green'' that will be used to repress people who might like to look up the document belonging to the key.
This is actualy already solved to some extent. Let me give a crash course on the types of keys on Freenet (a more complete list is at http://www.freenetproject.org/index.php?page=keys) :
KHK--These were deprecated in 0.3 and replaced by KSKs (see bellow) due to similar problems that you described above. KSKs now do the same job (i.e., have a guessable, human-readable string for a key name), but much more securly.
KSK--Provides a human-readable, guessable key. Despite being more secure then KHKs, they are not as secure as CHKs (see bellow). Its suggested use is as a redirect to a CHK. This is accomplished by setting the CLI option "-autoRedirect" for inserts to "yes". That is also the default behavior for FProxy.
CHK--Is not human-readable. Instead, its a cryptographic hash of the data inside.
There are a few others, such as SVK and SSK, but they're not as important for this disccusion (see the link above for more detials on them if you're interested).
So, lets say KSK@how-to-build-a-nuke.txt (note: Freenet URIs are formed like this: keytype@key) is a redirect to CHK@fjdskalf879934q2823rl,ekf;qnieof (I don't think I have the correct number of charecters for the CHK's crypto hash, I just type it randomly, but it doesn't matter). If a given node operator has their house broken into by Them and their node searched for a specific key name, they may find the KSK name, but that doesn't mean the operator was actualy holding that key (its just like a link on the web . . . oh no :). Nor does it mean that he had requested the data, much less had been the one to put it there in the first place.
There are a few things that Freenet needs to get rid of, but was known all along that they were just crutches to be gotten out of latter. The first is key indecies, which list names of keys. The second is inform.php, which is how a new node discovers other nodes already in the network. The latter will require being replaced by searching, and the former will be replaced by "discovery probes". The inform.php is the more serious of the two and will probably be fixed first (should be in 0.5 at the latest). Searching is a lower priority so it may not be touched until we get closer to 1.0 (some predict even longer, others a lot shorter. I think it will be there in 0.5).
------
Not a typewriter
Criticizing an Open Source project for their level of progress is akin to criticizing someone else for not giving enough to charity, while giving none yourself.
There are alot of people jumping on the open source bandwagon who are wanting something of quality, that is free and they want it quickly. you can can always get two of the three, but which do you settle for. this applies to those who would criticize slow release times. the source is there if you want it quicker please spend your effort contributing and not complaining.
i personally prefer free and high quality.
use LaTeX? want an online reference manager that
-- john
I had a good look at Freenet the other week; so far they have done a nice job on an interesting project. I can understand that the leader is feeling a bit moaned at and undervalued, the stuff does work at the heart of it and he and the other people working on it do deserve credit for it.
The problem that they don't seem to have addressed in their efforts to dodge censorship is that they will ultimately make the posession and propogation of the key names themselves illegal, undoing all of the good work they have planned for. For example, it will be the posession or use of the key name ''secrets/food/soylent green'' that will be used to repress people who might like to look up the document belonging to the key.
For this reason they will have to end up with a searchable filespace with an end-to-end encrypted Freenet Google equivalent. Then people can nudge-nuge wink-wink about soylent and cause people to perform research using Freenet rather than have to deliver discrete ''freenet URLs''.
(PS Reality Master 101, you're such a Karma whore)
Right now, the top-most article - "But seraching is the key" - is by someone who doesn't seem to grasp the concept of hyperlinking (something I specifically mention in the article). The second article is by someone who doesn't think that there is a market for freedom of speech ("Freenet's biggest flaw..."). Fortunately, below that there is some more positive stuff.
It reminds me of a story I heard about the difference between the Irish, and the Americans:
In America people look up at the wealthy guy who lives on top of the hill, and say "some day, I am going to be like him".
In Ireland, people look up at the wealthy guy who lives on top of the hill, and say "some day, I am going to kill that rich bastard".
I think that if you swapped the average slashdot reader for the Irish in that story, it would be equally true.
--