Dismissing software non-buyers as irrational, or asserting certain purchases are "no-brainers" is missing the mark.
Acquiring new software is a major commitment beyond just the price tag. It means integration, continuous maintenance, dealing with forced UI updates, supply chain exposure, and so on.
Every seasoned dev (unless very lucky) has dealt with bad software acquisitions, almost all of which seemed to be great deals at the time of purchase.
> integration, continuous maintenance, dealing with forced UI updates, supply chain exposure, and so on
Not to mention enshittification, predatory prices increases, the supplier getting bought out, etc. The list goes on...
This is so true, and it’s true of libraries, OSS, etc. I frequently build instead of using a library simply because I’ll know and can fix the warts, I’m automatically in tune with the state of the code, and I’m in control of maintenance. Of course if the code is too big (TLS library like OpenSSL) then it changes. But I still try to avoid external stuff just because of the costs you listed.