You can distribute program with GPL License along with GPL

Asked

Viewed 157 times

4

I believe this is part of our scope (penultimate item).

My question is this::

If I create a program (Graphical Interface) that communicates (dynamically) with a GPL program, I could distribute the two together ? [I know if it’s static communication it’s a license violation]

Of course specifying the lynching of each, the rights allowed to users etc.

2 answers

6

Alert: I have no deep knowledge of licenses and laws, so please do not consider this answer to be final from a legal point of view. When in doubt, consult a specialized lawyer.


The GPL license FAQ presents the concept of "mere aggregation", that is, two programs side by side on the same disk, but separate, not being part of a single program.

According to the FAQ:

In this case, if one of the programs is covered by the GPL, it has no effect on the other program.

The reason is simple:

Pipes, sockets and command line arguments are communication mechanisms normally used between separate programs

But note that the programs could not be placed in the same installer because:

If the modules are included in the same executable file, then they are definitely combined in a single program.

The same is true if both programs use a shared memory address, i.e., they would be considered a single program.

Anyway, I imagine a possible scenario to combine GPL and some less restrictive license:

  1. User receives a disk or a ZIP containing two installation files, that of the main non-Ggpl program other than the secondary GPL program.
  2. The installation of the non-Ggpl master program, after shutdown, executes the installation of the GPL program in a separate process.
  3. The two programs are in separate directories, such as two independent applications on the operating system.
  4. The non-gpl program can make calls to the GPL program, via the operating system API, using parameters, Pipes, sockets and other common communication resources.

What cannot be done, for example, is to load a module or DLL from one program into the other.

  • It is good to emphasize that this is the interpretation that the FSF gives to what is a "derivative work". Justice may interpret it differently (whether in favor of the author of the GPL software or in favor of the one who redistributed it "irregularly") - even different countries may apply the laws differently. To intent It counts very much, contrary to our common sense [that justice is a rigid thing, that it is worth what is on paper and ready], and whether the purposes of the two systems are near or distant. in any case, the information presented here is correct - and very close to what would happen in practice.

  • A good example is Bluez (Bluetooth Stack for Linux), which is GPL and implements its entire API on top of D-Bus precisely so as not to "contaminate" programs that will use Bluetooth with the GPL license.

1

As set out in GPL FAQ

The installer and the files it installs are Separate Works. As a result, the Terms of the GPL do not apply to the installation software.

That is to say:

The installation and the files it installs are separate jobs. As a result, the GPL terms do not apply to the installation program.

To the mine understanding even the installer should follow the GPL. So you can include GPL programs along with non-Ggpl programs without the GPL falling under the terms of that license but it is important to make it clear that the nonfree program will need to communicate with the GPL (when it does) by:

  • Pipe
  • Sockets
  • command line interface.

That answer is an adaptation of that answer of Doc Brown in Programmers.SE

* Referring to the understanding of the original author

Browser other questions tagged

You are not signed in. Login or sign up in order to post.