Desktop isn’t even the hot new thing anymore, mobile is (or, at least, was.) Ans as fate would have it, mobile platforms are dominated by ARM already. Many modern developers already deal with ARM as it is.
Going further down the rabbit hole, I’d argue that most applications aren’t even nearly CPU bound and would run just fine with emulation, and nobody will bat an eye. This isn’t really theoretical, considering there exists x86 emulation in ARM Windows 10.
And finally, most open source software already runs on many architectures, just look at how many architectures Debian supports.
It does increase load on developers, but not to a degree that would make the benefits to competition unworthy. I think a good amount of developers are capable enough to figure out how to cross compile.
Architectural splits are not new. Apple did it twice already with Mac, and while there’s no evidence of a third one on the horizon yet, it’s certainly not beyond them.
And hell, maybe in the future, developers largely won’t ship architecture-dependent binaries. It is yet to be seen what might happen with WebAssembly and similar technology.
How do you address the problem caused by the combinatorial explosion of adding a whole new ISA to the OS*distribution combination of platforms that need to be targetted, tested for, and debugged?
This is a pretty theoretical problem and wreaks of slippery slope fallacy. How many CPU architectures have even come close to desktop usability in the past 10 years? Even prospect wise I basically only see ARM and RISC-V on the horizon. A combinatoric explosion is unlikely, very unlikely.
I already kind of went over this, but I’ll reiterate:
WebAssembly is a good example of a technology that has the potential to kill two birds with one stone and unify both architectures and OSes. Web browsers are Not the only environment WebAssembly runs in.
Folks writing software in .NET, Python, Java, JS already don’t have to worry about this. They already aren’t dealing with architectures, mostly.
A lot can be done with emulation when performance is not a primary concern. Windows 10 already has x86 emulation for ARM. On Linux Qemu user mode is pretty mature (and is already used for things like setting up ARM chroots on x86 boxes.)
If you are working in a higher level language it's a total non-issue. You will not notice.