pycontribs / ansi2html

Convert text with ansi color codes to HTML
GNU Lesser General Public License v3.0
387 stars 78 forks source link

gpl license prevents direct usage in non-gpl python tools #72

Closed RonnyPfannschmidt closed 6 years ago

RonnyPfannschmidt commented 7 years ago

hi,

pytest-dev/pytest-html#96 has just brought this to my attention, as things are pytest-html would have to drop usage and/or implement an sub-process communication to keep using ansi2html while also keeping its own license terms

i would like to solve this by just version-bumping the ansi2html dependency but i can understand if you want to keep the gpl

ralphbean commented 7 years ago

Since I don't have a contributor agreement, I think we need to achieve public written consent from every ansi2html contributor in order to properly re-license.

The way I've seen this done before is to have all contributors email a public mailing list - some place we can link to and say "see, everyone consents to the license change for their contribution." Let's use this issue itself to gather statements of consent.

Here's the list of contributors I found:

In order to relicense, we'll need each one to post a statement here in a comment. We'll tick their names off here as we go.

If anyone disagrees, then we're stuck. We would have to somehow remove their contribution to re-license, which is sticky. If we don't have consensus, then I would personally oppose re-licensing.

ralphbean commented 7 years ago

I, Ralph Bean, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

tbabej commented 7 years ago

I, Tomáš Babej, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

szepeviktor commented 7 years ago

I, Viktor Szépe, hereby give consent for my contribution to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

davidmalcolm commented 7 years ago

I, David Malcolm, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

dbravender commented 7 years ago

I, Dan Bravender, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

posativ commented 7 years ago

I, Martin Zimmermann, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

CBke commented 7 years ago

On Thu, Dec 15, 2016 at 8:47 PM, Ralph Bean notifications@github.com wrote:

I think we need to achieve public written consent from every ansi2html contributor in order to properly re-license.

The way I've seen this done before is to have all contributors email a public mailing list - some place we can link to and say "see, everyone consents to the license change for their contribution." Let's use this issue itself to gather statements of consent.

Here's the list of contributors I found:

I, Christophe Budé (CBke), hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

ypid commented 7 years ago

Why not go with LGPL-3.0 directly? Is v2 required?

I, Robin Schneider, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPL-3.0 or later.

brianbruggeman commented 7 years ago

I'm not a lawyer, and I don't want to throw a wrench into this, based on recommendations from the FSF, I think because this is all python (source code) and not a binary, any GPL (including LGPL) will still supersede the pytest-html license.

gberaudo commented 7 years ago

I, Guillaume Beraudo, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

JensTimmerman commented 7 years ago

I don't really get the issue? GPL governs how source code or a binary is distributed. As long as the pytest-html developers/maintainers do not distribute ansi2html themselves but just include it as a dependency in their setup.py the license of ansi2html is of no legal concern to them at all?

Yes, this might force people who want to distribute pytest-html and all it's dependencies in a integrated system to have to agree to the GPL, but changing to LGPL here does not change this. They will still need to have to abide to the LGPL.

For this reason I don't mind the re-licensing of my past contributions to this project under the LGPLv2 or the LGPLv3.

iksaif commented 7 years ago

I give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

Le 16 déc. 2016 00:46, "Jens Timmerman" notifications@github.com a écrit :

I don't really get the issue? GPL governs how source code or a binary is distributed. As long as the pytest-html developers/maintainers do not distribute ansi2html themselves but just include it as a dependency in their setup.py the license of ansi2html is of no legal concern to them at all?

Yes, this might force people who want to distribute pytest-html and all it's dependencies in a integrated system to have to agree to the GPL, but changing to LGPL here does not change this. They will still need to have to abide to the LGPL.

For this reason I don't mind the re-licensing of my past contributions to this project under the LGPLv2 or the LGPLv3.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ralphbean/ansi2html/issues/72#issuecomment-267478143, or mute the thread https://github.com/notifications/unsubscribe-auth/AA_DA-2Gp9AQRm9Ssgl2GZBGRL87EOTVks5rIdE3gaJpZM4LOYmc .

kaspar030 commented 7 years ago

I, Kaspar Schleiser, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

AloisMahdal commented 7 years ago

I, Alois Mahdal, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

schettino72 commented 7 years ago

I, Eduardo Schettino (schettino72), hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

Can I just "donate" the code to the project so you dont need to ask my permission to change the license? I guess that was the case since my name is not in the license file.

nima commented 7 years ago

I, Nima Talebi, hereby give consent for my contribution to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

