On 6/11/19 1:14 PM, Chris Albertson wrote:
Path Pilot is what GNU calls an "aggregate”. This is why I pointed
out about the address space. Because GNU makes a distinction based
on that.
The software Tormach delivers is an aggregate and some of it is
covered by GPL, some of it not covered. Tormach claims there user
interface is a separate program that uses a standard interface to
Linux CNC. I don't have PP so I can't examine.
But if you have a running copy, look and see how the data is
exchanged. Is it via a standard interface like g-code or it is a
large complex shared data structure?
++++ QUOTE from gnu.org web site follows ++++
What is the difference between an “aggregate” and other kinds of
“modified versions”? (#MereAggregation)
An “aggregate” consists of a number of separate programs, distributed
together on the same CD-ROM or other media. The GPL permits you to
create and distribute an aggregate, even when the licenses of the
other software are nonfree or GPL-incompatible. The only condition is
that you cannot release the aggregate under a license that prohibits
users from exercising rights that each program's individual license
would grant them.
Where's the line between two separate programs, and one program with
two parts? This is a legal question, which ultimately judges will
decide. We believe that a proper criterion depends both on the
mechanism of communication (exec, pipes, rpc, function calls within a
shared address space, etc.) and the semantics of the communication
(what kinds of information are interchanged).
If the modules are included in the same executable file, they are
definitely combined in one program. If modules are designed to run
linked together in a shared address space, that almost surely means
combining them into one program.
By contrast, pipes, sockets and command-line arguments are
communication mechanisms normally used between two separate programs.
So when they are used for communication, the modules normally are
separate programs. But if the semantics of the communication are
intimate enough, exchanging complex internal data structures, that too
could be a basis to consider the two parts as combined into a larger
program.
The above quote that you sent me is the text of the link i just sent
you. I quoted you the last part of that, which i believe supports my
position.
The "semantics of the communication" are a domain-specific
message-passing protocol that's used only by the LinuxCNC motion
controller to communicate with the user interfaces. It is intimately
tied to LinuxCNC, and has no possible application anywhere else. It is
not limited to g-code, but carries a huge variety of machine control
messages and configuration/setup messages for the LinuxCNC Motion
controller. All these messages are specific to LinuxCNC, and LinuxCNC
can't work without them.
Since this interface library is a core part of LinuxCNC and has no
utility without LinuxCNC, this makes anything using this library a
derivative work of LinuxCNC.
IMO, but IANAL.
On Tue, Jun 11, 2019 at 11:45 AM Sebastian Kuzminsky
<[email protected]> wrote:
On 6/11/19 11:33 AM, Chris Albertson wrote:
Was Path Pilot linked into the LinuxCNC address space?
To be clear, LinuxCNC is a multi-process application, so there are
several address spaces, not just one.
Path Pilot is a Python application that imports several python modules
that are part of LinuxCNC (the module are: linuxcnc, hal, and gremlin).
These LinuxCNC python modules are required in order to interface to the
LinuxCNC motion controller, and exchange commands, status, and error
information.
To be a derivative work it must be running in the same address
space. If PP runs as a different process it is not covered by GPL.
I disagree.
From the GNU FAQ,
https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#MereAggregation:
... if the semantics of the communication are intimate enough, exchanging
complex internal data structures, that too could be a basis to
consider the two parts as combined into a larger program.
--
Sebastian Kuzminsky
--
Sebastian Kuzminsky
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users