Software Should Not Have Features

Feature-comparisons always turn into a murky mess when people compare proprietary software to FOSS. The proprietary software tends to try to do everything, while the FOSS-tools try to do everything by doing nothing.

Office 365 vs Libreoffice

Office 365 advertises a chonky list of features:

  • Powerpoint
  • Word Processing
  • Backups
  • File sharing
  • Email

Anyone comparing this to Libreoffice might think 'Libreoffice has no email, so it has fewer features'. Of course, anyone using Libreoffice can have an email client - they can use any email client.

This principle extends back up to 'file sharing', since anyone with Libreoffice an also back up their files with other software. Meanwhile, someone using Microsoft's Office 365 will receive constant prompts to use OneDrive to save their work, and the extremely default Outlook will happily pop up the moment the user even considers sending an email.

Chonks vs Unix

The principle extends much further. My email client has no text editor, so it doesn't have anything to let me type text into an email. Instead, I use my text editor to make emails.

Similarly, I have a file synchronization program which synchronizes everything.

The List vs the Table

To show these programs in their own terms, they might look like this:

  • Office 365
    • Text Editor: yes
    • Backups: yes
    • Email: yes
    • QR Code Generator: no
    • Video player: no
  • Adobe InDesign
    • Text Editor: probably
    • Backups: no
    • Email: no
    • QR Code Generator: yes
    • Kitchen Sink: yes

In the future, these might change; perhaps Office 365 could gain a 'QR Code Generator' feature, which lets people put a URL in their Excel spreadsheets, so people can scan their screen with a phone and get a date back. But the only reason Office 365 might need this feature is that it does not play well with outside software.

If we compare a classic Unix-style setup, it has to be arranged quite differently:

| "Features" | Word Processing (TeX) | sc-im (spreadsheets) | aerc (email) | | | | | |

Text editor vim vim vim
Backup tool rsync rsync rsync
QR Code Generator qrencode qrencode qrencode
Text searcher grep grep grep
Collaboration tool git git git
Spell checker vim (again) vim (again) vim (again)

Do your spreadsheets really need a QR code generator? Probably not, but you don't actually have to think about it - you just know that you can use this 'feature' with anything.

It also means you can swap things out whenever you want.

Anyone who starts with Office 365 will be stuck until they go through the painful process of replacing each of those 'features'. Meanwhile someone with a Unix-style setup can simply change the default text editor from vim to emacs and everything will automatically use that program for that part.