Many clients ask me for help in dealing with very large software companies who, in their opinion, always seem to have the upper hand in negotiations. "How can I make myself less dependent on X?" they ask, or "how can I cut the amount I have to pay Y each year?" They're CIOs or sourcing professionals who are used to being able to push suppliers around, threatening to kick them out if they misbehave, and they struggle to accept the reality that their normal tactics won't work with the likes of IBM, Microsoft, Oracle, SAP. My advice is, get used to it. These companies have grown so big and profitable that they will dominate the business technology market for years to come. Yes, they will face competition from younger companies, but they generate so much cash and have such strong embedded positions in so many enterprises that they can always acquire the upstart, or develop a product that beats it in most deals.
However, the software giants' huge power isn't necessarily a bad thing. Their scale enables them to spend far more money on development than their smaller rivals, and this usally results in excellent innovative products. Yes, they can also be inflexible, siloed, frustrating, bureaucratic - but when it comes to software development, size matters. So there really isn't much point in questioning whether the world would be a better place if these companies were much smaller than they currently are. Instead, we should accept reality and learn how to survive and thrive under their rule.