By Jake Edge
November 28, 2007
The next battle in the war for software and data freedom is likely to be in
the online services realm. There are already calls for legislation to
govern what Gmail and Facebook can do with your data along with efforts to
provide free alternatives to some popular web applications. Coming at the
problem from a different direction, the Forkolator project is looking toward a
world where free web applications are not only free to change, but those
changes are immediately available to use on the same site.
Many of the web applications that people use today are not free in any
sense other than price. There are also lots of applications that are free
software – Wikipedia and Wordpress are often used as examples –
but changing the source code for them does little to change the user's
experience, because the service controls the software version that they
run. This is as it should be, few would argue that Wikipedia
should be forced to run some modified version of their code. Vast
quantities of collaboratively developed data reside there, however, that
any modified version of Wikipedia would want to access. Currently, one
could work with the Wikipedia folks to get the change integrated into their
codebase and eventually rolled-out for users, or one could fork the project.
The Forkolator vision – at this point it is not much more than that
– is to provide a third choice. In a mockup of the
Wordpress management interface, Forkolator founder Erik Pukinskis added
a "fork this page" button. Somewhere down the road, if Wordpress were written to support
Forkolator, that button would instantiate a copy of the server code running
on the server, with access to all the same data. It
would then allow a user to change the underlying code to fix a bug or add a
feature, which would then run live in that instance. Users who accessed
the weblog or management screen would use the updated code.
Obviously, people that are able to host their own Wordpress instances are
able to do this already – it is free software after all. What
may be missing is the collaborative environment that a blog hosted at
wordpress.com provides. Wordpress is free software, but wordpress.com
does not provide a free, as in freedom, service. Likewise for Wikipedia,
most of the value is in the site itself and the data; even forking it only
gives a static version at the point of the fork. The Forkolator concept
would provide another level of freedom; one could have their
own view of Wikipedia running side-by-side with the standard code, allowing
users to decide which they preferred.
At the moment, Forkolator is a PHP application that provides a web-based
integrated development
environment (IDE) that can be forked and modified live. It
provides a kind of proof-of-concept; an IDE running in the browser may
not provide the ideal development environment. Ruby on Rails already has
Heroku, which shares many traits with the
Forkolator vision. The focus of Heroku seems to be avoiding the pain of
deploying an individual web application rather than Forkolator's explicit
push for freedom in the web services arena.
The problems inherent in allowing users to modify the function of a
server-side application are legion. Forkolator advocate Sandy Armstrong
calls
the problems "staggering" and they are; providing security, privacy,
and stability while still allowing user modification is uncharted
territory. Solving those problems in a sensible fashion will make or break
the project and it is far from clear that they can be solved.
There is talk that some of the problems inherent in the model could be
solved in the same way that wiki defacements are handled; by the community.
If a rogue user modified the web application to be a spambot, for example,
other users could shut down or quarantine the fork. Data access is another
area that will need close attention. Obviously the application needs read
and write access to the database, but how can you keep rogue applications
from trashing the data for everyone else? This goes well beyond defacing
individual pages, wholesale removal of all content could be effected by a
malicious application. The Forkolator team will need to come up with ways
to deal with all of these kinds of problems and more.
Forkolator is in its infancy – perhaps gestation is more accurate
– with an enormous number of serious technical hurdles to overcome,
but it does provide an interesting view of how free web services could
work. It is not a model that all web applications will adopt, with good
reason, but for sites that are largely collaborative in nature, it could make a
great deal of sense. Whether Forkolator, Heroku, or some other framework
can actually deliver the vision remains to be seen. We will be watching.
(
Log in to post comments)