If I use GPL software in my
application, but don't modify or
distribute it, do I have to release my
application under the GPL?
ANSWER: Your question is a little ambiguous. Two cases:
(a) If you do not distribute YOUR APPLICATION, then the answer is No, because you did not distribute your application. For example if it was for internal use only in your company, then you have no obligation to do anything.
(b) If you do distribute YOUR APPLICATION, and you used something GPL as part of your application (even if only linking at run-time to a library) - and even if you do not charge money - and even if you do not change that GPL s/w in any way - then you MUST make the source of YOUR APPLICATION available.
Making source available does not mean download. IT might be that you must get a written request and you send a photocopy of a listing (see comments: you can't actually send a listing. This was exaggeration to make a point). You are allowed to charge a "reasonable" handling / copying charge. But you can not escape the obligation to make your own source code available.
What if I modify some software that my
application uses. Then do I have to
release my application under the GPL,
or can I just supply the modified
software under the GPLs terms.
ANSWER: See above. If you used GPL s/w, then you must make your source code available. This
includes the modified GPL code.
And what if I use GPL software, but
don't modify it, can I distribute it
with my application?
ANSWER: See above. You can distribute it (the GPL code), provided you make your source available.
Because GeSHi is GPL, does my
framework have to be GPL?
ANSWER: If you distribute your framework, then YES.
Can I modify GeSHi for particular use
cases of my application if I supply
the modifications back to the GeSHi
ANSWER: You can if you want to. You don't have to. You could modify it, but when you distribute your application you are obliged to make your source available and also the source for the modifications you made to the library.
Can I redistribute my framework with
ANSWER: You can if you want to. If your application is not distributed with the GPL code and you make users download it separately to make use of it, then your case is a little bit more special and might provoke some argument, but the same principle will most likely ultimately apply: you must make your source available.
If you want to avoid these problems then you need to use things with a different license or at the very least the LGPL which will allow run-time calling of libraries without the viral-spread of the GPL conditions back to your code.
When in doubt you need legal advice. Any advice you get here (from me or anyone else)should be treated fairly carefully. Only a lawyer can give you proper legal advice.