Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have 3 questions about the GPL here:

  1. 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?

  2. 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.

  3. 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.

  1. Because GeSHi is GPL, does my framework have to be GPL?

  2. Can I modify GeSHi for particular use cases of my application if I supply the modifications back to the GeSHi maintainers?

  3. Can I redistribute my framework with GeSHi?

share|improve this question
1  
Commercial != Proprietary –  Gerstmann Feb 13 '13 at 8:41
1  
Just curious, what does distribute mean in this case? If the program in question were, say, firmware in an appliance where it cannot be touched by anyone but the company that sells the appliance, is that "distribution"? –  Wes Miller May 21 '13 at 14:08
1  
Yes the is distribution. That's why you find things like ADSL routers where the source code is (has to be) available for download. Reputable suppliers make the source available because the license conditions require it of them. Same applies to NAS boxes, IP cameras and numerous other gadgets. –  quickly_now Jun 22 '13 at 1:11

2 Answers 2

This has been asked here several times, suggest you search here some more.

To answer:

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. 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.

share|improve this answer
12  
Got to love the GPL: Force everything that touches it to be open source –  TheLQ Feb 12 '11 at 15:33
14  
Just a note: it probably would violate the license to supply the source code as a photocopy. As noted in the license: "The source code for a work means the preferred form of the work for making modifications to it." –  mipadi Feb 12 '11 at 18:49
4  
@Petah: The GPL is like a virus: it infects everything it touches. If you provide a generic interface and you allow a user to install various components of their choosing, you MAY get away with not being contaminated by the GPL. HOWEVER, supposed you gave your stuff away and somebody else were to bundle the 2 together... then it would look like your stuff would be touched by the GPL. You have a very difficult situation no matter how you try and wriggle around it. –  quickly_now Feb 12 '11 at 23:48
5  
If the question has been asked several times, then why is this not a duplicate? –  user1249 Feb 26 '11 at 12:46
4  
Note that charging an "reasonable" handling fee is not a strong deterrent to people interested in your source code; the first recipient of your source code can choose to legally provide others with your source code. –  Brian May 21 '13 at 14:12

This very strongly seems to disagree if you are using it on a website, rather than re-distributing an executable.

You may copy, distribute and modify the software as long as you track changes/dates of in source files and keep modifications under GPL. You can distribute your application using a GPL library commercially, but you must also provide the source code. GPL v3 tries to close some loopholes in GPL v2.

Specifically

If you distribute this library in an executable, you must disclose your source code by providing it either alongside your distribution or list an accessible way (URL, physical copy) to obtain the source for 3 years. Does not apply if you serve through a web portal.

https://tldrlegal.com/license/gnu-general-public-license-v3-%28gpl-3%29

share|improve this answer
    
Could you expand on this? Currently its a one sentence bit of your own and the text from tldrlegal. How does using GPL on a web site differ from using it in a stand alone application? –  MichaelT Jul 20 at 18:22
    
A web site usually dont distribute software (but just provides a service) –  Basile Starynkevitch Jul 20 at 18:23
    
ASIDE: there is the AGPL license that tries to address GPL running as a service: tldrlegal.com/license/… –  kbrock Aug 18 at 23:32

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.