Linux has two fronts: Server and Desktop. It's clearly won in server space, in some very important categories.
But, what if Microsoft can make Windows attractive enough, so it can run Linux applications without the Linux desktop itself, and prevent developers from installing a bona fide distribution to their boxes alongside Windows? With this, they can
- Add some proprietary extensions to WSL to keep some dev tools trapped
- Double down on secure boot and key management, citing "We can run these applications anyway, where's the monopoly?"
- Slow down adoption of desktop Linux installations
Hence, push Linux to server space to reclaim the "creative/young" desktop space, and prevent them from becoming irrelevant, and pushing Linux to systems rooms of cloud, so it becomes something like "The real world" in Matrix (the movie)?Just give it a thought.
An example of Extend would be building features for WSL that only work in WSL, not Linux proper. So now people become dependent on the MS ecosystem, and lock-in begins; the lock-in is what enables the Extinguish phase.
That thing already exists, DirectX is available only under WSL: https://devblogs.microsoft.com/directx/wp-content/uploads/si...
Extinguish phase is not clear though. (at least for now)
At this point, 3d rendering is a bit of a crapshoot; Multi-platform vendors will likely have a pluggable rendering pipeline anyway (i.e. need to use DirectX for XBox, PS4/PS5 APIs, Metal for iOs, DirectX for Windows, maybe Vulkan if they developed on Linux or just want to make it easier to port later).
If I reach in my head, perhaps some form of 'DirectAI' API could limit competition in some markets or force vendor lock-in.
Otherwise, I think Microsoft is in a space where they seem to be pretty OK with; being the #2 in a lot of spaces is still profitable, with the benefit of less oversight regarding antitrust.
The other place I -might- forsee Microsoft doing 'lock-in' is around their developer tooling. By that I mean, they have a lot of cool tech that is a PITA to deploy at scale... unless you use Azure. SignalR scaleout would be a prime example that comes to mind.