Most work in error correction coding theory (Hamming, Cyclic, BCH, Reed-Solomon, Turbo Codes, LDPC...) deals with linear codes. Now, a linear code binary code is a good fit (only?) for a symmetric channel.
I wonder: isn't this a strong requirement, and a severe limitation? Is there some way that one can adapt the enormous body of work on linear codes when using a asymmetric channel?
I find it rather strange that most textbooks hardly speak of this issue (perhaps in practice most channels are symmetric?). Some discussion or references?