GPL License: If I donot distribute a GPL library that my software depends on and have the user download externally, do I have to use GPL


3

I am stuck between a few choices for my turnkey Project management system: a library that uses GPL and an inferior library that is under MIT license.

I am wondering if I don't distribute the library with my software and require the user to download it externally, do I still have to release under GPL?

And on those lines, if I add a downloader that the user can run to satisfy dependencies(download the library), is it a violation of GPL.

I am making proprietary software and would really like to earn money for it.

I am not looking for exact legal advice, but I am sure this is a common use case.

Software Licensing

asked Jul 10 '13 at 18:54
Blank
Somesh Mukherjee
149 points
  • There is a danger here that you will put people off if you add extra steps. Also, not including the library, but requiring it be installed before your software will work, seems to be against the spirit of the license, even if not the letter. For me, I'd recommend doing everything straightforward and honest, as then it can't come back and bite you later on. IMHO, YMMV, etc. – Steve Jones 11 years ago
  • yes but then i can't earn money – Somesh Mukherjee 11 years ago
  • and the downvote was because? – Somesh Mukherjee 11 years ago
  • You might find this helpful. see why doesn't ship with mp3 encoder: http://manual.audacityteam.org/o/man/faq_about_audacity.html#Why_doesn.27t_Audacity_ship_with_an_MP3_encoder.3FJani Kovacs 11 years ago
  • @SomeshMukherjee, you can still make money even after GPL-ing, e.g. offering support and customizations. You only need to give the source to people you give the binary to, and many large businesses will require you give them the source even with a proprietary license. Having said that, I'd usually go with the MIT license version, and by the sounds of it your freedom to control your source code is important to you, so you should too :-) – Darren Cook 11 years ago

3 Answers


2

Please see my answer to this question which you might find helpful too:

Ownership Issue of Open Source project when moving to VC funding In your case if you modify the GPL lib you have to put these changes under GPL too.
See: http://www.gnu.org/licenses/gpl-faq.html#TheGPLSaysModifiedVersions Still you can charge money for it:
http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney If you just prelink your software, it does not count as modification:
http://www.gnu.org/licenses/gpl-faq.html#Prelinking I don't know what exactly you are doing. But the "download it yourself" pattern might not help you but it is an indicator that you might be safe. Please read through the linked FAQ above and consult your local lawyer on this matter. There cannot be a general advise without knowing how your software exactly relates to the GPL'ed one.

The website GPL Violations also maintains a nice little FAQ on this topic.

That all said it should basically be easy for you too include the GPL'ed source code in your distribution along with your proprietary binaries (assuming you software doesn't need to be GPL'ed).

answered Jul 11 '13 at 05:57
Blank
Christian
3,590 points
  • Your answer would be close for the LGPL, it's highly incorrect for the GPL. – David Benson 11 years ago
  • Please be more precise on "it's incorrect" - it doesn't help me. My answer was compiled based on the GPL FAQ. Even after rereading it, I can't find an error in it. – Christian 11 years ago
  • "In your case if you modify the GPL lib you have to put these changes under GPL too". This implies that it's modifications to the libraries that causes the additional work to be GPL. The GPL applies to the library and the whole application, regardless of modification. "That all said it should basically be easy for you too include the GPL'ed source code in your distribution along with your proprietary binaries (assuming you software doesn't need to be GPL'ed)." "Proprietary", i.e. closed sources binaries cannot be linked to GPL code, even by the end user, you would breach the GPL. – David Benson 11 years ago
  • First comment: it does just say the changes need to be GPL - isn't this true? I think it is. With proprietary I referred to closed software "prelinked" to GPL'ed. I understood it like that this prelinked software doesn't need to be GPL'ed, thus can be closed (see FAQ entry from GNU) – Christian 11 years ago
  • Thanks for the feedback. It does seem less hassle to go with MIT version. I'll have to write more code, that's al – Somesh Mukherjee 11 years ago

2

If you ask users to download the library separately and you include no other GPL components, then no, you would not have to distribute your the rest of your code under the GPL. Using the method calls of the API doesn't bind you to the license, only use of the actual code.

That said, you do still need to distribute your software under a license that is compatible with the GPL. Otherwise, when the user puts everything together and uses it they will be in breach of the GPL on that component.

This has been tried a number of times historically and virtually always kills the project, users won't jump through hoops like this.

Edit: One thing to add is with the GPL there are the legals and there are the ethics. The intention of the GPL is perfectly obviously and the author of that library is stating their intention by using it. My personal view is that trying to work around the intention using a legal loophole is unethical. I would never buy such software, I wouldn't allow such a tactic to be used in my own company and I wouldn't deal with another company that does such a thing. You might buy in some extra functionality in the short term, but the ethics of the decision might also come back and bite you.

