I have 3 questions about the GPL here:


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?
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.
And what if I use GPL software, but don't modify it, can I distribute it with my application?


My case in point is, I have a PHP framework which I use the GeSHi library to highlight some output. 


Because GeSHi is GPL, does my framework have to be GPL? 
Can I modify GeSHi for particular use cases of my application if I supply the modifications back to the GeSHi maintainers?
Can I redistribute my framework with GeSHi?



  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
  maintainers?


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
  GeSHi?


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.
