Does the GPL indicate that software dependencies GPL'd should also be released under the GPL?

I read some of Joel’s old on the software pages and came across the “Aardvark Project” , one of my sections caught my attention:

Licenses

VNC is the GPL. These two components were built on the basis of VNC, the assistant and the victim, will have to be re-released under the GPL.

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

This surprised me since I'm sure I read somewhere that the GPL did not allow this kind of thing?

+4
source share
4 answers

It depends on the relationship the reflector has to everything else, and since I know nothing about the project, I cannot comment on this.

The GPL relies on copyright law: if you do something permissible under the copyright law, you do not need to pay attention to the GPL. Therefore, the GPL applies to derivative works of the GPLed software, but does not separate the software. There is some debate as to what is considered derivative and what is separate, but I am not a lawyer and have no position.

One thing is clear: if the program does not refer to the GPLed program, but sits next to it and exchanges data through standard interprocess communication, this is a separate work and is not subject to the GPL.

Therefore, if the reflector is connected, it obeys the GPL. If it works as a separate process, it is not.

+3
source

Well, there are a lot of GPL software whose dependencies are closed. Consider, for example, every GPL software running on Windows (i.e., binding the Windows API DLL).

So yes, you can use dependencies that are private. However, as David points out (thanks for the comment), there is a difference between system libraries and other dependencies. The GPL says (highlighted by me):

An “appropriate source” for working in the form of object code means all the source code needed to create, install, and (for executable work), run the object code and modify the work, including scripts to control these actions. However, it does not include working system libraries or general-purpose tools or public free programs that are used unchanged in performing these actions, but which are not part of the work. For example, the corresponding source includes interface definition files associated with the source files for work, and the source code for shared libraries and dynamically linked routines that are specifically designed to work, for example, by intimate data transfer or flow control between these routines and other parts of the work.

So, I think it comes down to whether this "reflector" is considered a "universal tool." If it was written just to include it in the GPL software, I think it is not; if it serves a useful purpose without a VNC-based software product, it may be.

+1
source

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

Standard IANAL clause. The GPL is applied in accordance with copyright law, and therefore its viral provisions only apply when you are doing derivative work. Changing the source code in GPL'd takes into account derivative work. Static link too. Dynamic binding is controversial. Simply accessing the GPL'd program or otherwise communicating with one at hand is definitely not the case. The bottom line is that it really depends on what “addiction” means in this case.

+1
source

First, do not make any business decisions based on the legal advice you receive from people on the Internet, including mine.

I think this is covered in the GNU License FAQ: Can I write free software that uses non-free libraries?

They have no restrictions on combining GPL code with libraries using incompatible licenses, but they do everything they can to describe your incentive to use completely free software.

+1
source

Source: https://habr.com/ru/post/1299019/


All Articles