An anti-feature is a feature of a program that prioritizes the interests of some party other than the user of the program—often those of the program’s developer. In many cases, the feature actively works against the interests of the user, for example by artificially limiting the functionality of the program or subjecting the user to surveillance.
Anti-features are exceedingly common in proprietary software, since the user is helpless to remove the anti-feature and may not even be given the opportunity to discover the anti-feature’s presence in the first place. This power imbalance inherent in proprietary software tempts its developers to abuse their power by adding anti-features.
Anti-features can also be present in free software, although this is not as pervasive, owing to the ethos of the free software movement. Furthermore, because users of free software are able to modify the program and distribute modified copies, free software projects tend not to add anti-features in the first place, since the anti-features can simply be removed. However, there are plenty of notable exceptions, such as Firefox, Chromium, and others, where popularity and profit-seeking intersect.
Common forms of anti-features include:
- DRM
- Telemetry (i.e., remote surveillance of the user by the developer and/or a third party)
- Advertising