Your first and third points are areas I've found open source companies pleasant to work at. The cheap customers go to the open source code; the ones looking to actually pay buy support contracts. Customers that you can't please also switch to open source; meanwhile ones who find a good fit but want some guidance, end up paying a support contract.
Doesn't work for lots of businesses, but where it does it's quite nice.
Doesn't work for lots of businesses, but where it does it's quite nice.