What most people on HN miss (being the developers we are) is that having one relationship with a vendor is hugely preferable for non-development reasons. Billing (simpler, also savings in bundling), unified support (why doesn't x work with y!) and so on mean that going to a vendor isn't just the lazy choice it looks like.