Earlier quoted context omitted.
Lock-in is a natural consequence of having a platform. It's perfectly normal and happens without even making any explicit attempt at having lock-in. Any time you provide a platform and people build on top of it, you have automatic lock-in. This has nothing to do with "fair competition".
Lock-in can be avoided, if platform is designed to be open. It's only "natural" when non portable or non standard things are used. Problem with Apple and MS is that they use the later on purpose.
> Problem with Apple and MS is that they use the later on purpose.
There are really significant downsides to open platforms. They're harder to build, develop much more slowly, generally have a big issue with multiple implementations not actually behaving identically (just look at the development of the web for a plethora of examples), end up being design-by-committee which usually ends up as a worst-of-all-worlds design, etc. Companies like Apple and MS build closed platforms because that ends up being hugely better for their users. They don't do this out of a desire to have lock-in, lock-in is just a natural consequence of using closed platforms.