The fundamental problem with X is that implementation artifacts show up in the protocol. Thus, in general, it's not possible for it to be backwards compatible.
This follows from its underlying design goals: "implementation, not policy", "make money for the vendors", "don't support a remote execution abstraction", and "don't support the unix file system abstractions (directories, files, pipes) in the distributed sense". Given that it explicitly ignores the unix abstractions, it shouldn't be surprising that it also breaks with unix tradition. But perhaps I repeat myself. That said, the unix uid/gid concepts don't map well onto a distributed environment (nor scale well). But that should be an orthogonal issue. -- Raul

