Brief introduction of myself (as a way of disclaimer and getting my own biases, qualifications, and disqualifications out on the table more than anything else):

Here's the overview of what I'm going to try to do in this talk:

  1. I'm going to frame my talk here in terms of the whole "free software" versus "open source" debate. I understand that this is both fraught and tired territory but I hope to bring something new and (dare I say) more constructive and conciliatory to the debate.

    I'm going to argue that although the "principles versus pragmatics" split is basically valid, there are ways that the two camps come together that we've ignored. In particular, I'm going to that are important practical benefits of freedom -- and that they are not what we are used to thinking of when we think of "open source";

  2. I'm going to introduce the term "antifeatures" --- my topic today --- as one important way of talking about the practical benefits of software freedom.

  3. I'm going to walk through a bunch of examples of antifeatures with the goal of providing three things:

    (a) a tour of the horrors possible in the world of proprietary software (for those of us fortunate enough to have forgotten);

    (b) a discussion (by example) of what antifeatures are, why they exist;

    (c) a demonstration of the fact that antifeatures are only possible because users are kept helpless, and out of control (in a word: "un-free").

  4. At the risk of sounding a little keynotey, I want to use antifeatures to talk about three of the most important "fronts" in broader movement for software freedom.

The Debate

The debate (for those of you that are lucky enough to have missed this boils down to this):


Slide: GNU Head

RMS and the FSF have spent the last 20 plus years talking about the freedom that users have when than use, study, modify, share, and collaborate on their software.

Rather than repeat the free software definition, we can think of this in terms of autonomy and empowerment.

Short version of the phone anecdote.

Benefits in a concrete sense include the fuzzy feeling of living in freedom (and are sort of left at that).


Slide: Open Source Logo

Open source was invented as term to both explicitly distance the work of the free software movement from these freedoms by emphasizing pragmatic benefits. In the words of the OSI (taken from the website):

"Better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in."

The "normal" free software response is that this is bad because we're not talking about freedom.

I'm biased here. So that's my response too. I think freedom is really important and that we should be talking more about it. But that's only part (or at least the least interesting part) of my response.

Because I also reject what I think is a false dichotomy between the two camps. I believe that practical benefits really do matter, for a whole number of reasons. Most relevant here, I believe freedom imparts inherent benefits that have nothing to do with a development methodology.

One the one hand, the free software camp is right to be wary of talking about quality, reliability, flexibility, cost, as an inherent benefit of a free software development model. And it's understandable that they don't really point this out, it's just demonstrably wrong:

  • Remember 1993-5?
  • LinuxCare cum Levanta?

Open source, it turns out, is more difficult than putting your code online, slapping a GPL on it, and letting patches roll in.

The median number of contributors to a project by almost any directlory of projects is 1. 95% percentile is 5. The median number of CVS commits is 0.

The benefits are not inherent and they are not automatic. the benfits of mass collaboration are simply irrelevant for your average free software project which is just a single person.


Freedom does lead to real practical benefits. Always.

But these benefits have nothing to with pragmatic issues like low cost and flexiblity and have everything to do with freedom.


8 Minute Mark

What are Antifeatures


Slide: Antifeatures

The world of proprietary software is a world of firms controlling users to their own benefit and to users' disadvantage. It is a world where users' rights and desires come after the technology producers' desire for profit or the desires of a third party friend or strategic partner (friend for a price?).

The result is that non-free software is full of features that users hate. Features users hate so much they will pay, if they are lucky, to have them removed. I call these "features" antifeatures.

Like a feature, an antifeature must be built. It is something that requires effort. It's not a bug. It's not a missing feature. It's added functionality -- but it's "negative" functionality in the sense that it makes your technology do something that you don't want it to do.

Which brings us back to free software:

Because free software gives users control, in the way that I talked about a few minutes ago, over what technology does. And antifeatures are a way of designing software in ways that exploit users. When users have control, they given a choice in the matter, and they tend to choose to not be exploited.

