Antifeatures by Benjamin Mako Hill
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.