answered Jul 11 '13 at 23:46
Blank
David Benson
2,166 points
  • so if the user redistributes it after putting things together, he has to do it under GPL. if he doesn't distribute it further, I am safe – Somesh Mukherjee 11 years ago
  • what about the installer variation: I have a program that automatically downloads the libraries? Is that okay without GPL – Somesh Mukherjee 11 years ago
  • k I knw this is pushing it. If I have a proprietary project, and an open source project. The open source project must be downloaded seperately and is under GPL. The open source project contains teh libraries and some banana code: its main purpose being satisfying the dependencies of the proprietary project. Is it okay – Somesh Mukherjee 11 years ago
  • You need to set these as new questions. The SE format is one question per thread. – David Benson 11 years ago
  • In first paragraph you say one does not need to use GPL, in second paragraph you say one needs. Can you please add references to the answer. I agree with paragraph 1 (see my response on prelinking) but I doubt on paragraph 2. Anyway I agree with paragraph 3, I would not jump through this hops either – Christian 11 years ago
  • The first paragraph is common knowledge to anyone familiar with the GPL. All I can link to is the GPL. If what you distribute contains no GPL code, the license doesn't apply. 2 is basic copyright and licensing law. A user is licensed to use the software under the collective license(s) of that software. The GPL states that specific freedoms must be afforded to users of the covered work (the library and whole application), one of which is the ability to obtain a human readable version of the source. If the rest of the application, for example, restricted that or any other freedom.... – David Benson 11 years ago
  • .... as part of its license then the user would not be complying with the GPL of the library. If they are not complying, they do not have permission to use it and use of it would constitute copyright theft. As I say, I couldn't reference anything but the GPL itself, but I have advised a number of companies on free/open source software licensing for over 10 years now, as well as having been a FSF member for nearly that long. It is a very tricky area to understand the details, but when you finally get it, it's actually quite simpe. – David Benson 11 years ago
  • I usually prefer permissive licenses like AL2.0, so I am not an expert in this. It seems if prelinked code is distributed, paragraph 6 applies: http://www.gnu.org/licenses/gpl-3.0 I have got not time to read this right now. To my understanding you don't need ALWAYS to apply GPL whenever you use (in terms of programming) GPL software. Maybe it is like that and I am glad I never dealt with GPL, because its taking more freedom away than it gives (don't want to start a flamewar here, but I am always surprised how demanding this license is) – Christian 11 years ago
  • +1 for the ethical concerns – Nir 11 years ago
  • GPL is okay for standalone software like Audacity, but GPling components can make it really hard to use the software. Especially with newer versions that even disallow you from even using it in a server-client model. – Somesh Mukherjee 11 years ago

2

This would be illegal! Both previous answers are wrong (I only scream because it's important).

The fact that you ask your users to download the GPL library your program needs to work is irrelevant. I understand why people are tempted to creatively work around GPL license, but it's still illegal.

If your code depends on non-trivial piece of GPL code, even if it is packaged as a library and you ask users to manually download it, your app is still a derivative of that GPL code and therefore you're bound to GPL license.

In fact, LGPL license exists precisely to address this case: an LGPL'ed library can be used by non-LGPL code. If you use library under LGPL, you only have to open-source the changes (if any) to that LGPL library. If you use GPL library, you have to open-source everything.

Think of it this way: it's trivial to convert any piece of GPL code into a library and build your proprietary code on top of that. This trivial trick would nullify the GPL. People are not doing that not because you're the first one to come up with this clever work around but because it's not a work around.

What you want to do would be as illegal as if you distributed the GPLed library yourself.

answered Jul 16 '13 at 12:24
Blank
Krzysztof Kowalczyk
1,950 points
  • Can you please add references. In my answer I referred to several FAQ entries which can't be considered wrong (just my interpretation). OP didn't give a precise explaination what he does with the GPLed code and obviously there are differences how it is used: http://www.gnu.org/licenses/gpl-faq.html#Prelinking It would be great if you could give references to your arguing so others (like me) can learn from you. Otherwise its just an opinion which doesn't help in this case. – Christian 11 years ago
  • The reference is GPL license. GPL faq doesn't address this scenario explicitly and I don't know authoritative place that does. That doesn't change the fact that OP's scheme would violate GPL. His program depends on GPL code hence is a derivative work hence he must publish the sources. Packaging GPL code in a library and asking users to download it doesn't change that. LGPL exists to allow using LGPL libraries in proprietary software. Some GPL libraries also have GPL linking exception (http://en.wikipedia.org/wiki/GPL_linking_exception) to address precisely that. – Krzysztof Kowalczyk 11 years ago
  • The thing is, we don't know a) what exactly OP is doing (maybe he is just prelinking? Unlikely, but maybe it is ) or if the GPL'ed code included a GPL linking exception. – Christian 11 years ago
  • Well, I don't share your doubts. It's pretty clear (to me) what he wants to do (and it has nothing to do with pre-linking). He asked about GPL license, not BSD license or GPL with linking exception license. I'm simply answering the question asked, not a hypothetical different question. – Krzysztof Kowalczyk 11 years ago

Your Answer

  • Bold
  • Italic
  • • Bullets
  • 1. Numbers
  • Quote
Not the answer you're looking for? Ask your own question or browse other questions in these topics:

Software Licensing