Long answer, hopefully really thoughtful and careful as I've had time to think this through:
I think I remember sponsoring Caddy when it was still an open source project. Not much, maybe USD25 or 35 or something (dinner level or something I think it said).
Also I think they got a grant or sponsorship from Mozilla.
I never used it though, I only donated because I was enthusiastic about him creating a nice open source project that I would likely use in the future.
Next I know it is a commercial project, more or less (it took a while before I realized he had left a way around it and it seemed entirely intentional that it wasn't obvious.)
So now I have helped someone start a business, which is nice but not what I thought I did when I donated to a permissively licensed open source project. (I thought I was helping create a new Apache server.)
Still no big problems so far in my case, I'm lucky that USD25 is not much in my case and he probably deserved it even if it left a small sour taste right there and then.
The bigger problem is I never started using Caddy because when I came back to use Caddy I had to consider if my use case would be OK, if I would have to pay a license (which is fine with me but an extra hassle as it has to got through my boss) and suddenly it was very easy to fall back to Apache.
Suddenly instead of helping kickstart an open source project around a product I loved I've helped start a business with a product that I can't use.
You have to worry about counting instances vs licenses. This might sound trivial, but months down the road, are you still remembering to go through and check which licenses are affected anytime you make a change to the number of instances you're running? Can you spin up another instance or two to handle a load burst, or does that violate your license terms and/or require a purchase order go through finance first? What about dev/staging/testing stacks? Can you spin up a replacement for your production in a blue-green deployment and flip, or do you require 2x licenses?
If the license is enforced technically (eg, a license file) then you have to also have that as part of your deployment, but also make sure you secure it. In the worst case if the license is unique per instance, that pretty much precludes use in modern "cloud" environments.
What guarantee is there the cost won't go up 10x come renewal time next year? If it does, what does it take to replace the component? As others have pointed out, you also have to go through purchasing and maybe convince someone(s) that this purchase is necessary, etc.
This is all extra cost (time) and pain that really doesn't exist with using OSS -- and brings it far above whatever the list price is (even if it's "only" $25/node).
Also, from a developer perspective, none of these problems are fun or interesting to spend time on. Even if it has some feature that's missing in the OSS equivalent, I'd way rather spend my time building out a missing feature than doing licensing paperwork.
When I was a student I did managed to buy several software packages, with student discounts, at prices that would be around 100 to 300 euros nowadays.
Let alone when one is actually having a business instead of a student side job.
Did you buy all of those packages yearly and for every one of your clients?
And? Supermarkets don't take pull requests.
Just like you cannot expect people that you don't support their work, keep doing it for free ad eternum.
Sure you can.
$2000-3000 per year is not something that I am willing to spend on my side projects.
The problem is now no one uses your software because there are endless amounts of more permissive open source software available that work just as well.
In most of the world it's a lot though, even for developers. Being able to afford it is another thing than being able to comfortably afford it.