Quite right. ath5k and the new ath9k are where the real action is, and they have been done in order that the binary-only HAL might be avoided. In fact, madwifi project is involved in all three, though the serious effort is apparently going into the in-tree drivers. They were just stuck with Atheros' decision about the proprietary HAL because of radio regulations, and the madwifi code was designed to work with the Atheros HAL. They're a good example, I think, of how solutions can be found to proprietary binary sections (as opposed to certain other binary-only "benefactors" of the community).