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

Alternatives to GPL-2.0 license? #58

Closed
peterbrittain opened this issue Sep 11, 2018 · 42 comments
Closed

Alternatives to GPL-2.0 license? #58

peterbrittain opened this issue Sep 11, 2018 · 42 comments

Comments

@peterbrittain
Copy link
Collaborator

First off, I just wanted to say that I love that you've spent the time to port FIGlet to Python. This is a great project and I want to say thank you for creating it. But that's not why I've raised this issue... :-)

It turns out that many of your dependent projects/packages (https://github.com/pwaller/pyfiglet/network/dependents) are using pyfiglet, but are not redistributing under the terms of the GPL-2.0 license that you are using. My own package (https://github.com/peterbrittain/asciimatics) appears to have fallen foul of this.

I really want to continue to deploy my package under the terms of the Apache-2.0 license, which as I understand it means I have to follow one of the following options:

  1. Remove/replace the use of your package
  2. Convert all direct use of pyfiglet (via import) into separate process calls (via your command-line script).
  3. Agree with you (as the copyright holders) a separate license for my project.
  4. Persuade you to change your standard license to something that allows for this use case - e.g. LGPL-3.0.

Given how many other projects depend on this one (and are actually breaking the terms as I now understand them), I'd like to try to do the right thing here and explore options 3 and 4 with you before just diving into options 1 or 2.

So... Would you be willing to consider some other form of licensing like LGPL?

@pwaller
Copy link
Owner

pwaller commented Sep 11, 2018

I would have no problem personally with changing the license, but I am A) not the only author B) not the original author C) only a maintainer.

Unfortunately I have no idea how to achieve a relicensing, and since this is a spare time project, it's not something I'm able to devote any resources to.

If everyone who had contributed could be A) contacted and B) agree to the change, then I would change it in a heartbeat. I suspect this is not simple to do.

Aside from that, if someone else did the legwork and somehow demonstrated that it was an appropriate thing to do somehow without the above success, then sure. I don't have access to a lawyer who could tell me whether what we were doing was sound.

Would you be willing to do such legwork? Can you discover anyone or any forum with the requisite knowledge and experience which can advise?

If the answer is "Yes", then I'll reopen the issue - but if no activity occurs in a number of months I'll close the issue again after that. Hope that makes sense.

@pwaller pwaller closed this as completed Sep 11, 2018
@peterbrittain
Copy link
Collaborator Author

As I understand it, you don't need a lawyer to do this. This is a pretty common thing with open source and so there are precedents out there. For example, general principles are covered here: https://opensource.stackexchange.com/questions/33/how-can-a-project-be-relicensed

However, that doesn't change the fact that it would need approval of all previous contributors and a good reason to change. Finding contributors isn't hard - just look at the list in github plus anyone you're aware of before you set up this project.

Getting the approval may be more difficult... As you can see in the referenced article, it took a year to re-license Eclipse. Others wish to do it, but clearly find it hard and so it drags on for years. For example: urwid/urwid#135

As for the good reason? This is an pretty much a religious thing... If your contributors believe in copyleft, there's little I can do to persuade them otherwise. On the other hand, if they want to make it easy for anyone to use this project without major concerns, a more permissive license (especially MIT or Apache-2.0) would help.

Maybe a simple poll to all contributors through github notifications (like the example used for urwid) would settle this quickly?

@pwaller
Copy link
Owner

pwaller commented Sep 11, 2018

The only contributor I'm aware of who isn't on GitHub is the original author, Christopher Jones, who is mentioned in the readme. You're welcome to try and reach out (please CC me, email in my github profile) and see if he and the other 12 authors agree.

@peterbrittain
Copy link
Collaborator Author

peterbrittain commented Sep 11, 2018

OK - let's test the water for MIT...

Dear Contributor, the pyfiglet project is trying to switch from the GPL-2.0 to the MIT license. This is proposed in order to reduce concerns about using this library with other projects (both commercial and more permissive open source projects). For some examples of the confusion and difficulties, see the projects linked earler in this issue.

Please acknowledge this message with a comment here and let us know whether you agree 👍 or disagree 👎 to relicense your project contribution under said license.

Many thanks for your time and consideration.

@llimllib
Copy link
Contributor

👍

@llimllib
Copy link
Contributor

Oof, also realized I’m violating your license as well 😣

@irskep
Copy link
Contributor

irskep commented Sep 11, 2018

👍🏻

1 similar comment
@grandemk
Copy link
Contributor

+1

@peterbrittain
Copy link
Collaborator Author

@cjones Are you the original author for this project? If so, could you also please add your vote?

@mnunezdm
Copy link
Contributor

👍

2 similar comments
@MinchinWeb
Copy link
Contributor

👍

@livibetter
Copy link
Contributor

👍

@pmlandwehr
Copy link
Contributor

Thumbs up

@cjones
Copy link

cjones commented Sep 13, 2018

hey, yeah i threw this together years ago when i was learning python, heh. scared to even look at how messy the code is, but cool someone picked it up. do whatever you need to do to get the licensing in order, i didn't put much thought into it. i usually use the modified bsd 2-clause license but mit is fine. not sure why i used gpl tbh.

@cjones
Copy link

cjones commented Sep 13, 2018

i didn't read this whole thread, but if the issue is my original licensing being gpl, you have my express permission to change it to something less.. viral.

@peterbrittain
Copy link
Collaborator Author

Much appreciated. Thanks @cjones !

@Alexey-T
Copy link
Contributor

other form of licensing like LGPL?

+1

