All software has bugs, and professional end users often hit edge case bugs that affect few others.
Do you push fixes for these back into your distribution (or upstream and cherry-pick into the distribution, etc), or do you maintain your own private repositories containing your modifications?
If you do the latter, then you have extra maintenance costs. If you pay for support from a distribution vendor, then you save that cost. Even if you have the expertise to do everything yourself, it still costs you time (and therefore money). Working with a distribution vendor amortizes that time between all of their customers, saving everyone money.
> All software has bugs, and professional end users often hit edge case bugs that affect few others.
I'm kind of amused by the implication that I'm not a professional end user.
> Do you push fixes for these back into your distribution (or upstream and cherry-pick into the distribution, etc), or do you maintain your own private repositories containing your modifications?
Or maybe, y'know, a third option where one picks software that is highly reliable for your use case.
You are suggesting a very false choice. If you have unique needs that frequently cause you to encounter edge case issues, you need someone in house who can fix those on your timetable and not a vendor's.
Do you push fixes for these back into your distribution (or upstream and cherry-pick into the distribution, etc), or do you maintain your own private repositories containing your modifications?
If you do the latter, then you have extra maintenance costs. If you pay for support from a distribution vendor, then you save that cost. Even if you have the expertise to do everything yourself, it still costs you time (and therefore money). Working with a distribution vendor amortizes that time between all of their customers, saving everyone money.