APIs used to be cleaner and more atomic, today they seem like very leaky abstractions and breaking changes seem to be all the rage.
Previously, breaking changes were seen as a serious thing as it meant the API signatures/functionality was missing and needed to be broken.
Today, breaking changes is just part of the "move fast and break things" fad that developers don't even try to make a stable/consistent API anymore.
Lots of the problems are that development/engineering is no longer in the hands of developers/engineering/product people or designers, it is pushed by project managers and bizdev/MBAs/marketing/finance which is backwards. Good products should be built, with lots of thought into long living APIs and limited breaking changes and maintenance, that is then marketed and sold because it is value, instead we get the exact opposite. Rarely does software today ever get to a stable phase before the platform is version two'd, and there is no time added for software quality or solid products, features and underlying systems are in constant harvest and replanting.
Stable consistent APIs don't help lock-in and they don't sell books, conferences, or allow large companies more control. For larger companies to keep control they need to break standards, and regularly break their own platforms to keep people updating and invested, it sucks and is why software is so bad today.
I do not think this is true, Windows has a lock-in on desktop explicitly because it has a stable API that allowed it to amass a huge library of software that keeps people relying on it to get that software working.
For the largest majority of people, Windows' worth is its stable API (even if they do not realize it).
When they have a monopoly or near monopoly like Microsoft does with the desktop and Windows, less need for churn to keep people on it but lack of competitors. Azure has gone through lots of churn because of heavy competition.
Maybe competition, which is good, causes all this breaking software changes but change is good as well. Software change should just be a little more stable and developer/engineer/product/designer led not just the money/marketing/oversight pushed.
Unfortunately standards get wrecked when platforms are going for lock-in and control, Microsoft/Google etc are all to blame for that. It isn't the engineers pushing for that mostly. Standards at least promote some level of stable APIs, but they don't lock-in and so big fish and sharks eat them up and break them.
However Apple is greatly responsible for HTML5 and browsers today, as well as the handheld gaming revolution on mobile.
Webkit, Canvas, SVG, OpenGL ES + WebGL (through Khronos sponsorship) and more were open sourced or pushed by Apple.
Chrome/Safari basically every browser that is good came from Webkit and Apple opening that up. Granted that originally game from KHTML and KJS libraries from KDE but it exploded with Apple support.
I left them out because they still have some grace left.
Google and Microsoft squash standards and Microsoft is famous for "embrace, extend, extinguish" which Google now employs.
Microsoft has been better recently but only because they lost developers during the Ballmer era and they have a desktop monopoly and their new OS is cloud where they are competitive with Azure so they are pushing standards more and cross platform to win back developers.
Google is entering their Ballmer era currently.
Apple doesn't have the power for that yet with developers, though they are not engineer/open focused typically and especially now in the COO era and have their own Ballmer vibe currently, but they are still riding on some fuel from Webkit, Canvas, SVG, HTML5, OpenGL ES + WebGL support which really helped handheld gaming and web gaming.