Antifeatures by Benjamin Mako Hill

In 1996, a furor erupted over Microsoft Windows NT. At the time,
Microsoft was selling two versions of its popular operating system: NT
Workstation (NTW) and NT Server (NTS). NTS cost roughly $800 more than
the NTW.

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.

Many users noticed that NTW and NTS were very similar. Digging
further, an analysis published by O'Reilly revealed the kernel, and in
fact every binary file included in NTW, was identical to those
shipped in NTS. The sole difference between the two products' cores
lay in the operating systems' installation information. The server
version contained several options or flags that marked it as either
NTW or NTS. If the machine was flagged as NT Workstation, it would
disable certain functionality and limit the number of network
connections. Billed as a simple web server useful for personal use,
Microsoft's Personal Web Server (PWS) included on NTW was, in fact,
identical to the company's enterprise-focused IIS shipped with NTS;
when IIS started on a machine flagged as NTW, it would proceed to
eliminate and limit functionality. On NTS where flags were set
differently, new functionality would appear, and
limitations--including the ten-connection ceiling--disappeared.

The ability to run an unlimited number of connections, as well as many
of the other characteristics that differentiated NTW and NTS, are what
I call antifeatures. An antifeature, in the way I use the term, is
functionality that a technology developer will charge users to not
include. It is more difficult for Microsoft to limit Internet
connections than it is to leave them unconstrained, and the limit is
not something that any user would request. DRM and Treacherous
Computing systems are, in many ways, extreme examples of antifeatures.
Users don't want either and they are hugely expensive and extremely
difficult for developers to implement.

Region-coded DVDs, copy-protection measures, and Apple's optional DRM
music store--where users initially paid more for the DRM-free
tracks--are also excellent examples. It takes a large amount of work
to build these systems and users rarely benefit from or request
them. Like blackmail, users can sometimes pay technology providers to
not include an antifeature in their technology.

But sometimes, as in the case with many DRM systems, users cannot pay
to turn their antifeatures off at all! An example of such an
antifeature can be seen in the fact that Mozilla and Firefox were
blocking pop-ups for years before Microsoft got around to adding the
feature to its competing Internet Explorer browser. Despite the fact
that Firefox has become fancy about pop-up blocking recently, simply
not showing pop-ups (i.e., the way the feature was originally
implemented in Mozilla and celebrated by users) is easier than showing
them. Microsoft held back not because it was difficult, but because
others parts of Microsoft, and their partners, used and made money
from pop-ups. Ultimately, Microsoft lost droves of users to the free
alternative that was willing to put users first. Until 2005, another
proprietary web browser, Opera (which offered pop-up blocking before
Firefox did) displayed an irremovable banner advertisement unless
users paid for premium version of the software. No users liked the
banners, and obviously, it's more difficult to show advertisements
than it is to leave them out.

Unfortunately, for the companies and individuals trying to push
antifeatures, users increasingly often have alternatives in free
software. Software freedom, it turns out, makes antifeatures
impossible in most situations. Microsoft's predatory NT pricing is
impossible for GNU/Linux, where users can program around it. A version
of Firefox funded by advertisements would be too--users would simply
build and share a version of the software without the antifeatures in
question. Ultimately, the absence of similar antifeatures form some of
the easiest victories for free software. It does not cost free
software developers anything to avoid antifeatures. In many cases,
doing nothing is exactly what users want and what proprietary software
will not give them.