Re: [dev] Minimalist software. Should I care?

From: Daniel Littlewood <danielittlewood_AT_gmail.com>
Date: Thu, 6 Jul 2023 10:43:26 +0100

I tried to respond to the original question the other day but
failed to set up text mode correctly. ugh.

> What would be the point of using minimalist software if
> bloated and excessively complex programs completely satisfy
> all my needs?

I think there are a couple of reasons. Not all of them apply to all people, or
all programs.

Composability. If you write lots of small programs, then your complex
functionality has to come from combining them together. For example, Firefox
has tabs, and xterm has tabs. These functions are implemented in different ways
in the different programs, and when I wake up one day and decide I want a
tabbed PDF reader, or a tabbed file browser, I can't have it. If all your needs
are satisfied then this isn't important, but sometimes the flexibility makes me
aware of needs I didn't already know about.

Low maintenance burden. The bigger the project, the more extraneous concerns
like testing, issue tracking, packaging and monetisation burden the actual
functionality of the software. You can see this with projects like chromium,
where it takes 100 hours to compile on a typical PC and the software is so
buggy that they refuse to package it for Ubuntu (and provide only a snap
package). Free software is hard to monetise, and if every single "app" needs a
million dollars a year to maintain its DevOps pipeline, you aren't going to get
many apps.

Effective freedom. You mention TeXstudio as a piece of software you use and
rely on. I have used TeXstudio before and hated it. The two features I remember
really getting in my way were the text editor and the rendering of a compiled
document. For the text editor: It had all these weird keyboard shortcuts that
got in my way. It would complete brackets when I didn't want, and it lacked a
lot of features that I like in my usual text editor. Similarly, the document
would not live recompile when I saved changes (which is a feature I happened to
want).

So - why can't I have these features? If I go away and find a text editor I
like (I have) and I write a script that recompiles the document (I have) and I
make it watch the filesystem for writes (I have) why can't I use the rest of
the things in TeXstudio that I *do* like? Well, it's because it would be too
hard to integrate them in. TeXstudio would have to add in configuration options
for a text editor, and for a pdf viewer, and it's too complicated to make that
work. Ironically, late in the project, it takes *more* development work to make
the program do *less* work.

My experience has been that large software projects tend to absorb
functionality until they try to be the only program you can use. People like to
pretend this isn't an issue with Free Software, but just look at firefox. Why
are there accounts? Why does it include a password manager? Why does it have
its own PDF reader? There are basically two outcomes: You like the feature, and
you'd like it elsewhere, or you don't like the feature, and you want to remove
it. Both are harder the bigger the project.

Finally, it helps me understand my computer. I like to know what's running, and
how it works. If something breaks, I want to be able to fix it. I can
only do that if
I understand what it's doing. And nobody understands how bloated software
works.

Dan
Received on Thu Jul 06 2023 - 11:43:26 CEST

This archive was generated by hypermail 2.3.0 : Thu Jul 06 2023 - 13:48:09 CEST