I'm trying to understand why Gold codes and Kasami codes are used instead of pure m-sequences, in direct-sequence spread-spectrum (DSSS) communication systems, to prevent interference between multiple transmitters.
If I understand correctly, Gold codes are defined as the XOR between two m-sequences with different polynomials of the same degree (e.g. one LFSRs based on $p_1(x)$, and another LFSR based on $p_2(x)$ both of degree 20; the LFSR outputs are then XOR'd together), and within one system, multiple transmitters use the same pairs of polynomials but with a different time shift. (Kasami is also an XOR so I guess it's similar.)
How is this better than, say, having a system where all transmitters use m-sequences but each of them uses a different polynomial? (In both cases, the autocorrelation values are higher than the cross-correlation values)