MOTD

Message Of The Day

Wed, 03 Dec 2003

18:48 [zork(~)] cat dwim-drm.txt

Computers only do what you tell them to?

When my experience of computers was limited to 8-bit PCs and occasional use of VAXen at the University of Washington and the Seattle Public Library, the public's view of computing was far different. The Macintosh was still a plaything for the wealthy, and hadn't yet even claimed the "Desktop Publishing" niche. Computers were seen as inscrutible tin gods worshipped by the technocrats and their adoring press.

Someone on slashdot once noted that you don't have to answer the question "What do you do with a computer?" any more. It used to be that people had this Isaac Asimov-inspired notion that you "asked it questions" and it would give you an answer. Perhaps this was the fault of efforts like PROLOG.

By the 1980s, though, the LOGO program had thousands of elementary schools across the country getting through the first few chapters of the official LOGO course. LOGO was quite possibly the most accessible LISP interpreter on Earth, but nobody ever did much beyond pushing turtles around on the screen. LOGO was essentially a $2,000 spirograph.

But a number of maxims about the nature of computers began to creep into common usage. People who had never used a computer by themselves before were saying things like "Garbage In, Garbage Out." or "Computers only do what you tell them to."

It was largely a reaction to people mistyping or misunderstanding commands, and then (perhaps influenced by 1950s "electronic brain" rhetoric) expecting the computer to correctly interpret the intent of the garbled input. For a certain type of mind, the irrational degree of formalism and structure provided by the early 8-bit operating environment was liberating. Results could be planned for, anticipated, and feedback was immediate and reproducible. It's a playground for structured thought, and a frustrating mess for anyone who can't enjoy that.

But the further implications of the above bromides deserve special attention. Computers today are not the simple, single-tasking BASIC boxes of the 1980s. My Linux box has plenty of vendor-supplied cron jobs, long-running daemons, and even a couple dozen outside users. Yes, technically everything we tell this machine to do gets done in a straightforward fashion, but there is a lot that it does simply because that's what Debian is designed for.

So to a certain degree you can trace everything my machine does to my intent. There is a bit of delegation, but it is measured and acceptable to me (thus falling into the realm of what I want it to do). Even more restrictive proprietary computer systems behave in much the same way. You can tell because there is often a public backlash when some vendor-supplied behavior conflicts with the users' conception of how their computers should perform. Consider the CPU ID numbers that Intel implemented a few years ago, and how unhappy the general public was with that decision.

But what of systems such as Palladium and other hardware-implemented "Trusted Computing" schemes? The use of signature verification and other cryptographic tomfoolery in the hardware allegedly prevents corrupted code from being run, and allows automated audits on the state of all installed software. The benefits to the user end, however, once the signatures begin to prevent certain debugging or introspection tasks. The control of the computer is given over to the hardware as a means of sneaking "DRM", or copy prevention techniques into PCs.

Seth David Schoen has argued that Palladium could be acceptable technology if there were some sort of "Owner Override" mechanism. If the user of a computer can bypass the hardware restrictions (presumably via hardware means, to preserve the security benefits of such a system), then the intent of the user is not thwarted.

There's a great moment in the 1982 movie "Tron" between Ed Dillinger, the sneaky Senior Executive of Encom, and Walter Gibbs, the greybeard founder who sympathizes with the film's heroes.

Walter:User requests are what computers are for!
Dillinger:Doing our business is what computers are for!

The plot of "Tron" focused on the deactivation of a malicious security and control system for Encom's computers that was preventing the employees from getting work done. The film colorfully presented the Master Control system in cold-war terms, as a totalitarian leader who pitted programs that woldn't give fealty against each other in gladiatorial games.

The depiction of the Master Control system in the "real world" is far more interesting. Upon entering a command into his terminal, the character of Alan Bradley receives a frustrating series of "access denied" messages. While this sort of thing may make sense in a centrally-administered time-sharing system, it is not the sort of thing the owner of a standalone workstation wants to see.

An Owner Override would be something that Walter Gibbs could support. It preserves the property rights of the computer's owner, allowing her or him to completely control what the computer does. It also means that you don't have to correct anyone when they say "a computer only does what you tell it to."


[zork(~)] cal
[zork(~)] tree
[zork(~)] syndicate.py
[zork(~)] cat README