Good luck to you. While it's slowly getting better in the 2.6 kernel line..
I've always just used the win32 driver with the NDIS wrapper in Linux. While it's not my favorite option, it works.
As for driver sources, if you do find an open source wifi driver for a major chipset like Atheros, let us all know.. :)