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

GPL3 licence means the project can't be used in many situations #47

Closed
jamiebull1 opened this issue Jun 15, 2015 · 24 comments
Closed

GPL3 licence means the project can't be used in many situations #47

jamiebull1 opened this issue Jun 15, 2015 · 24 comments
Assignees
Labels

Comments

@jamiebull1
Copy link
Collaborator

This just a question as to whether Eppy is absolutely wedded to the GPL3 licence?

It's frustrating as this a project I'm really keen to use for more than just speeding up changes to IDF files. I'd like to be able to import it and use it in other Python software I develop. However the IP-sensitive nature of the clients (universities, government, management consultancies) means that any import which is released under GPL3 licence is off-limits due to the "copyleft" aspect - the part which means that any work which imports Eppy must also be released under GPL3.

Is this intentional? Or could the licence be changed to something (such as the MIT licence) which would be more palatable to end-users with IP concerns?

@santoshphilip
Copy link
Owner

That was not intentional.
It was not my expectation importing eppy would force GPL3 on the importing software.

This raises an number of questions that others have asked. See:
https://jacobian.org/writing/gpl-questions/

A cursory research indicates that indeed importing eppy will force the importing software to be GPLed.

I'll have to put some thought into which license to move to.

  • my first thought is LGPL
  • or roll back to GPL2

There are two other contributors, whose permission I will need. Although I don't see a problem there.

@santoshphilip
Copy link
Owner

Apparently LGPL does not play well with python. The wording in LGPL is directed more towards C programs.
I need to research this more.

Your input would be useful. Looks like you have put some thought into this.

My intention when licensing was:

  • eppy can be used by any software
  • if changes are made to eppy, it should be available to others

@refaqtor
Copy link

I believe that MPLv2 is what you're looking for.

https://tldrlegal.com/license/mozilla-public-license-2.0-(mpl-2)

https://en.wikipedia.org/wiki/Mozilla_Public_License

https://www.mozilla.org/MPL/

On Mon, Jun 15, 2015 at 11:27 AM, santoshphilip notifications@github.com
wrote:

Apparently LGPL does not play well with python. The wording in LGPL is
directed more towards C programs.
I need to research this more.

Your input would be useful. Looks like you have put some thought into this.

My intention when licensing was:

  • eppy can be used by any software
  • if changes are made to eppy, it should be available to others


Reply to this email directly or view it on GitHub
#47 (comment).

@santoshphilip
Copy link
Owner

thanks
MPL was not on my radar until now

@santoshphilip
Copy link
Owner

eppy has some dependencies

essential dependencies

  • bunch>=1.0 -> MIT license
  • beautifulsoup4>=4.2.1 -> MIT license
  • numpy>=1.7.1 -> looks like MIT license

non essential dependencies

  • pydot>1.0 -> MIT license
  • pyparsing==1.5.7 -> MIT license

So none of the dependencies are holding back a license change of eppy out of GPLv3

@santoshphilip santoshphilip self-assigned this Jun 15, 2015
@jamiebull1
Copy link
Collaborator Author

Sorry I didn't get back quicker. That's great news though.

My input: either GPL2/GPL3 or LGPL are a no-go for me. LGPL is probably fine in practice, but there's scope for lawyers to interpret it incorrectly so it would be low on my list.

My preference would be for the MIT licence as it's about the most permissive of the lot, and has no room for misinterpretation by overly-concerned clients. According to the summaries at Choose a Licence, the only differences between the Mozilla Public Licence mentioned above and the MIT licence is that the MPL explicitly forbids use of trademarks of contributors by users of the software, and explicitly grants patent rights from contributors to the user (as also with the Apache licence). However, it's also included amongst the weak copyleft licences here, so again it could worry the lawyers.

Lots of licence summaries are available here if you've not already seen it. And categorisation into public domain (or permnissive), weak copyleft and strong copyleft here.

@jamiebull1
Copy link
Collaborator Author

Oh, and Numpy uses the New BSD licence, which is near enough equivalent to the MIT licence, plus the trademark restriction, and is also fine with me.

@jamiebull1
Copy link
Collaborator Author

