Luis Villa provokes, in a good way:
Someone who I respect a lot told me at GUADEC ‘open source is doomed’. He believed that the small-ish apps we tend to do pretty well will migrate to the web, increasing the capital costs of delivering good software and giving next-gen proprietary companies like Google even greater advantages than current-gen proprietary companies like MS.
Seeing so many of us using proprietary software for some of our most treasured possessions (our pictures, in flickr) has bugged me deeply this week.
These things have long bugged me, too.
I think Villa has even understated the advantage of web applications — no mention of security — and overstated the advantage of desktop applications, which amounts to low latency, high bandwidth data transfer — let’s see, video, including video editing, is the hottest thing on the web. Low quality video, but still. The two things client applications still excel at are very high bandwidth, very low latency data input and output, such as rendering web pages as pixels. :)
There are many things that can be done to make client development and deployment easier, more secure, more web-like and client applications more collaboration-enabled. Fortunately they’ve all been tried before (e.g., Java Web Start, JXTA, XUL, others of varying relevance), so there’s much to learn from, yet the field is wide open. Somehow it seems I’d be remiss to not mention XMPP, so there it is. Web applications on the client are also a possibility, though typical web application platforms only address ease of development and not manageability at all.
The ascendancy of web applications does not make the desktop unimportant any more than GUIs made filesystems unimportant. Another layer has been added to the stack, but I am still very happy to see any move of lower layers in the direction of freedom.
My ideal application would be available locally and over the network (usually that means on the web), but I’ll prefer the latter if I have to choose, and I can’t think of many applications that don’t require this choice (fortunately email is one of them, or close enough).
So what can be done to make the web application dominated future open source in spirit, for lack of a better term?
First, web applications should be super easy to manage (install, upgrade, customize, secure, backup) so that running your own is a real option. Applications like WordPress and MediaWiki have made large strides, especially in the installation department, but still require a lot of work and knowledge to run effectively.
There are some applications that centralizaton makes tractable or at least easier and better, e.g., web scale search, social aggregation — which basically come down to high bandwidth, low latency data transfer. Various P2P technologies (much to learn from, field wide open) can help somewhat, but the pull of centralization is very strong.
In cases were one accepts a centralized web application, should one demand that application be somehow constitutionally open? Some possible criteria:
- All source code for the running service should be published under an open source license and developer source control available for public viewing.
- All private data available for on-demand export in standard formats.
- All collaboratively created data available under an open license (e.g., one from Creative Commons), again in standard formats.
- In some cases, I am not sure how rare, the final mission of the organization running the service should be to provide the service rather than to make a financial profit, i.e., beholden to users and volunteers, not investors and employees. Maybe. Would I be less sanguine about the long term prospects of Wikipedia if it were for-profit? I don’t know of evidence for or against this feeling.
Consider all of this ignorant speculation. Yes, I’m just angling for more freedom lunches.