What is the license on the QRP textures and can I use the textures for
commercial as well as non-commercial usage?

The textures are copyright by their respective authors and, collectively,
this project. These textures are free to use in any project, be it
commercial or non-commercial, on the condition that the work or the
derivative product mentions the URL (http://qrp.quakeone.com) and name of
this project (Quake Revitalization Project) in the credits. In case your
project does not have a suitable credits section, you must include with
your product a file titled "read-me" or "licensing". No exceptions. For
any further questions, contact us.