The result is that, quite simply, antifeatures cannot exist in a free world in the long term.

In this sense, defense against antifeatures represents an inherent advantage, like actually inherent -- of free software over competing proprietary technologies. And it's stems directly from the freedom, not the development methodology. As such, it represents a sort of compromise or middle ground in the debate.

Now hopefully some of you are thinking. But c'mon. Features users hate? What are you talking about? How common could these be?

I will show you that they are everywhere. That they are inextricable part of proprietary development business practice.


10 Minute Mark

Why do they Exist?

The best way to explain antifeatures is to show you what I'm talking about through examples. I've broken examples down into four major types of antifeatures based on why they exist.

Extracting More Money


Slide: Extracting More Money from Users

This is the simplest mode of antifeatures and it's understandable to anyone who understands how the mafia works. Selling protection from themselves.


Slide: Phone books

Has anyone here paid the phone company to not list a phone number?

It usually happens in terms of offsetting costs from other people. The economics here are pretty simple:

Firm A has a product or service that they give to users. Firm B is willing to pay Firm A to do something to do something that users don't want them to. Firm A then charges users at least as much as Firm B is offering to not do the thing Firm B asked.


Slide: Claria/Gator

Gator was installed on 35 million PCs. Which was funny because nobody remembered every installing it!

Of course, Claria/Gator is perhaps the most infamous piece of spyware. It was shipped with Kazaa, DiVX, and many other pieces of software on Windows. It monitored users web browser, replaced ads and was generally nasty .

There's this phenomena of pieces of software being offered without spyware in paid versions. DiVX falls into this category. Gator/GAIN was shipped with DivX that would then install spyware/adware onto your server. If you paid for the "premium" version, it would come without spyware. Otherwise, it was the same.


Slide: Fresh Start from Sony

A similar example on a larger scale is from Sony with their Fresh Start (also here). There are two choices, (1) No Fresh Start (Substract $49.99) and (2) Fresh Start. The description reads:

Opt for a Fresh Start(TM) and your VAIO PC will undergo a system optimization service where specific VAIO applications, trial software, and games will be removed from your unit prior to shipment. Fresh Start safely scrubs your PC to free up valuable hard drive space and conserve memory and processing power while maximizing overall system perfromance right from the start.

Engadget reported that Sony's news laptop that premiered the feature "blue-screened" the first time the site's reviewer turned it on and crashed the first time it was shut down because of all the bloatware. Laptop Magazine reported that Sony's VAIO VGN-TZ150N "behaved as if it were broken," before the unwanted software was removed.

Sony eventually relented after getting a ton of negative publicity (this talk would be a good example).


18 Minute Mark

Market Segmentation


Slide: Market Segementation Title

