It's the same reason why porting to obscure CPUs can be useful: DEC Alpha was never popular, but supporting it kind of forced Linux to be 64-bit clean in some ways, so when amd64 came along there was already a bunch of infrastructure in place.
And having 'external parties' that are not part of the same 'tribal structures' and same zeitgeist / group think can allow for experimenting of ideas.
> It's the same reason why porting to obscure CPUs can be useful: DEC Alpha was never popular, but supporting it kind of forced Linux to be 64-bit clean in some ways, so when amd64 came along there was already a bunch of infrastructure in place.
Nitpick (and you didn't necessarily imply otherwise), but x86-64 was a latecomer to 64-bit ports in Linux. SPARC I think was next after Alpha, and MIPS, PARISC, IA64, PowerPC at least all came before x86-64 was merged.
Wasn't the Alpha port the first chip it was ported to back in the 1990's? I know the Amiga people did their own thing but I don't think it was ever properly merged back upstream
Yes, it keeps userland code honest if you follow the published API and not a specific behaviour. See for example the fsync() saga on Linux:
* https://lwn.net/Articles/752063/
* https://news.ycombinator.com/item?id=19238121
* https://news.ycombinator.com/item?id=19119991
It's the same reason why porting to obscure CPUs can be useful: DEC Alpha was never popular, but supporting it kind of forced Linux to be 64-bit clean in some ways, so when amd64 came along there was already a bunch of infrastructure in place.
And having 'external parties' that are not part of the same 'tribal structures' and same zeitgeist / group think can allow for experimenting of ideas.