I'm working on an open source Python project and we have plans to use GPLv2-licensed library python3-xlib , but we will not distribute it with our library. So user can install it by pip install our-lib and the pip tool will install python3-xlib automatically. Or user can manually install python3-xlib.
I've read that 3-clause BSD license is an antidote for "GPL-infected" code. So is it possible to use BSD-licensed library in a proprietary solution? While it still uses GPL-licensed library as an external dependency (through Python import mechanism).
There is an example: pyautogui looks licensed under 3-clause BSD, but it uses python3-xlib as an external dependency on Linux. So can I use pyautogui in a proprietary solution? Can I use it internally in a corporation for testing a proprietary software?
There are 2 similar questions:
- If I include some GPL code in my project, can I release it as BSD?
- If I'm using a GPL 3 library in my project, can I license my project under MIT license?
Both answers are no. But all OPs are asking about including GPL-licensed code into their libraries distributions. Our library distribution will not include GPL-licensed code at all. It can just use it at runtime.
P.S. Of course, possible alternative is to avoid python3-xlib usage. But it requires a lot of time to re-implement the subset of that library.
-
softwareengineering.stackexchange.com/questions/87446/…Ciro Santilli OurBigBook.com– Ciro Santilli OurBigBook.com2017年07月26日 08:43:44 +00:00Commented Jul 26, 2017 at 8:43
2 Answers 2
tl;dr: Some, including the Free Software Foundation (FSF, publishers of the GPL) says no, you can't do this. Others say yes, you can.
The FSF considers a work a single program if the parts communicate through function calls. If the software you publish is created to work with this GPL module. If that's the case, then you must publish the entire work under the GPL if you publish it.
Some have argued that if the parts are dynamically linked, you are not creating a derivative work, and you wouldn't have to comply with the GPL.
Yet others claim that it is a derivative work if it was created to work with the GPL module. In that case, you are also violating the license if publish it, but not under the GPL.
It is clearly the intention of the GPL not to allow this. If this is the actual effect remains an open legal question: this hasn't been fully tested in court. I would suggest to honor the intention of the copyright holders, just as you wouldn't like to have legal loopholes circumvent the intention of your propriety licensing. If I had to put money on the result of a lawsuit, my money is on that this wouldn't be allowed, but it could go either way.
You are able to license YOUR source code, however the other code will remain under the author's license as you didn't write the code and don't have the rights to re-license it that right relies to the author.
-
1The question is not about re-licensing. It's mostly about usage.Vasily Ryabov– Vasily Ryabov2015年11月28日 04:10:03 +00:00Commented Nov 28, 2015 at 4:10
Explore related questions
See similar questions with these tags.