Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

License question #29

Closed
g3n35i5 opened this issue Jan 15, 2021 · 6 comments
Closed

License question #29

g3n35i5 opened this issue Jan 15, 2021 · 6 comments

Comments

@g3n35i5
Copy link

g3n35i5 commented Jan 15, 2021

Dear @bnjmnp,

thank you very much for this great wrapper! I would like to know why you chose a GPL-2.0 licence, which allows commercial use, but only under the condition that the source code must be published.

Therefore I have two questions:

  1. would you consider putting the project under a different licence (e.g. MIT)?
  2. if you do not want to do this, would you license the project, i.e. give a company the right to use the code without having to publish its own source code?

Many greetings and many thanks

@bnjmnp
Copy link
Owner

bnjmnp commented Jan 16, 2021

Thanks @g3n35i5.

First of all I'm really open to put pysoem under a more permissive licence. But as SOEM itself is under a GPL-2.0 licence, and the wrapper directly compiles SOEM code, I decided to put pysoem also under GPL-2.0. Thus I don't get into trouble. And for the ease of use, it is really good to compile SOEM directly into pysoem, thus one dose not need to compile SOEM separately in order to use pysoem.

However SOEM has a special exception in it's licence terms. I'm not good with leagel issues. Somehow it reads as it would be okay to put pysoem under another licence. But I'm not sure. That is also because I use a slightly patched version of SOEM.

@g3n35i5
Copy link
Author

g3n35i5 commented Jan 16, 2021

Thanks @bnjmnp for your quick answer!

I totally understand from this aspect why you chose the same license.

To make it as transparent as possible: I want to use pysoem in my company in a commercial project. We already have a license to use SOEM. I will have a closer look at the license terms on monday and get back to you as soon as possible!

Best regards and many thanks!

@g3n35i5
Copy link
Author

g3n35i5 commented Jan 19, 2021

Hello @bnjmnp!

I'm sorry that I didn't manage to get back to you until yesterday.
Now, however, I have looked more closely at the licensing issues.

Your fork of SOEM uses the same license as SOEM without modifications. The GPLv2 License allows you to do so as long as you're publishing it. So your fork is safe.

As you've mentioned correctly, the SOEM license (which inherits from the GPL2.0 license) and thus the license of your fork
gives you a special permission so that you don't have to put pysoem under the same license as SOEM:

As a special exception, if other files instantiate templates or use macros or
inline functions from this file, or you compile this file and link it with other
works to produce a work based on this file, this file does not by itself cause
the resulting work to be covered by the GNU General Public License. However the
source code for this file must still be made available in accordance with
section (3) of the GNU General Public License.

So let's have a look at the corresponding section in the GPL2 license:

  1. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

So far so good, you've published the pysoem code, so i think you can put pysoem under a more permissive license, e.g. Apache/MIT/BSD.

Another useful comment which underlines my point of view can be found here: OpenEtherCATsociety/SOEM#44.

Disclaimer: I am not a lawyer, just a programmer, and as such none of the above should be construed as legal advice.

@bnjmnp
Copy link
Owner

bnjmnp commented Jan 19, 2021

Thank you for your research, this all sounds plausible to me. I'll think through this a one or two more days.

@bnjmnp
Copy link
Owner

bnjmnp commented Jan 21, 2021

So, it's done, I made the change.
A new version on PyPI is coming soon.

@bnjmnp bnjmnp closed this as completed Jan 21, 2021
@g3n35i5
Copy link
Author

g3n35i5 commented Jan 22, 2021

Great thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants