Ever since the mid-1990s, pundits have predicted that the Internet and the desktop would merge. However, exactly what that means has taken time to emerge. Today, the most common vision is that the desktop will be reduced to the launchpad for online applications, which is the premise for Google's Chrome Operating System.
But, unperceived by most people, another possibility is now being defined in the KDE 4 series of releases: a vision of desktop-oriented computing in which individual applications are enhanced by Internet resources without being dependent on them, and all online interaction is not funneled through a browser. This vision of the merger of the Internet and the desktop seems a far healthier alternative than accepting online applications -- so much so that I believe that which of these visions wins out could directly determine the survival of free software.
By that, I do not mean that freely available source code is in any danger of disappearing. Rather, I mean that the goals of the free software movement -- loosely speaking, the complete control of computers by their users -- will become impossible if online applications become the core of personal computing.
Common Origins, Different Goals
At first, this statement may seem an exaggeration. After all, both online applications and what I am calling the expanded desktop both originate largely in the free and open source software (FOSS) community.
The idea of online applications -- in fact, most of what was called Web 2.0 a couple of years ago -- could hardly exist without FOSS's example of giving something away for free. If you investigate, many online applications have close connections to FOSS. ThinkFree Office originated as an office suite that supported GNU/Linux, while the apparently defunct Ajax series of applications were developed by Michael Robertson, best known for the founding of the Linspire distribution of GNU/Linux. Similarly Google Docs, perhaps the most successful online apps, were created by a company whose business model has always been heavily based on FOSS development.
As for the expanded desktop, its main proponent is KDE, one of the two most popular interfaces for FOSS operating systems. As with online applications, you can probably find examples of proprietary companies that support concepts similar to the expanded desktop, but, so far as I know, only KDE has articulated it as a development goal. KDE developer Aaron Seigo has gone so far as to suggest that it is a development of the desktop in which FOSS can take the lead.
Yet, despite this common origin, online applications and the expanded desktop are nearly complete opposites. With online applications, control of the software remains with its provider. Users are dependent upon the provider allowing them access, and choose (often, no doubt, without stopping to think that they are making a choice) to trust that the provider will honor their privacy and adequately secure their files.
In many cases, they have no way to determine for themselves that the provider is doing these things properly. Often, the only indication that the provider is not acting properly is when a problem arises, as those who had downloaded George Orwell's Nineteen Eighty-Four from Amazon recently found out when Amazon unilaterally decided to delete their purchases.
In other words, users of online applications are in exactly the same position as users of proprietary applications. Just as most users have no way of knowing whether Microsoft Office is recording and transmitting their actions, so users of online applications can never know how their data is being handled. Nor do most online applications make source code available, any more than proprietary desktop applications do. If anything, ensuring privacy and security is even harder with online applications than with an application on your hard drive, because you lack the accessibility and leisure to investigate.
By contrast, with the expanded desktop, the control of Internet applications remains firmly in the user's hands. You might make a rash choice about what application to let in past your firewall or SELinux, but you do not need to take anything on trust. You or your system administrator can know exactly what privacy and security measures are being taken, and when.
For example, in the current release of KDE, you can use the new geolocation support to connect to locate other KDE users nearby so that you can socialize or exchange information. If you want information about the music album you are playing in Amarok, you can access Wikipedia without troubling to open up your browser. If you want to download your photos from Facebook, you can do so from within digiKam. Although these are far from the first applications to access the web directly, the extent to which the latest releases of KDE applications are doing so amounts to an integration of the desktop and online resources that provides a clear alternative to the idea of online applications.
In the next release of KDE, you will also be able to download remote widgets on to your desktop, such as a train schedule when you are in the station -- at least, if you can find a station that also happens to be running KDE. If any of these interactions seem unwise to you, you can limit your use of them or avoid them altogether. If you are a developer, you can investigate the source code and determine for yourself that these features do not contain any back doors or digital restriction management tools. You not only have control, but you can choose your level of trust, and take whatever precautions you think are necessary, even avoiding such features altogether.
What matters is that, with the expanded desktop, you decide for yourself what balance between convenience and security you can live with. That factor places the expanded desktop squarely within the tradition of FOSS in a way that most online applications are not.
Wanted: An Alternative Design Philosophy
Of course, things are not quite so black and white. A minority of online applications use the Affero GNU General Public License, which requires that providers of online applications must make their source code available. A few, such as Clipperz, also encourage users to encrypt their files to guarantee their privacy.
But these are not general practice. According to the latest figures from Black Duck, only 227 applications use the Affero license today. If anything, the providers of online applications shy away from the Affero license. Google, for instance, does not allow projects that use its online repositories to license their work under the Affero license.
The reason given is that Google is trying to prevent the proliferation of licenses. However, since no other license has been singled out, what Google appears to object to is a license that would bring online applications under the usual provisions of FOSS.
The truth is, online applications are nothing more than the latest incarnation of proprietary software. The resemblance is hidden because you can use most online applications without paying anything, just as with FOSS. But FOSS is about user control, not about cost, and online applications are typically a way to avoid user control. They are a reaction to FOSS, not an acceptance of it.
The Affero license can redirect online applications, and make them more FOSS-friendly. Unfortunately, though, the effort required to spread the use of the Affero license is immense, and almost as slow as the initial efforts to spread FOSS.
My concern is that we do not have the time to rely on the Affero license to change the nature of online applications. While FOSS advocates continue to suggest the Affero license's use, online applications continue to gain in popularity, with very little critical analysis. If anything, commentators accept them as more or less inevitable. Matt Assay, for example, sees Google Chrome, with its emphasis on online-apps as likely to provide a major shift away from the traditional desktop.
And who knows? Based on what has happened so far, he might be right.
The expanded desktop is not entirely ideal. In particular, it could open too many new doors to malware attacks. But as a design philosophy, it has the advantage of permitting interaction with online resources while remaining compatible with FOSS goals. These advantages make it an alternative to online apps -- an alternative that free software may desperately need.