@asakasinsky
Copy link
Contributor

+1

@MinchinWeb
Copy link
Contributor

It occurred to me today that most of what I contributed was actually other people's code: I rounded up a bunch of other people's fonts from the earlier days of Figlet. Accordingly, each font file is probably licensed separately, though most seem to be under the same license as Figlet itself (New BSD).

A summary of the font files by license details is here --> #46 (comment)

Not sure if it makes a difference, as it didn't seem to be a concern to include them earlier.

@pwaller
Copy link
Owner

pwaller commented Sep 28, 2018

Hmm. I'm uncertain of how to handle fonts which are not liberally licensed (edit: see #59). I think I missed that before. I guess it deserves a mention somewhere, at least. Does anyone have any thoughts about what the right thing to do there is? At least they can have a different license to the source code, but I don't know how that impacts their use. Perhaps they should be shipped in a separate package.

With respect to this proposal, we're still missing @stefanor's input, and I don't want to proceed without that, since he is one of the most significant contributors. I have pinged him by email but haven't had a response.

@peterbrittain
Copy link
Collaborator Author

Licences aren't tied to the original contribution. If the project is redistributed later under a new licence, all distributed content is subject to that new licence. So if the project was properly relicensed and you have taken files that are identical to the later license, then that's fine.

@peterbrittain

This comment has been minimized.

@peterbrittain

This comment has been minimized.

@mnunezdm
Copy link
Contributor

mnunezdm commented Sep 29, 2018

I just contacted @stefanor via LinkedIn, hope he checks that more often than the email

@peterbrittain
Copy link
Collaborator Author

And it would be good to get stefano's views... I see he has not been active on github recently. Might be worth following up some of his other contacts (http://tumbleweed.org.za/me/contact) if we get no response soon.

@cjones

This comment has been minimized.

@peterbrittain

This comment has been minimized.

@pwaller

This comment has been minimized.

@peterbrittain

This comment has been minimized.

@peterbrittain
Copy link
Collaborator Author

@stefanor bump! Any chance you could vote on the licence?

@pwaller
Copy link
Owner

pwaller commented Oct 15, 2018

@peterbrittain: I have moved the conversation about font licensing into #59. I'll hide the comments from this thread, so if anyone is watching: the hidden threads above are related to issue #59.

@peterbrittain
Copy link
Collaborator Author

Still no answer from @stefanor ... Anyone able to contact him on his Facebokk account (from http://tumbleweed.org.za/me/contact)? (No - I'm not on it...)

@SecT0uch
Copy link

SecT0uch commented Nov 16, 2018

Still no answer from @stefanor ... Anyone able to contact him on his Facebokk account (from http://tumbleweed.org.za/me/contact)? (No - I'm not on it...)

Done. Let's see if he replies. There is still IRC to try to contact him : tumbleweed on Atrum, Freenode, and WUG ZA.

What about @marlboromoo ? (edit: Just mailed him)

@Eeems
Copy link

Eeems commented Nov 21, 2018

@SecT0uch I'm guessing there has been no replies yet?

@SecT0uch
Copy link

Nope, even on IRC (freenode)

@peterbrittain
Copy link
Collaborator Author

That's a shame... I don't want to give up, so I've been reading this very useful doc (http://www.catb.org/esr/Licensing-HOWTO.html) in more detail to see if there's anything more we can do. There might be a light at the end of the tunnel...

It would appear that despite current expectations in the community, the copyright owners (as asserted in the license) have the right to change the license to the project unilaterally as a collective work. In particular, they do not need the permission of all other contributors to do this. See http://www.catb.org/esr/Licensing-HOWTO.html#id2790762 in particular.

Given that we have cjones blessing, you could argue that this is now sufficient. We just move to the new license (as proposed and with his blessing) and be done with it. Yes - it is a bit pushy, but given the lack of response and the precedents explained in that doc, it would appear that this is all perfectly legal.

At the same time, it might make sense to agree a "license czar" as recommended later, who has the express permission of the contributors to relicense the project in the future. Seems obvious to me that we should make that the current maintainer (i.e. pwaller) and then we never need to jump through such hoops again.

Thoughts?

@SecT0uch
Copy link

SecT0uch commented Dec 2, 2018

Still no reply so far.
@pwaller any thought about the last message?

@stefanor
Copy link
Collaborator

stefanor commented Dec 5, 2018

Sorry for the delay.

I'm quite happy for my changes to be published under the MIT license. 👍

@pwaller
Copy link
Owner

pwaller commented Dec 5, 2018

Thanks for your input!

Right, we can action this now! @peterbrittain would you like the honor of submitting a PR to update the license? Otherwise it will be when I get around to it :)

@pwaller
Copy link
Owner

pwaller commented Dec 5, 2018

OK everyone, I've made a PR (#62) with the new LICENSE. I'll merge it some time within the next week to allow for any last comments - please take a look and leave comments or contact me if you spot anything wrong.

@pwaller
Copy link
Owner

pwaller commented Dec 6, 2018

Released in v0.8.0 (and v0.8.post0 due to a minor mistake of mine and PyPI's not allowing you to reupload archives with the same number...).

@nyov
Copy link

nyov commented Jan 10, 2019

I noticed this through the backlink on the urwid project, and just wanted to say it's pretty awesome to see another project having managed to make this relicensing work, in a similar fashion to my effort - through a github poll. Congratulations to all involved :)

And such a cool FIGlet adaption in python, to boot. I'll definitely be using this some time. I was only aware of TOIlet, as a clone, until now.

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