Home | Papers | Blog

Why Web-Freedom Should Matter for Stallman Too

This differentiation into separate services happens because, among other reasons, expectations grow, and building sites that do everything simply becomes harder… Also scaling up relatively narrow applications is easier than doing this for bloated sites or P2P applications due to complexity-problems. Still the main reason for the success of Web 2.0 applications, is that they rapidly become more useful for everyone, when more people join them. This goes beyond good ‘ol economics of scale, as global integration, and their social hub-function slowly turns them into almost unavoidable “Join or Die”-type applications. Remarks like ??"Aren’t you on MSN ?!?“?? or ??”Is your voip-application compatible with Skype ?“?? and ??”I couldn’t find you on Facebook!"?? will hint at the point for those of us young enough to fully live this brave new web. These services are not unlike public spaces and public channels for information like the media, and thus they are and become quite powerful (also in the political sense, and Lawrence Lessigs concept of Code as Law is useful here). Still (except for Wikipedia) users hardly have any rights and freedoms on Web 2.0 services, and few, if any are GPLed.

And even if they were GPLed, that wouldn’t be enough, as the GPL (even v3) contains the Web-Loophole. This means that GPLed code doesn’t remain free on the web. One can change GPL-ed source code and run it on one’s servers, without making the source code available to users or other developers. In other words, the four freedoms stated by Stallman to: run it for any purpose, to study and adapt it, to share it with others, and to share one’s modifications with others, are on the web reduced to four system-administrator’s freedoms… This – from the viewpoint of normal users – effectively turns the GPL into a BSD-style license when used on the web. Now of course there is the Affero GPL, which does close the web-loophole, but it is not (yet) used or endorsed widely, while without it, freedom is not guaranteed.

This lack of consideration can well be illustrated by Stallmans own response to the Web 2.0-problem with the GPL v3 in an e-mail conversation that surprised me, to say the least: “If you do your computing using someone else’s copy of a program, you can’t control it. So if you want freedom, you have to use your own copy”. Now while for ever greatly admiring him, I do think that he’s missing at least two important points here. The first is that the web, or more general, server-based services are already ubiquitous and important for most people in the present, and likely even more so in the future. It’s not unthinkable that in 25 years time the OS will be not much more than a device-driver, with all other functionality running as services on remote servers. And as this happens freedom for the web will become the central issue. This is the first point we shouldn’t miss if we want the powerful ideals behind Free Software to remain relevant.

The second point is that of the reality and realization of freedoms and openness on different planes. To start with a simple example: An RSS-harvesting site can easily be open about feeds as it’s just their raw material. In similar fashion they can be open about their database- or HTTP-server software, as it’s just something they use – almost as if it is a device-driver. But few such sites are open about their own logic and code. Openness simply comes easy when it’s about another than one’s own level. This is what Eric Raymond already touched and endorsed with his difference between non-differentiating (other levels; be easily open about this) and differentiating software (one’s own level; be closed like a clamshell if opportune). We could call this opportunistic openness. But if we juxtapose this opportunistic openness with Stallmans ethical difference between competition (fair, like in a sports race) and combat (like purposefully hindering the competition), then from this ethical point of view we can unmask Raymond’s openness as phoney openness. It’s namely clearly combat what we see when a site keeps their differentiating software hidden so the competition has to invent all over again. In short: real openness also requires openness on the level where it matters to oneself; thus at the application-level too.

To elaborate more about the planes of freedom, in the context of the web we could discern 3 such planes. The first is that of code, with it’s four freedoms: to run it for any purpose, to study and adapt it, to share it with others, and to share one’s modifications with others. This level is the one seen by most of us, as it’s been there also before the web. But akin to people locked in a kind Lineland, as described in Edwin Abotts Flatland: A Romance of Many Dimensions, many freedom-loving people miss the second and the third plane. The second is the level of data on the web, with the required freedoms: to use it for any purpose, to adapt it to one’s own purposes (versatile API’s), to share it with others (public API’s and export) and to share modifications (unlimited use in mashups). Besides open API’s the four freedoms on this plane often require the usage of a Creative Commons Attribution license for the content. The third is that of the user community’s rights in relation to the running application. This level needs freedoms: to set or co-determine the application’s purposes, to adapt the application through some public process, to share all data and software running their community, and to move out with their data, and found a new community (the freedom of exodus). Now besides API’s and a CC Attribution License the freedoms on this plane also require Afferro-GPLed code (and possibly more).

Now this division in 3 planes is open for debate. But what is not, and herein I follow Stallman closely, is that it’s about ethics and freedom here. Stallman puts freedom in the center, and not quality, or opportunism. Still what Stallman misses is that server-based (web-)applications are here to stay, and besides system-administrators they also have users and communities, who need freedoms too. This means that we will have to balance the freedoms of these parties against each other, and here conflicts are likely to arise, as one in the audience asked: “Yes but then a system-administrator might not be free to decide what code he runs anymore ?!?”. Now yes indeed, it likely may have to be limited to allow for basic freedoms for users. What else is ethics than the need to balance people’s freedoms and rights against each other in the fairest way ? I mean in a similar fashion to that of the self-centered system-administrator closed-source companies claim the right to keep their source hidden from users and other programmers and thereby ignoring their freedoms. When having freedom as the central value, the only difference between these two cases is one of architecture (hiding the code by compilation versus hiding it on a server and only giving others access to the UI). Now should just this difference in architecture make the difference between freedom and non-freedom ? Stallman if you only step back from your own ideas for one moment you must be able to grok this call for freedom; a man of your intelligence!

And yes I do acknowledge that this balance won’t be simple and is largely up for debate, but why expect that it should be simple ? To every problem there is a solution that is neat, simple, and wrong, and in my view Stallmann’s current view has become just that; wrong in the context of the web, it’s and our future. But not yet hopelessly so, a man’s ideas can change and be extended. Nevertheless the LogiLogi Foundation in any case does not intend to compete with the Free Software Foudation for the web. All we do is writing FOSS web- applications, like our main project LogiLogi Manta which is nearing completion, and our side-project: OgOg.org. We just came across this issue and I think the FSF should take it up, or at least take a responsible stand towards it.