Fracturing P2P Networks
A reader writes: "If you run Freenet and have noticed that you practically can't access anything on the network, you are not alone; a group of Freenet users has organized a Freenet Revolt by forming a separate network running an old, proven build of Freenet, and things have been heating up on the freenet-devel mailing list with a scary declaration by project leader Ian Clarke that Freenet is a research project and has always been, which scared some list members, since Freenet has been actively promoted as a production network and has a sensitive userbase, including Chinese dissidents. Some people are already moving to similar networks like GNUnet and Entropy. " Of course, that does sound different then what has been said before.
When the journalists reporting on the subject don't have a clue, then it's hardly suprising that their articles are somewhat skewed. Skip forward a few years and now we are getting the same standards of journalistic brilliance applied to P2P and the whole copyright issue.
UNIX? They're not even circumcised! Savages!
Real vs. Theoretical:
Use Freenet vs. Use Something Else:
Production vs. Development:
I didn't find any direct conflicts in the articles linked above, but there's certainly a shift in tone. It's also worth mentioning that they have a release called "stable", in addition to the "development" and "unstable" branches.
The solution is to have multiple parallel versions, one for the early adopters, one for the mass market, and one for the late adopters.
Freenet DOES have stable, unstable, and development branches.
I used to run stable all the time. It broke about every other version for a while. I upgraded to unstable which seemed to be working better.
I now have a collection of freenet.jar.#### files for each build I've installed. The freenet website does not maintain an archive of builds, so I have to maintain my own. Of course, Builds change almost daily or even more often, so I can't count on actually downloading a stable build.
There also is no official changelog on their website. Apparently if you browse the developer mailing list you might find a list of what changed.
What Freenet really needs is some good-old change control and documentation. They can dump whatever they want into the development branch, but before moving it to unstable or stable they should make a changelog listing what changed, and then post it to the website. They should also keep an archive of prior releases. Having the source code in a CVS is NOT a substitute for this. If I know that build xyz works fine I need to know which versions of every source file went into that build.
They can also stand to use sourceforge/etc for bug tracking.
I'm all for researching the design of the alogrithm, but forcing all users to be beta-testers all the time isn't the way to build a user-base. If users want to be both stable and on the cutting edge they can just run two nodes in parallel.
Linux was at version 0.x from 1991 until 1994 when version 1.0 was released. I remember people using Linux 0.x in 1994 though (and 1995, 1996), sometimes in a production capacity, although I'm sure caveats would have recommended against it. In fact, was Linux version 1.0 ready to be used in a production environment with no worries? Not really (I remember my 1.x server getting the "ping of death" and going down, among other things). Freenet was released in 1999. When it goes to version 1.x, that's when I'll expect a more production-oriented p2p network. But Ian does not feel it is ready, and I tend to agree. Linux was very complex, but it did have many other OS's to compare with, it was not totally groundbreaking and revolutionary (although it partly was). Freenet is forging a new path, thus takes more time.
I think you read too much into that comment.