Wednesday: May 23, 2018
Current Version - 0.3
Your IP Address is:
You are using a cheap ass browser.
Search Documents:


More Project Info

Mailing List


What is FreeSQL?
FreeSQL is an attempt to build a SQL layer for Freenet, so that you can
use Freenet as the storage component for SQL-based applications.
Implemented (for now) in perl, it strives for total SQL compliance, so
that any SQL-based app can be ported to Freenet

Why would you want to port SQL apps to Freenet?

Most SQL-based web apps require you to own and operate your own, private,
database application, and then share that information with others via your
web site. With FreeSQL, you can write apps that use a global "communal"
database built into the fabric of Freenet. Keep in mind that "communal"
doesn't have to mean "world-writable" (although it can). Because of
Freenet's secure SSKs, you can make your database "world-readable"

You can also run multiple instances of the same app on the same data set,
even if those apps are running on different machines. Imagine two
Slash sites running on two different
web sites, but sharing the same pool of stories/comments/moderation.

With such a scheme, there is no possiblity for censorship of any kind. And
because anyone can put up a mirror just by downloading the Slash codebase
and pointing it at the right database, the load is effectively

Isn't Freenet slow?

Yes, it surely is. However, with efficient caching, FreeSQL can get pretty
good results if you leave it running for a while. You can even cache your
local data to a Berkeley DBM file, effectively running a local copy of
your distributed database. The point is that these local caches can be
blown away at will, without affecting anything other than speed.

In short: FreeSQL let's you trade performance for anonymity and
distrubuted access. For some apps, that's a good deal.

Doesn't this mean that my financial transaction database won't work with
Yes. FreeSQL is not a replacement for Oracle. Not even postgres. But most
apps don't use the full feature set of SQL, so most apps can be ported to
FreeSQL. If your app runs on MySQL, it will almost surely run on FreeSQL.

What's slated to be ported to FreeSQL?

Right now, we are working on ports of the <a
href="">Enzyme open source project</A>,
PHPLIB, and at least one Slash-like app.

Can I get involved?

Absolutely. Please join our mailing list, or just email us your ideas.

Isn't FreeSQL just vaporware? Is it just an idea?

Nope. There is real live code for FreeSQL. No, it's not Oracle, but it
does manage to mimic the command-line tool "mysql" pretty well.

How much SQL compatibility do you have so far?

From the 0.3 release notes:
FreeSQL is coming along nicely. The interactive SQL parser is much
improved, and we can now support SELECT, INSERT, UPDATE, CREATE, and
DELETE commands. The DB schema is stored in Freenet. We can also support
primary and secondary keys (indexes) and, most importantly, we can now
parse the output from mysqldump. That's right, you can dump your MySQL
database to a file, and then read it in to FreeSQL. Hopefully, this means
that porting apps from MySQL to FreeSQL should be only a little while

What's coming?

Feature requests that we could use some help with: DBD/DBI interface,
mimicking mysqldump and mysql, porting to a non-perl implementation, and
efficient XML-RPC support.

What is Freenet?

Surf on over to <a href="">their home page
to find out</a>. In short: Freenet is a fully distributed, anonymous and
secure P2P file sharing architecture. It's not your mama's P2P either.