Articles by luis

You are currently browsing luis’s articles.

This post is an essay based on my talks at Libre Planet 2010 and GUADEC 2010. While not strictly about web services, it is about a strongly related topic that may be of interest to free software supporters who read autonomo.us.

Disclaimer: since my last post at autonomo.us, I have become an employee of the Mozilla Corporation. I don’t feel this has tainted my views, but feel free to weigh that information as part of your analysis of this article. Relatedly, I do not speak for that employer when writing here; my words and ideas here are my own.

tl;dr version: We shouldn’t throw the baby out with the bathwater. The bathwater is the ethical problems with software hosted on someone else’s server; the baby is the strength of the libre web application development stack- which may actually be the best platform for building autonomy-preserving user-oriented software.

Put yourself in 1995. I’m going to tell the you of 1995 that in 2010, there will be a software platform with the following properties:

  • The widget toolkit for this platform will have two independent, competitive, Libre implementations; one of those implementations will be the most widely used consumer-facing piece of free software ever, and the other one will have the support of the second and third largest software companies on earth.
  • Tens of millions of dollars a year in engineering time will go into improving those free implementations of the standard; in fact, Microsoft will spend lots of money and PR time saying ‘we’ve caught up to the libre implementations.’
  • This widget toolkit will have no vendor gatekeepers or tolls; in fact, all the biggest software vendors on earth will have attempted to disclaim patent claims against it, making it not only no-cost but also perhaps the safest free software toolkit available from an IP perspective. New additions to the toolkit will be free by default; there will be some exceptions to this but those exceptions will be bitterly contested, sometimes with huge proprietary software companies weighing in on the side of free implementations.
  • The major implementations of the widget toolkits will be extensible using a simple scripting language, making them much easier for users to customize than most (non-emacs) toolkits.
  • Free software written for this platform can be made trivially available not just to users of free operating systems but also to people on other platforms, potentially helping grow the community of free software developers and users.
  • This widget toolkit will be available on every computing platform on earth; not just PCs but also many phones and soon on TVs. If your hardware supports this widget toolkit, it immediately has enough applications that it is considered commercially viable, leading to an unprecedented blossoming of operating systems platforms, many of which are built on GNU/Linux (unlike the situation in 1995, where new platforms have no apps and so find it nearly  impossible to compete with Win3.1/95.)
  • The logic and data storage systems backing this widget framework will also be varied- there will be proprietary implementations, but there will be dozens if not hundreds of free frameworks as well, in essentially every programming language you can imagine. It is taken for granted that these frameworks run on Linux first. Among many others, the White House will use such a free framework to deliver (closed) software.
  • At the same time, because of elegant design, it is easy to swap out backends, so if you want to write backends in different ways, you can do that; in fact, people are taking advantage of this every day to write completely new frameworks with a variety of different properties.
  • A function called ‘view source’ is viewed as a key competitive differentiator in this platform; it is actually hard to close the source describing widget layout and behavior (though easy to close the backend.)
  • Millions of high school kids are taught (at least part of) this framework; millions more will have taught it to themselves using view source!
  • This platform will have been so successful that virtually every single first-world computer user will use it (in some way) every day.
At this point, 1995-you says ‘This sounds too good to be true. There must be a catch.’

There are two major catches, the second a consequence of the first.

The first catch is that the default data storage architecture is distributed, and the default licensing is effectively permissive, making it expected (though not mandatory) that users are separated from both the code they run and their data. In other words, developers who use this stack are perhaps more free than they’ve ever been in the history of computing (and not surprisingly they’ve adopted it in droves)- but users often have even less control than they had when they were using traditional proprietary desktop applications.

The you from 1995 would probably think that freedom-lovers would have reacted to this unfreedom by rewriting the thin layer of proprietary code sandwiched between gigantic gobs of free code, and/or by working to make the platform more amenable to local or distributed use. You might expect that they would even have embraced and extended the platform to make it even better for freedom.

Instead, the second catch is that fans of freedom have largely thrown the baby out with the bathwater, ignoring (or at best failing to embrace) this rich, free platform. Instead, in a story straight out of the Innovator’s Dilemma, they’ve continued to focus on traditional widget toolkits and interfaces which lack all the benefits I’ve just listed out.

It should be obvious by this point that the platform I’m talking about is HTML and the many, many application frameworks that can be used to generate it. This platform- what I’ll call the libre web application stack- is not perfect, but it has the potential to be hugely freedom-enhancing, as, for the first time, the world’s premiere software development platform is essentially libre. Therefore, I think free software advocates should be mindful of the issues with SaaS, but they should still consider writing their next app in the libre web application framework and then deploying in an autonomy-respecting way, rather than writing in a traditional framework.