A related version of this story is around what some people call "Market Segmentation" (this is what they call it in business schools) and price discrimination (people who do it don't like this name as much).

The history of Microsoft Windows can be read as a history of trying to squeeze more money out of people by making software worse! So here's a mini history.


Slide: Windows NT Workstation 4.0

For example, the there's the old NT Workstation and NT Server story.

While NTS included a series of server applications not bundled with NTW, Microsoft maintained that the NTW and NTS operating systems themselves were, "two very different products intended for two very different functions." NTS, Microsoft claimed, was suited and tailored for use as an Internet server while NTW was grossly inadequate. Aiming to enforce this difference, both the NTW code and the license agreement restricted users to no more than ten concurrent TCP/IP (i.e., Internet) connections; NTS remained unlimited.

Of course, NTW and NTS were, it turned out, identical (O'Reilly media revealed this way back in 1996!). Things were just a single registry flag!

It's hardly gone away either.


Slide: Windows Vista Editions

You can choose between the full list of different version of Windows Vista. Most of them are distinguished from each other based largely on how much memory on your computer you want to run.

Similarly, we can look Windows Vista Starter which is limited to (a) 3 running applications with a user interface, (b) 250 GB of disk space, and (c) an aribtrary limit of several gigabytes of memory, etc. Someone had to write this code to make Windows Broken edition!


Slide: Canon G7

Shooting in RAW on your cannon digital camera is another example. RAW exists every time you take a picture. The Canon G1 through G6 had RAW support and the G7, G9 and G10 do not. Despite the fact that they are faster and more capable in every way!


Slide: CHDK and Raw

There's a free software "addition" to normal Canon camera, CHDK, which shows just how easy it is to put this back.

And this is the other side of antifeatures. Not only are these tempting, irresistable perhaps, in the world of proprietary software, in a world where freedom is an option, they are entirely unsustainable.


24 Minute Mark

Create, Extend, and Enforce Monopolies


Slide: Panasonic Batteries

Here's a story that has been in the news recently:

Panasonic upgraded the firmware of their camera to lock out third-party batteries.

And we can vilify Panasonic here but the is actually extremely widespread. There is an industry called accessory control.

This is from Ross Anderson's "Security Engineering" says:

It is common for the makers of games consoles to build in challenge-response protocols to prevent software cartridges or other accessories being used with their product unless a license fee is paid. This practice is spreading. According to one vendor of authentication chips, some printer companies have begun to embed authentication in printers to ensure that genuine toner cartridges are used. If a competitor’s product is loaded instead, the printer will quietly downgrade from 1200 dpi to 300 dpi. In mobile phones, much of the profit is made on batteries, and authentication protocols can be used to spot competitors’ products so they can be drained more quickly.


Slide: Atmel's news release.

TI is very proud of their battery authentication chip, for example. It had about $1.30 to the cost of the device). ATMEL just released a new version (here's their press release) of theirs with SHA 256 (because SHA1 wasn't strong enough) that is almost half the price.

This really an arms race being fought and users are the casualities. It's an attempt by manufacturers to eliminate user choice and control over their technology. It's trying to protect high margins (that users pay) on the batteries themselves. The software works only when users are helpless, divided, and entirely dependent.


Print Catridges, Tivo, Games, etc.

Secured monopolies are what make it possible for companies to use loss-leaders and many subscription based services that users cannot leave.

Printer cartridges included a complicated complicated authentication that was a subject of a majority copyright case in the US. No customer has demanded to be barred from refilling their own printer cartridges or using one from a third party. And yet they pay for it.

Game systems work the same way. Sell a cheap system and then make up the loss on games. When the XBox came out this was particular evident. The original XBox, after all, was basically just a bunch of PC components. Microsoft invested enormous effort into making the Xbox do less than the hardware could. Namely, it was only supposed to play original copies of games approved by Microsoft.

In particular, the Xbox was engineered to not run GNU/Linux. The XBox's inability to run GNU/Linux was highly engineered and expensive! It was a clear antifeature.

Tivoization isn't free. It's in the cost of subscriptions and we cannot pay to turn it off.

Tivoization is also a good example of how a focus on licensing misses the more important issues of autonomy and control.


30 Minute Mark


There is hope in free software because:

Because when we have freedom, most antifeatures are impossible.

At the very least, antifeatures become low-hanging fruit for free software. As developers, all we need to do is not build something our users don't want are being forced to have.

Which version of Ubuntu I want? How much memory do I have? How many applications do I want to run?

If my answered mattered, how long do you we think Ubuntu would last before it was forced fork somewhere by someone who offered us the ability to not choose?

We all know the answer.


34 Minute Mark

Frontiers of the Struggle for Software Freedom

At the risk of sounding a little keynotey, I want to talk briefly about how antifeatures give us a way to understand, and a way to explain, three of the most important frontiers in the struggle for software freedom: (1) mobile phones, (2) network services, and (3) DRM.


Slide: Phones (SIM unlocker)

Mobile phones are both the most widely distributed form of powerful computers and unhlikely to act like the computers they are because they are almost universally locked down to a degree that should seem extraordinary but that we now essentially take for granted.

The image on the slide is (apparently) a SIM unlocker that lets users defeat an antifeature designed to keep their phone from working with arbitrary SIM cards. Because a large number of phones sold in the world come "locked" to a particular carrier, this is basically an "enforcing a monoply" antifeature.

But I don't need to tell you about locked phones because despite the fact that we all hate it, we've all come to expect it. And we all just seem to take it.

If this were a more general audience, I'd ask how many have root on your phone or can install arbitrary software without permission of the person who sold you your phone. Suffice it say, most people cannot. Cryptographic systems that prevent the installation of unapproved or "unsigned" images is an expensive antifeature included in the prices of most phones sold worldwide.


Slide: Phones (Freedom Tax)

Even on the best examples of free software friendly phones, antifeatures are clear.

Android based phones to date have tended to come in two versions. On one hand, a cheaper version that is (a) locked to a carrier and contract and (b) locked so that it only runs approved operating system software and, on the other, one for "developers" that is open.

In the US, the cost of getting a phone that lets me install arbitrary OS images was $226 more ($425 versus $199). $226 is the freedom tax. What I got was a phone without an keyring and an if statement in the bootloader checking for it.

And I'm happy to pay it because, for me, it's worth it. It's the cost of removing an antifeature and it's one I'm willing to pay because I think of it in those terms. But most people don't.

Antifeatures are what mean that we are all carrying around computers with microphones, cameras, and other sensors, and that we trust them with our closest secrets and most sensitive data and that, in almost all cases, these computers remain controlled, completely and ultimately, by companies that very few of us trust at all.

If we can communicate about these antifeatures, as antifeatures, we can begin to build real support for a free software phone alternative where these antifeatures will become impossible.

Poor OpenMoko didn't do a lot of things. But that fact that it didn't do some of things was pretty great.


Slide: GitHub Prices (1)

The second area I want to talk about is network services.

This is the GitHub list of subscription prices. It's a combination of the subscription enforced monopoly model with market segmentation and it's a menu of antifeatures. The more you pay, the less antifeatures you get.

It doesn't cost GH much to run a few more projects. What's the going price of a row in a MySQL table? About $1/month according to this.

The reason I post this to remind us that in network services, access to the code no longer is the central issue. What matters is autonomy and control and in the network service model, the service provider has it. And they're the only one.

GH's entire systems, legal and technical, was crafted at immense effort and expense and this is much of what we are paying for when we subscribe. The billing system. The monitoring systems. The set of roles and the system to enforce it. The software that detects if you've already created too many accounts and that disables your access when your bill hasn't been paid.


Slide: Gitorious

Gitorious is the free software replacement for GitHub. It's doesn't have 100% of the features that GitHub does. But it is missing 100% of the antifeatures! And as a result, it had an inherent advantage when it did next to nothing. Incomplete sure, but inherent.

The reason I'm using this example is because these are generic problems of hosted non-free network services.

Antifeatures give an us a way to understand the harm they do, a way to reflect on the way these services systematically disadvantage users, and what we might do about it.


Slide: DRM Shirt (you can order from the FSF)

Despite victories in the area of music, DRM continues to be a major threat to free software in video, software, and embedded systems.

DRM in a serious sense, can be seen as the mother of all antifeatures. No users wants them. An industry of 10,000 people developing technology users hate.

And its antifeatureness has been its downfall (although it's not down enough).


Slide: DRM-Free Advertisement

In fact, people who can avoid DRM exclaim it on their advertising!

And we don't have to look any further. At the beginning of the demise of DRM for music, we would see DRM songs sold for $1.00 and DRM free songs sold for $1.50 or more. There was a premium on freedom. It's just like Sony and the crapware free version.


45 Minute Mark


End where I began.

In the perfect software development world, even when things work perfectly, what software developers want is simply not always what users want. Antifeatures are the most extreme example of this and, I hope I've shown, a nice way to talk about key issues in free software.

Free software eliminates antifeatures and ensures that we are closer to an alignment between the interests of developers and users. This is an inherent advantage and part of the reason that free software will win.

Thanks for listening to me and thanks for putting on such a wonderful conference.