Cory Doctorow's "keynote to the Chaos Computer Congress" and follow-up post (Lockdown: The coming war on general-purpose computing) on BoingBoing raise the alarm about keeping the Internet and PC "free and open." Doctorow makes excellent points and if you haven't watched the keynote or read his essay, you should do so right away.

I'm generally in agreement with Doctorow, but I'm not really sure that he goes quite far enough with Lockdown. Doctorow's focus on the copyright war we're facing with things like SOPA and PROTECT-IP is well warranted, but I'm not sure it covers everything.

The threat to general purpose computing goes beyond legislation. As I see it, we have at least four major threats to general purpose computing:

  • Legislation
  • Cloud Computing
  • Computing Appliances
  • Consumer Indifference

Legislation

Doctorow covers legislation pretty neatly, so I'm not sure there's much need to go further. But, as he says in Lockdown, "copyright wars are just the beta version of a long coming war on computation." However, Doctorow limits most of his discussion to legislation that might come from parties hostile to general purpose computing.

In many ways, general purpose computing and free/open source software (FOSS) go hand in hand. You can't really make the most of general purpose computing without FOSS. The fact is that we're seeing a number of other forces that threaten general purpose computing and FOSS, and they're not all intentional.

Cloud Computing

Some free software advocates have been warning against cloud computing for some time. While I don't subscribe to the idea that cloud computing is to be completely avoided, it is worth considering the impact of cloud services on general purpose computing.

By definition, cloud services place limits on a user's ability to perform general purpose computing. If you're using a IaaS platform like Amazon Web Services or OpenStack, you're facing the least amount of restriction. But even with an IaaS, you have limits. Some operating systems may not be available for your IaaS. You may not be able to run some types of services. You cannot modify the hardware, and so on.

As you go up the stack to PaaS and SaaS offerings, you encounter more limits that take users further and further away from general purpose computing. You can write a wide variety of applications for a PaaS like Engine Yard or Heroku, but only using the tools offered and within the constraints of the platforms.

Cloud computing is also a challenge for FOSS. While some of the platforms are built on FOSS or may even be fully open, most have a lot of non-free software that users are unable to examine, modify or distribute outside the service provider.

Using a SaaS platform, you have even less control and flexibility, to the point that most SaaS offerings are essentially appliances rather than computing platforms. Data goes in, data comes out, black box in the middle that users don't control at all.

Computing Appliances

Doctorow touches on computing appliances briefly in Lockdown, but primarily speaks to the legislative issues related to computing appliances. Specifically, the issues that crop up when manufacturers of computing appliances decide they need legislation to ensure that their appliances are not used for general purpose computing.

For the vast majority of users, restricted computing appliances are just fine. The loss of freedom and functionality that concerns me and folks like Doctorow is of little concern to most users. So what if an iPhone or iPad isn't a general purpose computer? It's easy to use. It does what most users want. Why should they lobby for general purpose computer rights from their legislators when they don't use them?

But legal restrictions are only one facet of the problem. Another part of the problem is the technological challenge that we face with computing appliances. We're doing an increasing amount of computing using appliances that are capable of general purpose computing, but not designed or fully permitted to do so by their design.

Tablets, smartphones, set-top boxes that feature apps, game consoles and many other devices are likely to replace general-purpose computers for many households. There's no legislation required here. Even if users can legally root an Android tablet or Roku to turn it into a general purpose computer, it doesn't lessen the technical challenges. Whether the OS on a device meant as an appliance allows general-purpose computing, it may not be well-suited for the task.

Doctorow talks a bit about the rise of PCs, distributing software via floppies and sneakernet. The early days of computing demanded general purpose computers for users who wanted to play games or connect to the Internet. That's not the case now.

Even our general purpose computers are starting to come with technical restrictions. Computers equipped with UEFI secure boot, which are expected this year, may in some cases not boot operating systems without the right keys. Apple is slowly but surely restricting apps that run on Mac OS X via its App Store. Granted, you can run whatever you want on Mac OS X that you download outside the App Store, but you have to wonder if that will always be the case.

Again, app stores provide special challenges for open source because of the restrictions on licensing. For instance, neither Microsoft or Apple allow copyleft licensing due to their Terms of Service for their respective app stores.

Consumer Indifference

And that brings me to the fourth issue that we really shouldn't overlook, consumer indifference to general purpose computing. Doctorow notes that for the "vast majority of the world... ideas like Turing completeness and end-to-end are meaningless."

For the vast majority of users, restricted computing appliances are just fine. The loss of freedom and functionality that concerns me and folks like Doctorow is of little concern to most users. So what if an iPhone or iPad isn't a general purpose computer? It's easy to use. It does what most users want. Why should they lobby for general purpose computer rights from their legislators when they don't use them?

Of course, general purpose computing is important to most users for the same reasons that FOSS is important. There's an enormous loss of opportunity, especially for kids, in not having readily available general purpose computers. But it's an abstraction to most users, and not something that they're prepared to demand from the manufacturers or government.

It seems to me that the indifference from users is an even bigger challenge than legislative threats. Convince an NRA-sized voting bloc that any restriction on general purpose computing is a threat to society, and we'd be in good shape. But, at the moment, the vast majority of people just don't care.

Doctorow says that we haven't lost the war on general purpose computing, "but we have to win the copyright war first if we want to keep the Internet and the PC free and open." I don't disagree that winning the copyright war is important, but the first priority needs to be convincing the public at large that general purpose computing is important in the first place. Failing that, we are always going to be fighting a losing battle.