Jon Phillips of Inkscape and Creative Commons fame asks “How do our beloved desktop applications such as Inkscape, Gimp, Scribus, Krita, and Blender fit into this new world wide web world order (NWWWWO)?” in his blog and wikinotes. Worth perusing as we all ponder the transition from traditional desktop apps to more network-centric content development.

I’ve argued here (and elsewhere) that privacy in network services is a problem best solved by data portability. The resultant competition, which would let people migrate from services with worse privacy policies to services with better privacy policies. Of course, the issue isn’t that simple- in particular, there are complex questions about who can export what data. If someone comments on your wall, can you take that with you? If you comment on their wall? What if they put up a picture of you? A picture of you, and someone else? I don’t pretend to have a solution to that, but my sense has always been that once a reasonable line was drawn, it’d got a long way towards helping resolve the privacy problems that have plagued Facebook.

James Grimmelman has a new paper out on privacy in social networks that suggests I might be wrong. In short, Prof. Grimmelman argues that data portability is not a solution to the privacy problem, because privacy is determined not just by who controls data, but by what code controls and interprets the data. Of course, the code won’t follow ‘ported’ data. For example, if a friend shares a picture with you, they aren’t deciding ‘just’ to share that picture with you, they are deciding to share it under the specific rules of the social network they are sharing it through. They may not fully understand those rules, but the rules are discoverable, choosable, and maybe even predictable. If that picture is taken elsewhere the rules may be better- but they may well be worse. Using the example of Scoble getting banned from Facebook for importing information into the notorious Plaxo, Grimmelman points out that this helped Scoble’s independence- but may well have violated the privacy expectations of anyone who had shared data with Scoble, assuming that Facebook would enforce certain rules on the use of the data. Or to put it more abstractly: “data portability may reduce vertical power imbalances between users and social network sites, it creates horizontal privacy trouble.” I think I’d known this before reading this paper, but Grimmelman laid the problem out so clearly that I will be forced to revisit the question.

(Tangentially, Grimmelman notes that this problem is in part a side-effect of the use of notions of ‘ownership’ to describe personal data, when property norms may well be the wrong metaphor for personal data. Certainly we’ve been guilty of that mistake here from time to time.)

Grimmelman does suggest a slew of other approaches that might lessen the privacy issues in modern social networks, and critiques a slew of others that he thinks won’t work – so for anyone thinking about privacy and network services the paper is well worth a read. In the meantime, I’ll be mulling what it means for free/autonomous social networks, and invite others to do the same.

Following in Evan’s footsteps, I’ve written a post on clouds and hype over at Freedom To Tinker. The nutshell is that there are different types of clouds, and we should be keeping that in mind instead of treating all clouds as either good or bad. But head over there for the full story.

Careful readers of the Franklin Street Statement will have noticed that it doesn’t ever use the word ‘web.’ That was very deliberate. While web services are pretty important to all our lives at this point, and web services like facebook and twitter have provided plenty of fodder for discussion of autonomous services, there are lots of non-web services that are pretty important. These range from very obvious ones (like email) to less obvious ones- like, say, virtual worlds like Second Life.

There has been some progress in virtual worlds, particularly with efforts like opencroquet, but more could still be done. Azdel Slade has written some worthwhile and interesting posts about the problem here, here, and here- worth a read!

In interviews, in private discussion, and in some media articles about autonomo.us, people have suggested that we’re redundant to other groups like DiSo or DataPortability, who are discussing standards and writing code. To quote webmonkey:

Rather than spending their time on grandiose statements, the DiSo Project and others like are already distributing code that just works. … [T]he web moves much faster than desktop software and it remains to be seen if the principles of desktop software can guide the development of an open web.

Read the rest of this entry »

I’ve noticed some complaints that the Franklin Street Statement does not address privacy issues. I thought it might be worth explaining here why I am less concerned. As usual, I speak for myself here, rather than the group, but we all welcome constructive feedback on the issue.

Free and open software has a slightly indirect mechanism for dealing with software of low quality. It gives people the freedom to fix the problems themselves, pay for someone else to fix it, or to get their data out and use other software. In other words, freedom creates choices and markets- which allow and encourage quality to happen. Given that free software originates in one man’s quest to improve the quality of his printer, this side effect of freedom shouldn’t be too surprising.

Read the rest of this entry »