I would have never guessed that introducing resource constraints increases efficiency of resource use.
I often think about how much energy we waste because our hardware is fast enough to allow for software bloat. The dynamics of capitalism select for making software that’s just good enough to use and can be pushed out cheaply and quickly, meanwhile hardware companies benefit from software bloat because it allows them to sell new chips. If the dynamic was different, we would have far more efficient software stacks that would require a lot less power to run. If you scale it up to billions of users globally, it translates to an incredible amount of energy saving. It’s another example of how capitalist incentives lead to horrendous inefficiency.
You’re obviously not wrong on the relationships between these variables. There’s however use value in just-good-enough, easy-to-write, bloated software in that it could enable value creation and higher efficiency elsewhere. E.g. a shitty, power-hungry computer vision program that frees up 20 people from doing visual quality inspection of parts in a factory. These people can then do the manual work needed on additional lines, thus increasing the labour efficiency and output of the factory, and lowering the cost of the production per unit. Which frees up resources elsewhere in the economy, increasing the effect. All of which could more than offset the inefficiency of the original program and then some. Of course capitalism won’t necessarily select for these use cases for bloat. More likely than not we’re producing bloat that doesn’t offset anything. But in a non-capitalist environment, such bloat might very well be desired. Especialy if you’re trying to develop at speed that allows you to create deterrents before the US decides to liberate you from non-capitalism.
I completely agree, it’s not always black and white and there are plenty of cases where having inefficient software is better than not having anything at all. My main complaint is that the mechanics of the system select for bloat, and there’s little incentive to go back and optimize things. In a sane system you could make something that’s inefficient first, and then spend time to make it better if it becomes widely used. To a certain extent, we see this happening with open source stuff like Linux, where you can have a very lean system compared to commercial alternatives.
Well there’s definitely socialist dynamics in FOSS development. Most drivers in the Linux kernel were implemented because someone needed them, not for profit. The same is true for most things in the Debian repository. Also people generally own the means of producing that software. How do proprietary systems produced to maximize profit compete with software written to just work and cost nothing? FOSS is doing software product dumping! :D And the rest of the software economy has grown tremendously as a result. Imagine having to pay good money for a compiler. There were huge barriers back in the day.
Exactly!