It wasn't arbitrary. The community dependency solution was half-baked: it couldn't support the case of dependencies relying on multiple major versions of the same module. Even Rust is very careful to allow this, and nobody would describe Rust as being anything other than community-led. That this was the issue was made very clear by tye folks who criticized that solution, btw.