On 2022-03-01 18:14, andy pugh wrote:
I am generally in favour of anything that makes LinuxCNC easier to use
and more broadly applicable.
So, I support bundling-in EtherCAT support, as long as we can be sure
that nobody will be pointing their lawyers in our direction.
However, one worry that we had in the past was that, whilst this
organisation might be inside the Beckhoff "rules" if we join ETG,
doing so might accidentally impose an unexpected (by them) licensing
condition or restriction on our users.
I don't know how real a worry that is.
As I understand things:
There are two basic parts needed for EtherCAT support:
1) Etherlab's ethercat master (https://gitlab.com/etherlab.org/ethercat). This
software communicates with the ethernet layer and provides a programming api
for EtherCAT communications, as well as a command line utility to interact with
the bus. This software is completely independent from LinuxCNC. The code is
licensed under GPLv2, but as can be seen on the linked gitlab site it has
(unclear to me) restrictions on usage:
"The license mentioned above concerns the source code only. Using the EtherCAT
technology and brand is only permitted in compliance with the industrial property and
similar rights of Beckhoff Automation GmbH."
For full out-of-the-box EtherCAT support this package must be included in
whichever distro(s) we use. I have no idea if this is possible (it would be up
to debian to decide). Communicating with Etherlab/Beckhoff/ETG to figure this
out is pretty far down on my list of things I want to do in relation to
LinuxCNC, so I will not get involved in this.
2) Sascha Ittner's linuxcnc-ethercat driver. This is a HAL component that uses
the Etherlab master api to let linuxcnc communicate with EtherCAT devices. It
seems to be licensed under GPLv2. IMO it would be useful to make this a part of
the linuxcnc codebase if the licenses are compatible. It could be enabled by
e.g. './configure --enable-ethercat' (which would then check that the
dependency Etherlab master is installed). Again, I have other things in my
to-do queue but perhaps someone else is interested in doing this?
IANAL but the only risk I see in including linuxcnc-ethercat is that Beckhoff might
decide that we cannot use the term "ethercat", and we'd then have to rename all
instances of that term to something else. But hopefully they'd help us to increase
compliance/compatibility instead, if there was a problem!
In addition, Dominik Braun's cia402 HAL component
(https://github.com/dbraun1981/hal-cia402) is very useful for using EtherCAT
drives and would be great to have as a standard HAL component.
And I guess for full support there would also have to be some kind of
configuration software to create the appropriate INI and HAL files.
--
Arvid Brodin
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers