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'm very curious about this: Lets say that you have to use the GPL in your library because some dependency uses it or (if your library is fork) the upstream library uses GPL. Now GPL doesn't play well with a couple of important open source licenses which means that some users simply can't use your librar because of licensing issues, which doesn't help anybody

An option that I've been toying with is still using GPL to maintain dependency compatibility but telling users that I will not enforce it against open source software or (if that's way too broad) software that uses open source but not completable licenses like Apache, MPL, CC, etc.

Would there be any legal ramifications of doing this? Would this put my users at legal risk?

share|improve this question
2  
Sounds like you really want the LGPL. –  Crazy Eddie May 25 '12 at 15:54
    
@CrazyEddie Must be GPL to comply with license –  TheLQ May 25 '12 at 18:52

3 Answers 3

You would be the one responsible for enforcing the GPL on anyone who uses your project, so if you have no intention of enforcing it then your users would only have to worry about you lying in an attempt to trap them. They may also have to worry about the owner of whatever GPL library you link to, due to the viral nature of the GPL. Your best option is to find a way to circumvent having to release your project under the GPL, as its really the only "safe" method.

share|improve this answer

Your best option would be to structure / package your library such that users of your library would not be bound by the GPL. The FSF FAQ describes a few means of how this can be achieved.

This is the "viral" aspect of GPL, and yes, you would potentially be exposing your future users to legal issues. More importantly, most users wouldn't / shouldn't use your package for risk of violating the GPL.

Here's why.
http://www.gnu.org/licenses/gpl-faq.html#WhoHasThePower

 the copyright holders of the software are the ones who have the power to enforce the GPL

You stated that you are working on a forked project that is GPL'd, so you are not the sole copyright owner of the product. So while you may rescind your right to enforce the copyright, you cannot make that claim for all of the other copyright holders unless they have also made that claim. At which point, the project is public domain and not GPL but that's off topic.

If your users only use your library for internal, never-distributed-to-the-public applications, then they would be okay with using your libraries. I suspect that's not your target audience though.
http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic

As I alluded to, there are several options that you can consider depending upon which version of the GPL is in effect. For example, if your users can call your library / use its output after a fork or an exec, then your library is not considered part of their application. You may be able to relicense your fork of the project to a more compatible GPL version. Check out the following links to see what's going to work for you.

http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins http://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL

Their FAQ is well worth the read and you will discover quite a few options to work with.

share|improve this answer

Problem is that if your library uses a GPL library, then the author of that library may confront the users of your library too for not conforming to the library license.

It is not enough just to say that you will not do this.

share|improve this answer

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.