You may find this helpful: http://code.google.com/p/nvidia-texture-tools/
Wrt the legalese check the last question here: http://code.google.com/p/nvidia-texture-tools/wiki/FAQ
Using a proven library for s3tc handling is a good idea even without the legal troubles. s3tc decompression isn't rocket science, but s3tc compression is harder than it seems. Nvidia, ATI and Microsoft have fought a long battle for the best s3tc compression algorithm. For a long time s3tc was considered bad because there was no really good compressor - so I recommend not to reinvent the wheel here.