Does the GPL state that dependencies of GPL'd software also have to be released under the GPL? [closed]

点点圈 提交于 2019-12-10 17:25:33

问题


I was reading through some of the older Joel on software articles and came across the Project Aardvark spec, one particular section caught my eye:

Licenses

VNC is GPL. The two components we’re building based on VNC, the helper and victim, will need to be re-released under GPL.

This is not that big a deal. The code will be highly optimized for our own use and will require the reflector to work, which will not be released under GPL.

This surprised me as I'm sure that I read somewhere that the GPL didn't allow exactly this sort of thing?


回答1:


That depends on the relationship the reflector has to everything else, and since I don't know anything about the project I can't comment on that.

The GPL relies on copyright law: if you're doing something permissible under copyright law you don't need to pay attention to the GPL. Therefore, the GPL applies to derivative works of GPLed software, but doesn't to separate software. There is some debate as to what counts as derivative and what separate, but I'm not a lawyer and don't have a position.

One thing that is clear is that, if a program doesn't link to a GPLed program, but sits alongside it and communicates through standard inter-process communication, it's its own separate work, and not subject to the GPL.

Therefore, if the reflector is linked in, it's subject to the GPL. If it runs as its own separate process, it isn't.




回答2:


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

Standard IANAL disclaimer. The GPL is enforced under copyright law, and therefore its viral provisions only apply in cases where you are making a derivative work. Modifying the source code to a GPL'd program counts as making a derivative work. Static linking does, too. Dynamic linking is debatable. Simply invoking a GPL'd program or otherwise communicating with one at arm's length definitely does not. The bottom line is that it really depends on what "dependency" means in this case.




回答3:


First, don't make any business decisions based on legal advice you get from people on the internet - including mine.

I think this is addressed in the Frequently Asked Questions about the GNU Licenses: Can I write free software that uses non-free libraries?

They don't seem to have any restriction against combining GPL code with libraries that use incompatible licenses, but they do their best to describe your incentive for using completely free software.




回答4:


Well, there's a lot of GPL software whose dependencies are closed source: Consider, for example, every GPL software running on Windows (i.e. linking the Windows API DLLs).

So, yes, you are allowed to use dependencies that are closed source. Nevertheless, as David points out (thanks for the comment), there is a difference between system libraries and other dependencies. The GPL says (highlighting by me):

The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

So, I guess it boils down to whether this "Reflector" counts as a "general-purpose tool". If it was written just for the purpose of including it into the GPL'ed software, I guess this is a no; if it serves a useful purpose without the VNC-derived software product, it might be yes.



来源:https://stackoverflow.com/questions/2111047/does-the-gpl-state-that-dependencies-of-gpld-software-also-have-to-be-released

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!