ypid commented 7 years ago

Why not go with LGPL-3.0 directly? Is v2 required?

@ralphbean I did not quite get that. I would be willing to also relicense under LGPL-2.0 if there is a good reason for going down to v2? v3 is superior in my eyes and including v2 partially breaks this.

davehunt commented 7 years ago

According to the discussion on https://github.com/pytest-dev/pytest-html/issues/96, re-licensing as LGPL would not provide a solution for us.

Can I just "donate" the code to the project so you dont need to ask my permission to change the license? I guess that was the case since my name is not in the license file.

@schettino72 is the code pytest-html uses yours to donate? I don't know the legalities around donating the code, but if others think this is a reasonable solution then I'd be happy with this. What do you think, @brianbruggeman?

schettino72 commented 7 years ago

@schettino72 is the code pytest-html uses yours to donate?

No. I mean donate my code contribution to ansi2html. So you dont need to ask me permission to change whatever you want to change now or in the future.

davehunt commented 7 years ago

No. I mean donate my code contribution to ansi2html.

Ah, sorry, I misunderstood.

hartwork commented 7 years ago

I, Sebastian Pipping, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

PS: Checkmarks missing that could be checked by now: ypid, nima

lqez commented 7 years ago

So sorry for late replying.

I, Hyunwoo Park, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

karjaneth commented 7 years ago

I, Kerrigan Joseph, hereby give consent for my contribution to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

kbonne commented 7 years ago

Any update on this? Is it still the goal to re-license?

hartwork commented 6 years ago

@ralphbean ^^

RonnyPfannschmidt commented 6 years ago

as far as i can tell only @warpr is missing

ghost commented 6 years ago

I have sent him an email about this thread.

ypid commented 6 years ago

as far as i can tell only @warpr is missing

Kind of.

I, Robin Schneider, hereby give consent for my contributions to ansi2html to be re-licensed under the terms of the LGPL-3.0 or later.

Notice the LGPL-3.0.

Why not go with LGPL-3.0 directly? Is v2 required?

@ralphbean I did not quite get that. I would be willing to also relicense under LGPL-2.0 if there is a good reason for going down to v2? v3 is superior in my eyes and including v2 partially breaks this.

RonnyPfannschmidt commented 6 years ago

@ypid thats rather unfortunate, my current understanding is that this prevents use in apache licensed projects

JensTimmerman commented 6 years ago

It does not prevent usage at all, only distribution!

Anyway, the original project this change was intended for (pytest) has made ansi2html optional and solves the distribution problem by not distributing it themselves.

brianbruggeman commented 6 years ago

I'm not a Lawyer, and I am not prone to splitting hairs here, but because of Python's nature, there's no difference between distribution and usage. That concept exists for languages that work in a binary space with a compilation and linking step, but python executes the code directly.

JensTimmerman commented 6 years ago

There absolutely is a big difference. You might not have the right to distribute code with your project, but that does not mean that you can't create a script that downloads the code from the original source, which does have the right to distribute it. if your code's installer does: pip install some_library and your code does import some_library

Then you did not redistribute the code at all, and you are allowed to redistribute your code under whatever license you want. The user will download the code from pypi, and not from your webserver, so you do not need to worry about it's license at all.

You are correct that in python there doesn't seem to be a linking step at all, so indeed, there isn't any practical difference between licensing this project as GPL or LGPL, see my original remark

warpr commented 6 years ago

I, Kuno Woudt, hereby give consent for my contribution to ansi2html to be re-licensed under the terms of the LGPLv2 or later.

@ralphbean Sorry, I missed the email. I have added a twitter link to my bio on github so that hopefully other folks running into the same issue have some other way to ping me as well.

lqez commented 6 years ago

Wow here @warpr comes, finally!

ralphbean commented 6 years ago

Why not go with LGPL-3.0 directly? Is v2 required?

No reason.

Everyone consented to LGPLv2 or later, except for @ypid who required v3 or later. This forces us onto v3. I'll submit the change.

Thanks everyone for sticking through this.

ralphbean commented 6 years ago

Any reviewers for #80?

ralphbean commented 6 years ago

Should be fixed in version 1.3.0.

JensTimmerman commented 6 years ago

I did not agree to v3 or later, only to v2 or v3 (I'd like to see v4 before commiting to it)

gotmax23 commented 2 years ago

ansi2html/converter.py, ansi2html/style.py, and tests/test_ansi2html.py still have GPLv3+ headers. Is there a reason these haven't been removed or replaced?