One more comment - having taken a look at the Mozilla Public Licence properly, and reminded myself of your intentions - 1) eppy can be used by any software, 2) if changes are made to eppy, it should be available to others - it does seem like that's the most appropriate one. I'm not 100% certain it will be compatible with my current project (I'm not a lawyer...) but it looks like it should be. As @refaqtor says, it does sound like MPL is the best fit for your requirements.

@santoshphilip
Copy link
Owner

I am noticing that almost all the python projects use the MIT license.
But I sense that it is important to get any enhancements back to the user community.

Right now I am on the fence on this.

@jamiebull1
Copy link
Collaborator Author

Any more thought on this? I've done quite a bit on my new project using Eppy now, but if this isn't going to be resolved and reissued with a licence my clients are happy with I'll need to produce a new backend to fit in place of Eppy. I'm trying to get a clear OK from them on the MPL. The key clause is that use within a Larger Work allows the developer to impose a different licence, so long as the MPL-licensed work retains its MPL licence - which looks good to my non-legally-trained eyes. However we have a slightly unusual licencing arrangement in place on this project and I'm not qualified to say if it's compatible.

My concern is that any licence other than the clearly permissive ones used by most of the standard library will restrict the number of people prepared to use Eppy. Developers don't like to have to run things by the lawyers and there's enough uncertainty around the terms of the MPL to make it necessary. That's potentially cutting down on the pool of users, so losing potential contributors as well as user feedback/enhancement suggestions. That's why I favour the MIT licence.

@santoshphilip
Copy link
Owner

Quick comments for now:

  • eppy is going to move out of GPLv3
  • eppy will move into MPL or MIT license
  • Since INAL (I am not a Lawyer), I am having some legally-trained eyes to look into the implications of this

Will write a little more later

@jamiebull1
Copy link
Collaborator Author

One more piece of food for thought from a colleague while you're thinking about this:
"I was just having a read through the issues thread on the eppy github page. It seems that they are concerned about people making improvements to eppy and not contributing it back. My argument would be that in the vast majority of cases people who make changes to an open source library will actually want their changes merged back into the ‘official’ version. Otherwise it makes it difficult for them to update to the latest version – e.g. if we modify eppy and then a new version is released, either we have to merge our modifications with the new version (error prone, time consuming) or we can’t update to the new version. Which is why I think many, many projects are happy with the MIT license."

@santoshphilip
Copy link
Owner

good point.

@santoshphilip
Copy link
Owner

How to change the license.

to the best of my knowledge here are the steps:

  • get permission from all the contributers
    • how is this documented ?
  • release a new version with the new license

I know that the twisted project https://twistedmatrix.com changed their license.
Did not find any documentation of how they went about this

Are there any examples around as to how to go about doing the license change ?

@jamiebull1
Copy link
Collaborator Author

I've not seen anything about it before. I think you've got the main points though. There are a couple of useful answers on Stack Exchange, one here and one here.

It seems to come down to getting hold of the contributors, which hopefully won't be too hard as I only see four including yourself. As far as documenting it goes, I would have thought an email would suffice. Alternatively, perhaps ask them to chime in on this thread? I asked a question on Programmers SE (which may get closed as off-topic) and someone pointed to this project on GitHub which raised an issue and had contributors comment to publicly document their agreement.

@eayoungs
Copy link
Collaborator

I agree with the change away from GPL3. I didn't realize it was so restrictive. I also like the idea of requiring useful modifications of the program itself (not simply importing into another project) to be contributed back, but I see that this is likely a small distinction in action.

There seems to be little difference in practice but I guess I'd be more comfortable with the MPL. I was looking at the Apache 2 license, which seems to be a little bit more explicit on granting of copyright and patent license to contributors.

@jamiebull1
Copy link
Collaborator Author

Apache 2 is fine with me too.

@JasonGlazer
Copy link

I am not a direct contributor but have a lot of interest in this topic. I would be comfortable with just about any of the licenses that have been discussed. I am probably most familiar with MIT or MPL but Apache should work too.

@santoshphilip
Copy link
Owner

Jason has probably use eppy most intensely. In fact eppy was partially funded through an ASHRAE project that Jason was leading. Some features in eppy are there because Jason twisted my arm hard enough (just kidding :-)

At this point there are three people who have contributed to the GPLv3 code.

  • santoshphilip (Santosh Philip)
  • eayoungs (Eric Youngson)
  • tranarchitect (Tuan Tran)

All three have agreed to the license change.

I would appreciate input from all the stakeholders in eppy about this issue. I see the stakeholders in eppy as:

  • people who have written eppy code
  • people who intend to write eppy code
  • eppy users (writing scripts and/or using eppy to develop other software)
  • documentation authors
  • people planing to use eppy

Each of these stakeholders will have different constraints and needs. Hearing from them would be good. If Jaimie had not pointed out the issue with GPLv3, I would have never known.

Recently there has been a fair amount of interest in using eppy and in helping to develop eppy. The licensing choice may be a deal breaker or an enabler

Should I put a post in the "Energyplus_support" yahoo group giving a link to this discussion ? Or would it just muddy waters ?

@jamiebull1
Copy link
Collaborator Author

My view is that aking comments can't hurt. People may have useful points to make, but given the contributors' buy-in, you don't need to be bound by them. You could also consider raising it on UnmetHours as well as the Yahoo support group.

@jamiebull1
Copy link
Collaborator Author

Any progress on this? I can take on the job of removing the GPL3 statements and adding the new licence if that would help.

@eayoungs
Copy link
Collaborator

eayoungs commented Jul 9, 2015

I was thinking a little more about this and l actually like the MIT
license, too. If that streamlines the process, feel free to proceed.

Any progress on this? I can take on the job of removing the GPL3 statements
and adding the new licence if that would help.


Reply to this email directly or view it on GitHub
#47 (comment).

@santoshphilip
Copy link
Owner

I was going to make Jamie do the job of changing the license statements :-)

@santoshphilip
Copy link
Owner

hmmm…. I misread Eric's comment. I thought, Eric was volunteering to removing the GPL3 statements.
Now I see that Jamie was volunteering to do so.

Let us go with MIT license.
I'll close this issue and open a new issue that will deal with the steps for the transition to the MIT license

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

No branches or pull requests

5 participants