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

Change license from LGPL 2.1 to MIT ? #140

Closed
PowerKiKi opened this Issue Apr 16, 2017 · 91 comments

Comments

@PowerKiKi
Member

PowerKiKi commented Apr 16, 2017

From what I understand, notably from a similar move from jQuery, it would technically be legal to change our license from LGPL to MIT. The reasons for such a move would to get rid of the boilerplate header in all files (which is not always consistent in our case), and make the end-user life easier by choosing a well-known, very permissive and broadly used license.

But I am not a lawyer, and I may be missing something. Is it really doable ? is there anything else to do than edit the files ? should we contact previous contributors ?

@MarkBaker, @maartenba as the two most prominent contributors, would you have any opinion on the matter ?

Also @Progi1984 what was the rationale for choosing LGPL 3 for PhpWord ? I see it was talked about in PHPOffice/PHPWord#211, but would your mind has changed in the last 3 years ?

@PowerKiKi PowerKiKi added this to the 1.0 milestone Apr 16, 2017

@maartenba

This comment has been minimized.

Show comment
Hide comment
@maartenba

maartenba Apr 16, 2017

Member

I for one am open to going for a more permissive license. Back when I started this thing ten years ago, LGPL was the license many chose, but since the world has changed a lot.

Member

maartenba commented Apr 16, 2017

I for one am open to going for a more permissive license. Back when I started this thing ten years ago, LGPL was the license many chose, but since the world has changed a lot.

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Apr 17, 2017

Member

Thanks for your input. Would you know anything about how we should do it ?

Member

PowerKiKi commented Apr 17, 2017

Thanks for your input. Would you know anything about how we should do it ?

@maartenba

This comment has been minimized.

Show comment
Hide comment
@maartenba

maartenba Apr 17, 2017

Member

@MarkBaker @Progi1984 what do you think? Should we go to a different license?

Member

maartenba commented Apr 17, 2017

@MarkBaker @Progi1984 what do you think? Should we go to a different license?

@lanthaler

This comment has been minimized.

Show comment
Hide comment
@lanthaler

lanthaler Apr 17, 2017

Contributor

+1 for MIT

Contributor

lanthaler commented Apr 17, 2017

+1 for MIT

@m8e

This comment has been minimized.

Show comment
Hide comment
@m8e

m8e Apr 17, 2017

+1 MIT, then I will be allowed to use PHPSpreadsheet at my daytime job :-)

m8e commented Apr 17, 2017

+1 MIT, then I will be allowed to use PHPSpreadsheet at my daytime job :-)

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi May 10, 2017

Member

Mark confirmed via Twitter that he agreed to switch to MIT, so we can go ahead with this as soon as #147 is merged.

Member

PowerKiKi commented May 10, 2017

Mark confirmed via Twitter that he agreed to switch to MIT, so we can go ahead with this as soon as #147 is merged.

@maartenba

This comment has been minimized.

Show comment
Hide comment
@maartenba

maartenba May 10, 2017

Member

Nice!

Member

maartenba commented May 10, 2017

Nice!

@Croydon

This comment has been minimized.

Show comment
Hide comment
@Croydon

Croydon May 10, 2017

jQuery's situation was different since they already did dual-licensing under GPL and MIT and they simply dropped GPL for any further versions.

PhpSpreadsheet is not dual-licensed and you want to change the license in a not compatible way. More permissive licenses are after compatible with more restrictive licenses, but not the other way around.

You either need to ask every single contributor to relicense their contribution or you need to remove their contribution (replacing it with something new) or you can't change from GPL to MIT without violating the rights of the contributors.

You could start adding a checkbox to your pull request template asking new contributors to dual-license under LGPL and MIT, then starting to contact previous contributors and/or rewriting smaller contributions.

Once done you can drop LGPL and move to MIT.

Croydon commented May 10, 2017

jQuery's situation was different since they already did dual-licensing under GPL and MIT and they simply dropped GPL for any further versions.

PhpSpreadsheet is not dual-licensed and you want to change the license in a not compatible way. More permissive licenses are after compatible with more restrictive licenses, but not the other way around.

You either need to ask every single contributor to relicense their contribution or you need to remove their contribution (replacing it with something new) or you can't change from GPL to MIT without violating the rights of the contributors.

You could start adding a checkbox to your pull request template asking new contributors to dual-license under LGPL and MIT, then starting to contact previous contributors and/or rewriting smaller contributions.

Once done you can drop LGPL and move to MIT.

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi May 10, 2017

Member

@Croydon do you have any source for that? Maybe specific extract of some license?

It sounds likely but I'd rather be as sure as possible before doing something either way. Also I am not sure whether getting a reply from every single contributors is actually possible :-/

Member

PowerKiKi commented May 10, 2017

@Croydon do you have any source for that? Maybe specific extract of some license?

It sounds likely but I'd rather be as sure as possible before doing something either way. Also I am not sure whether getting a reply from every single contributors is actually possible :-/

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi May 26, 2017

Member

@maartenba (and @MarkBaker), I had a look for this license change and stumbled upon the BIFF writing part (now living in PhpOffice\PhpSpreadsheet\Writer\Xls) which was originally taken from Spreadsheet_Excel_Writer a long time ago. The files still have a header mentioning the original license which was LGPL 2.1.

I am unsure what to do with those. Should the original header be deleted, assuming the code was heavily modified by you when it was integrated ? Or should we keep it intact, meaning that the project would have a mix of MIT and LGPL files ?

For some minor, sporadic contributions from random contributor I may imagine making a leap of faith and changing the license "juste like that", but for this kind of case, where an important part of this project is concerned, I am much less sure on what to do.

Do you have any advice on the matter ? Maybe you had some kind of agreement way back when you integrated that project into PHPExcel ? Or would you have any contact with maintainer of back then ?

Member

PowerKiKi commented May 26, 2017

@maartenba (and @MarkBaker), I had a look for this license change and stumbled upon the BIFF writing part (now living in PhpOffice\PhpSpreadsheet\Writer\Xls) which was originally taken from Spreadsheet_Excel_Writer a long time ago. The files still have a header mentioning the original license which was LGPL 2.1.

I am unsure what to do with those. Should the original header be deleted, assuming the code was heavily modified by you when it was integrated ? Or should we keep it intact, meaning that the project would have a mix of MIT and LGPL files ?

For some minor, sporadic contributions from random contributor I may imagine making a leap of faith and changing the license "juste like that", but for this kind of case, where an important part of this project is concerned, I am much less sure on what to do.

Do you have any advice on the matter ? Maybe you had some kind of agreement way back when you integrated that project into PHPExcel ? Or would you have any contact with maintainer of back then ?

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi May 26, 2017

Member

There actually is a similar case for PhpOffice\PhpSpreadsheet\Shared\OLE things which licensed under the PHP license 2.02. Any opinion on what to do with that ?

Member

PowerKiKi commented May 26, 2017

There actually is a similar case for PhpOffice\PhpSpreadsheet\Shared\OLE things which licensed under the PHP license 2.02. Any opinion on what to do with that ?

@m8e

This comment has been minimized.

Show comment
Hide comment
@m8e

m8e May 26, 2017

@PowerKiKi for the LGPL being included as a library license (for BIFF writing), it should NOT affect the MIT status of the overall project, iff nobody ever modify the LGPL code of the included library. Because quoting the LGPL:


"A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License."


Maybe same for PHP license?

m8e commented May 26, 2017

@PowerKiKi for the LGPL being included as a library license (for BIFF writing), it should NOT affect the MIT status of the overall project, iff nobody ever modify the LGPL code of the included library. Because quoting the LGPL:


"A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License."


Maybe same for PHP license?

@m8e

This comment has been minimized.

Show comment
Hide comment
@m8e

m8e May 26, 2017

Also here is a project that moved forwards from LGPL to MIT and asked all the major contributors to publicly agree in the disussion thread they are happy to modify the license to MIT for the ongoing future versions

gtk-rs/gtk#20

m8e commented May 26, 2017

Also here is a project that moved forwards from LGPL to MIT and asked all the major contributors to publicly agree in the disussion thread they are happy to modify the license to MIT for the ongoing future versions

gtk-rs/gtk#20

@Croydon

This comment has been minimized.

Show comment
Hide comment
@Croydon

Croydon May 26, 2017

@Croydon do you have any source for that? Maybe specific extract of some license?

Source for what part exactly? You really need the agreement from everyone who has done more like fixing a typo. Why? Because fixing a typo hasn't created enough value to be protected by basically every single copyright law world wide. Creating new features are covered, therefore you need their permission to use their copyright protected work under new terms.

You could start a

  • checkbox list. ping everyone, start with the strongest contributors and ask if they agree putting their work under the term of the MIT license.

See how it is going, if most agree you can see which parts would need to be redone in order to fully switch to MIT.

Croydon commented May 26, 2017

@Croydon do you have any source for that? Maybe specific extract of some license?

Source for what part exactly? You really need the agreement from everyone who has done more like fixing a typo. Why? Because fixing a typo hasn't created enough value to be protected by basically every single copyright law world wide. Creating new features are covered, therefore you need their permission to use their copyright protected work under new terms.

You could start a

  • checkbox list. ping everyone, start with the strongest contributors and ask if they agree putting their work under the term of the MIT license.

See how it is going, if most agree you can see which parts would need to be redone in order to fully switch to MIT.

@maartenba

This comment has been minimized.

Show comment
Hide comment
@maartenba

maartenba May 27, 2017

Member

@PowerKiKi not sure what the decision was on that one, I think we had a good day back then and just integrated it into the library.

Member

maartenba commented May 27, 2017

@PowerKiKi not sure what the decision was on that one, I think we had a good day back then and just integrated it into the library.

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi May 27, 2017

Member

@m8e, I either don't understand what you quoted, or it does does not apply to our case. Because PhpSpreadsheet copy-pasted (7+ years ago) Spreadsheet_Excel_Writer and then significantly modified it over the years. So I believe it created a "derivative" and as such the license should be applied.

@Croydon I assume you are right, but I guess I was trying to avoid contacting every contributors by asking you for a source that clearly states that a contributor only make a contribution under a specific license (LGPL in this case). As opposed to "donate" his contributions to the project regardless of current or future licenses.

I suppose the only thing left to do is to actually make a list and start contacting people...

Member

PowerKiKi commented May 27, 2017

@m8e, I either don't understand what you quoted, or it does does not apply to our case. Because PhpSpreadsheet copy-pasted (7+ years ago) Spreadsheet_Excel_Writer and then significantly modified it over the years. So I believe it created a "derivative" and as such the license should be applied.

@Croydon I assume you are right, but I guess I was trying to avoid contacting every contributors by asking you for a source that clearly states that a contributor only make a contribution under a specific license (LGPL in this case). As opposed to "donate" his contributions to the project regardless of current or future licenses.

I suppose the only thing left to do is to actually make a list and start contacting people...

@Indigo744

This comment has been minimized.

Show comment
Hide comment
@Indigo744

Indigo744 May 30, 2017

@PowerKiKi if I may offer my help for listing/contacting all contributors? I am really interested in PhpSpreadsheet going from LGPL to MIT.

Indigo744 commented May 30, 2017

@PowerKiKi if I may offer my help for listing/contacting all contributors? I am really interested in PhpSpreadsheet going from LGPL to MIT.

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi May 30, 2017

Member

@Indigo744, that would be very much appreciated. We should start by listing all contributors to PhpSpreadsheet, Spreadsheet_Excel_Writer (at least until it was integrated into PHPExcel) and also OLE. I suppose we should collect their emails and/or their GitHub handles. And possibly also their "contribution importance" (as commits counts, or total lines modified). Maybe keep the list semi-private if it contains emails ?

Member

PowerKiKi commented May 30, 2017

@Indigo744, that would be very much appreciated. We should start by listing all contributors to PhpSpreadsheet, Spreadsheet_Excel_Writer (at least until it was integrated into PHPExcel) and also OLE. I suppose we should collect their emails and/or their GitHub handles. And possibly also their "contribution importance" (as commits counts, or total lines modified). Maybe keep the list semi-private if it contains emails ?

@Indigo744

This comment has been minimized.

Show comment
Hide comment
@Indigo744

Indigo744 May 30, 2017

I created the following Gists:

To get contributors for Github repos, I made a small Python script using the Github API (https://gist.github.com/Indigo744/1205db711dd9e12d2972b09715c6ca35)

The be considered as a "meaningful" contributor, I set the minimum addition to 10 lines (so we don't have to contact all contributors who just have fixed a typo). I don't know if it's enough / not enough?

Indigo744 commented May 30, 2017

I created the following Gists:

To get contributors for Github repos, I made a small Python script using the Github API (https://gist.github.com/Indigo744/1205db711dd9e12d2972b09715c6ca35)

The be considered as a "meaningful" contributor, I set the minimum addition to 10 lines (so we don't have to contact all contributors who just have fixed a typo). I don't know if it's enough / not enough?

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Jun 30, 2017

Member

I consolidate the list into a single one and removed most duplicates, over there: https://docs.google.com/spreadsheets/d/1HTKVdAc2e9lqWJf78GfgQE7WqhFQO99JwpZRvCRTPrc.

Now we need to send a notification to all of those people...

Member

PowerKiKi commented Jun 30, 2017

I consolidate the list into a single one and removed most duplicates, over there: https://docs.google.com/spreadsheets/d/1HTKVdAc2e9lqWJf78GfgQE7WqhFQO99JwpZRvCRTPrc.

Now we need to send a notification to all of those people...

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Jun 30, 2017

Member

Oh, one thing I'd like to do before sending message would be to keep only the contributors of Spreadsheet_Excel_Writer and OLE package at the time it was merged into PHPExcel. Since it does not seem to be necessary to ask permission to contributors that only contributed to those projects after the merge.

If anyone is able to dig into that, that would be nice...

Member

PowerKiKi commented Jun 30, 2017

Oh, one thing I'd like to do before sending message would be to keep only the contributors of Spreadsheet_Excel_Writer and OLE package at the time it was merged into PHPExcel. Since it does not seem to be necessary to ask permission to contributors that only contributed to those projects after the merge.

If anyone is able to dig into that, that would be nice...

@korvinko

This comment has been minimized.

Show comment
Hide comment
@korvinko

korvinko Jul 5, 2017

Contributor

I just fixed small bug but would like to approve that agree to migrate, because I found myself in list of contributors. Should I do something else to confirm that?

Contributor

korvinko commented Jul 5, 2017

I just fixed small bug but would like to approve that agree to migrate, because I found myself in list of contributors. Should I do something else to confirm that?

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Jul 6, 2017

Member

@johndoejdg, yes we will need an agreement from everybody in that list. I still didn't get to write to those people, but we will have to...

Member

PowerKiKi commented Jul 6, 2017

@johndoejdg, yes we will need an agreement from everybody in that list. I still didn't get to write to those people, but we will have to...

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Aug 12, 2017

Member

Hello everyone,

We would like to change PhpSpreadsheet (formerly PHPExcel) license from LGPL 2.1 to MIT. So it would be more permissive and allow usage of the library in more contexts. This would ideally allow the community to grow further and hopefully see more contributions from more people.

Because you contributed to PhpSpreadsheet (or most likely PHPExcel back then), we would need your permission to change the license. All you have to do is reply here with the text: "I agree with re-licensing my contribution(s) under an MIT license.".

Thanks in advance, and sorry for pinging you out of the blue.

@agopaul @amironov @ankitm123 @bolovincev @c-schmitz @c960657 @c960657 @CloCkWeRX @cocowool @cweiske @dbonsch @ddeboer @dmelo @frans-beech-it @frost-nzcr4 @Gemorroj @helgi @johndoejdg @k1LoW @kamazee @karak @kea @Kurounin @mingc00 @neclimdul @nickypn @odbc @Progi1984 @Quix0r @roojs @Slamdunk @stevleibelt @techhead @till @titanrat @tomaszsita @trvrnrth @tsmsogn @tuupola @z38

Member

PowerKiKi commented Aug 12, 2017

Hello everyone,

We would like to change PhpSpreadsheet (formerly PHPExcel) license from LGPL 2.1 to MIT. So it would be more permissive and allow usage of the library in more contexts. This would ideally allow the community to grow further and hopefully see more contributions from more people.

Because you contributed to PhpSpreadsheet (or most likely PHPExcel back then), we would need your permission to change the license. All you have to do is reply here with the text: "I agree with re-licensing my contribution(s) under an MIT license.".

Thanks in advance, and sorry for pinging you out of the blue.

@agopaul @amironov @ankitm123 @bolovincev @c-schmitz @c960657 @c960657 @CloCkWeRX @cocowool @cweiske @dbonsch @ddeboer @dmelo @frans-beech-it @frost-nzcr4 @Gemorroj @helgi @johndoejdg @k1LoW @kamazee @karak @kea @Kurounin @mingc00 @neclimdul @nickypn @odbc @Progi1984 @Quix0r @roojs @Slamdunk @stevleibelt @techhead @till @titanrat @tomaszsita @trvrnrth @tsmsogn @tuupola @z38

@c960657

This comment has been minimized.

Show comment
Hide comment
@c960657

c960657 Aug 12, 2017

Contributor

👍 I agree with re-licensing my contribution(s) under an MIT license.

Contributor

c960657 commented Aug 12, 2017

👍 I agree with re-licensing my contribution(s) under an MIT license.

@kamazee

This comment has been minimized.

Show comment
Hide comment
@kamazee

kamazee Aug 12, 2017

Contributor

Even though my contribution was almost negligible,
I agree with re-licensing my contribution(s) under an MIT license.

Contributor

kamazee commented Aug 12, 2017

Even though my contribution was almost negligible,
I agree with re-licensing my contribution(s) under an MIT license.

@Gemorroj

This comment has been minimized.

Show comment
Hide comment
@Gemorroj

Gemorroj Aug 12, 2017

Contributor

I agree with re-licensing my contribution(s) under an MIT license. 🤓

Contributor

Gemorroj commented Aug 12, 2017

I agree with re-licensing my contribution(s) under an MIT license. 🤓

@z38

This comment has been minimized.

Show comment
Hide comment
@z38

z38 Aug 12, 2017

Contributor

I agree with re-licensing my contribution(s) under an MIT license.

Contributor

z38 commented Aug 12, 2017

I agree with re-licensing my contribution(s) under an MIT license.

@kifni41

This comment has been minimized.

Show comment
Hide comment
@kifni41

kifni41 Aug 16, 2017

Contributor
Contributor

kifni41 commented Aug 16, 2017

@ewbi

This comment has been minimized.

Show comment
Hide comment
@ewbi

ewbi Aug 16, 2017

Regarding the FormulaParser code ported from ewbi.develops, I agree with re-licensing my contribution(s) under an MIT license.

ETA: Maarten Balliauw "ported" my JavaScript implementation to PHP for his PHPExcel project back in May 2007 to avoid "reinventing the wheel". He did a great job, even kept the original comments. It was great to learn today that this stuff's still around and serving a purpose. Good luck! :)

ewbi commented Aug 16, 2017

Regarding the FormulaParser code ported from ewbi.develops, I agree with re-licensing my contribution(s) under an MIT license.

ETA: Maarten Balliauw "ported" my JavaScript implementation to PHP for his PHPExcel project back in May 2007 to avoid "reinventing the wheel". He did a great job, even kept the original comments. It was great to learn today that this stuff's still around and serving a purpose. Good luck! :)

@Niggler

This comment has been minimized.

Show comment
Hide comment
@Niggler

Niggler Aug 17, 2017

@ewbi while we have your attention, would you be willing to add an MIT attribution to the JS code in your blog post? PHPExcel / PHPSpreadsheet aren't the only projects using code that ultimately traces back to your incredible contribution (you would be surprised by the sheer number of tools and projects that drew from it!)

@PowerKiKi @MarkBaker the next (and most likely longest) example is the Xls Reader. This one is a bit trickier to unwind. My (most likely incomplete) understanding of the history is as follows:

  1. The starting point is a java library called excelread by Andy Khan. Licensed under LGPL v2.1 The original distribution is not available on the archive and the domain has been down for years.

  2. A PHP version based on the java library was released. According to the comments, it would have been pear/Spreadsheet_Excel_Reader. The original author is Vadim Tkachenko but there is a credit to David Sanders. That was available under the PHP license version 3.0. Interestingly, the SourceForge repo also credits Travis Harris but is not mentioned at all in relation to the PEAR entry.

  3. The comment appears to match that in the ParseXL version 1.10 ticket. The attribution references other tickets, and I think there was some confusion here. Note: This version has no license attribution whatsoever!

Some of the email addresses are available by in the links.

Niggler commented Aug 17, 2017

@ewbi while we have your attention, would you be willing to add an MIT attribution to the JS code in your blog post? PHPExcel / PHPSpreadsheet aren't the only projects using code that ultimately traces back to your incredible contribution (you would be surprised by the sheer number of tools and projects that drew from it!)

@PowerKiKi @MarkBaker the next (and most likely longest) example is the Xls Reader. This one is a bit trickier to unwind. My (most likely incomplete) understanding of the history is as follows:

  1. The starting point is a java library called excelread by Andy Khan. Licensed under LGPL v2.1 The original distribution is not available on the archive and the domain has been down for years.

  2. A PHP version based on the java library was released. According to the comments, it would have been pear/Spreadsheet_Excel_Reader. The original author is Vadim Tkachenko but there is a credit to David Sanders. That was available under the PHP license version 3.0. Interestingly, the SourceForge repo also credits Travis Harris but is not mentioned at all in relation to the PEAR entry.

  3. The comment appears to match that in the ParseXL version 1.10 ticket. The attribution references other tickets, and I think there was some confusion here. Note: This version has no license attribution whatsoever!

Some of the email addresses are available by in the links.

@ewbi

This comment has been minimized.

Show comment
Hide comment
@ewbi

ewbi commented Aug 17, 2017

@Niggler - done.

@Quix0r

This comment has been minimized.

Show comment
Hide comment
@Quix0r

Quix0r Aug 31, 2017

Contributor

MIT is something like a "do what you want" license, while LGPL and (L)AGPL ensures that free software remains free software and it misses the point of ensuring freedom of its users:

https://www.gnu.org/philosophy/open-source-misses-the-point.en.html

Contributor

Quix0r commented Aug 31, 2017

MIT is something like a "do what you want" license, while LGPL and (L)AGPL ensures that free software remains free software and it misses the point of ensuring freedom of its users:

https://www.gnu.org/philosophy/open-source-misses-the-point.en.html

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Sep 30, 2017

Member

@c-schmitz, @CloCkWeRX, @cocowool, @dbonsch, @frost-nzcr4, @k1LoW, @kea, @neclimdul, @nickypn, @odbc, @Quix0r, @roojs, @stevleibelt, @till

Hi, we are still missing your input for the potential change of license from LGPL 2.1 to MIT. Please let us know your opinion, whether you agree or not, so we can reach a conclusion on the matter.

Thanks in advance !

Member

PowerKiKi commented Sep 30, 2017

@c-schmitz, @CloCkWeRX, @cocowool, @dbonsch, @frost-nzcr4, @k1LoW, @kea, @neclimdul, @nickypn, @odbc, @Quix0r, @roojs, @stevleibelt, @till

Hi, we are still missing your input for the potential change of license from LGPL 2.1 to MIT. Please let us know your opinion, whether you agree or not, so we can reach a conclusion on the matter.

Thanks in advance !

@c-schmitz

This comment has been minimized.

Show comment
Hide comment
@c-schmitz

c-schmitz Sep 30, 2017

I agree with re-licensing my contribution(s) under an MIT license.

c-schmitz commented Sep 30, 2017

I agree with re-licensing my contribution(s) under an MIT license.

@roojs

This comment has been minimized.

Show comment
Hide comment
@roojs

roojs Oct 3, 2017

While I don't agree with the re-licencing - could not actually find any justification in the thread.. My contributions (if any) are probably so small that it's probably irrelevant anyway...

roojs commented Oct 3, 2017

While I don't agree with the re-licencing - could not actually find any justification in the thread.. My contributions (if any) are probably so small that it's probably irrelevant anyway...

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Oct 3, 2017

Member

@roojs the justification is there, let me know if that makes you change your mind.

In short:

LGPL is the source of a lot confusion when it comes to what is possible

It is somewhat similar to the React license mess where they ended up changing the license (after saying they wouldn't one month prior), because developers were too afraid of what may or may not happen because of React license.

Granted our case is way less dramatic, yet I feel MIT would get rid of all doubts once and for all, without losing anything in return. Because we have to be practical here, LGPL is nice in theory, but we barely have enough manpower to maintain the code, how could we actually actually enforce LGPL ? Where does the time, money and knowledge would come from ?

Since we unfortunately can't, in practice, benefit from LGPL, I don't see why we should add burden to the users.

Member

PowerKiKi commented Oct 3, 2017

@roojs the justification is there, let me know if that makes you change your mind.

In short:

LGPL is the source of a lot confusion when it comes to what is possible

It is somewhat similar to the React license mess where they ended up changing the license (after saying they wouldn't one month prior), because developers were too afraid of what may or may not happen because of React license.

Granted our case is way less dramatic, yet I feel MIT would get rid of all doubts once and for all, without losing anything in return. Because we have to be practical here, LGPL is nice in theory, but we barely have enough manpower to maintain the code, how could we actually actually enforce LGPL ? Where does the time, money and knowledge would come from ?

Since we unfortunately can't, in practice, benefit from LGPL, I don't see why we should add burden to the users.

@roojs

This comment has been minimized.

Show comment
Hide comment
@roojs

roojs Oct 3, 2017

As I mentioned before, My contributions have been so tiny (if at all...), you can take my objection with a pinch of salt anyway.

I did see this thread a while back, and was a bit perplexed then. From what I gather you are saying having LGPL is putting people off using/contributing to the library. (I doubt this is really the case, as there are not any competing implementation anyway, and most people usually contribute based on need/requirement.)

The main point of LGPL is to encourage (as you rightly point out, they can not really legally be forced to as you don't have the resources) to contribute changes back to the library, rather than taking and not sharing. MIT, is really just a take this, and do what you like with it (except leave the notice in..)

As I said you are free to ignore my objection, as it's pretty pointless.. but I thought I'd just give you a 2c opinion on the thread.

roojs commented Oct 3, 2017

As I mentioned before, My contributions have been so tiny (if at all...), you can take my objection with a pinch of salt anyway.

I did see this thread a while back, and was a bit perplexed then. From what I gather you are saying having LGPL is putting people off using/contributing to the library. (I doubt this is really the case, as there are not any competing implementation anyway, and most people usually contribute based on need/requirement.)

The main point of LGPL is to encourage (as you rightly point out, they can not really legally be forced to as you don't have the resources) to contribute changes back to the library, rather than taking and not sharing. MIT, is really just a take this, and do what you like with it (except leave the notice in..)

As I said you are free to ignore my objection, as it's pretty pointless.. but I thought I'd just give you a 2c opinion on the thread.

@c-schmitz

This comment has been minimized.

Show comment
Hide comment
@c-schmitz

c-schmitz Oct 3, 2017

The library lacked so far a maintainer who is able to understand and maintain the code. I know because I tried it myself. At times there were contributions but the patches were often buggy and had to be checked thoroughly, which needed more time than I could spare. I doubt the license change will change anything regarding this situation, but if anyone feels better about it and contributes better code who am I to complain.

c-schmitz commented Oct 3, 2017

The library lacked so far a maintainer who is able to understand and maintain the code. I know because I tried it myself. At times there were contributions but the patches were often buggy and had to be checked thoroughly, which needed more time than I could spare. I doubt the license change will change anything regarding this situation, but if anyone feels better about it and contributes better code who am I to complain.

@Quix0r

This comment has been minimized.

Show comment
Hide comment
@Quix0r

Quix0r Oct 3, 2017

Contributor

If LGPL is confusing to (some?) people, why don't that people go to the FSF(E|A) and ask questions there? MIT is what also @roojs says, take it (your work) and don't give contributions back (which is bad).

Contributor

Quix0r commented Oct 3, 2017

If LGPL is confusing to (some?) people, why don't that people go to the FSF(E|A) and ask questions there? MIT is what also @roojs says, take it (your work) and don't give contributions back (which is bad).

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Oct 3, 2017

Member

@c-schmitz, Mark Baker has been maintaining this lib for at least 6 years. I am pretty confident that he knows it very well. But it's a huge workload and one guy is not enough to also educate newcomers, help them write robust code and unit tests. IMHO what we miss is people contributing non-code stuff, like answer usage questions (issue tracker is full of those), improve the doc, and help crafting good PR.

Of course a change of license will not change much. But, like you said, if it can help a little, then it's worth doing.

Member

PowerKiKi commented Oct 3, 2017

@c-schmitz, Mark Baker has been maintaining this lib for at least 6 years. I am pretty confident that he knows it very well. But it's a huge workload and one guy is not enough to also educate newcomers, help them write robust code and unit tests. IMHO what we miss is people contributing non-code stuff, like answer usage questions (issue tracker is full of those), improve the doc, and help crafting good PR.

Of course a change of license will not change much. But, like you said, if it can help a little, then it's worth doing.

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Oct 29, 2017

Member

It's been almost 3 months since we started asking permissions to contributors, and almost one month since the last reply. At this point I don't expect to get any more replies.

According to our spreadsheet, we reached ~71% of agreements with only 2 "soft" disagreements that might or might not be ignored.

However while the majority was reached, I don't think it is enough, legally speaking, to do the licence change. I am personally not willing to take the risk and I am not willing to wait any longer for hypothetical missing replies. So as far as I am concerned, we will stay with LGPL 2.1.

@MarkBaker, @maartenba, as the original authors, if one of you are willing to take the responsibility and change the license yourself, please be my guest.

Member

PowerKiKi commented Oct 29, 2017

It's been almost 3 months since we started asking permissions to contributors, and almost one month since the last reply. At this point I don't expect to get any more replies.

According to our spreadsheet, we reached ~71% of agreements with only 2 "soft" disagreements that might or might not be ignored.

However while the majority was reached, I don't think it is enough, legally speaking, to do the licence change. I am personally not willing to take the risk and I am not willing to wait any longer for hypothetical missing replies. So as far as I am concerned, we will stay with LGPL 2.1.

@MarkBaker, @maartenba, as the original authors, if one of you are willing to take the responsibility and change the license yourself, please be my guest.

@PowerKiKi PowerKiKi closed this Oct 29, 2017

@maartenba

This comment has been minimized.

Show comment
Hide comment
@maartenba

maartenba Oct 29, 2017

Member

71% is too low imo :-( Guess we'll be taying on LGPL 2.1 then.

Thanks to everyone for their efforts!

Member

maartenba commented Oct 29, 2017

71% is too low imo :-( Guess we'll be taying on LGPL 2.1 then.

Thanks to everyone for their efforts!

@c-schmitz

This comment has been minimized.

Show comment
Hide comment
@c-schmitz

c-schmitz Oct 29, 2017

To my knowlegde you only really have to ask the persons which have still parts of the their source code really existing inside the software, Is this really the case with these missing agreements?

c-schmitz commented Oct 29, 2017

To my knowlegde you only really have to ask the persons which have still parts of the their source code really existing inside the software, Is this really the case with these missing agreements?

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Oct 29, 2017

Member

@c-schmitz, I don't know if this is true. And I also don't know how to get a list of authors the most recent lines of the project. Also I am not quite sure about the pertinence of the result if we ask git and it returns the author who last changed indentation on the entire project...

Member

PowerKiKi commented Oct 29, 2017

@c-schmitz, I don't know if this is true. And I also don't know how to get a list of authors the most recent lines of the project. Also I am not quite sure about the pertinence of the result if we ask git and it returns the author who last changed indentation on the entire project...

@c-schmitz

This comment has been minimized.

Show comment
Hide comment
@c-schmitz

c-schmitz Oct 29, 2017

Usually you would check what changes the particular author introduced. I'd bet in most cases it is just a fix or two. Then check if the code in question still exists.
If there is none of the code left then there is no case to protect anything in the first place.
How many 'authors' are we talking about?

c-schmitz commented Oct 29, 2017

Usually you would check what changes the particular author introduced. I'd bet in most cases it is just a fix or two. Then check if the code in question still exists.
If there is none of the code left then there is no case to protect anything in the first place.
How many 'authors' are we talking about?

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Oct 29, 2017

Member

@c-schmitz have a look there, that would be 13 people who didn't answer. If you are willing to do that work, please be my guest.

Member

PowerKiKi commented Oct 29, 2017

@c-schmitz have a look there, that would be 13 people who didn't answer. If you are willing to do that work, please be my guest.

@anton-harvey

This comment has been minimized.

Show comment
Hide comment
@anton-harvey

anton-harvey Nov 10, 2017

Contributor

@PowerKiKi Did you try emailing those who didn't respond? You're missing some names and email addresses at the end of that sheet. Shall I add them here as a Markdown table?

Contributor

anton-harvey commented Nov 10, 2017

@PowerKiKi Did you try emailing those who didn't respond? You're missing some names and email addresses at the end of that sheet. Shall I add them here as a Markdown table?

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Nov 10, 2017

Member

I did contact everybody on the list, at least twice if they didn't respond, either via email, or via GitHub mentions in this thread. Unless you are willing to contact them yourself, it won't be necessary to complete the list. If you do want to work on that, I'll give you write access to the sheet though.

Member

PowerKiKi commented Nov 10, 2017

I did contact everybody on the list, at least twice if they didn't respond, either via email, or via GitHub mentions in this thread. Unless you are willing to contact them yourself, it won't be necessary to complete the list. If you do want to work on that, I'll give you write access to the sheet though.

@Quix0r

This comment has been minimized.

Show comment
Hide comment
@Quix0r

Quix0r Nov 10, 2017

Contributor

You could do it with git blame on each file, so some console "magic": $ find * -type f -exec git blame --show-email -w {} \; |grep "@" | cut -d " " -f 3|sort --unique | cut -d "(" -f 2. This is maybe not fully optimized, but it should give you a unique list of all recent author's email addresses.

Update: A "better" one: $ find * -type f -exec git blame --show-email -w {} \;|cut -d "(" -f 2|cut -d "<" -f 2|cut -d ">" -f 1|sort --unique.

Contributor

Quix0r commented Nov 10, 2017

You could do it with git blame on each file, so some console "magic": $ find * -type f -exec git blame --show-email -w {} \; |grep "@" | cut -d " " -f 3|sort --unique | cut -d "(" -f 2. This is maybe not fully optimized, but it should give you a unique list of all recent author's email addresses.

Update: A "better" one: $ find * -type f -exec git blame --show-email -w {} \;|cut -d "(" -f 2|cut -d "<" -f 2|cut -d ">" -f 1|sort --unique.

@Quix0r

This comment has been minimized.

Show comment
Hide comment
@Quix0r

Quix0r Nov 10, 2017

Contributor

Maybe some sed instead of cut is required? I get non-email addresses back, too.

Contributor

Quix0r commented Nov 10, 2017

Maybe some sed instead of cut is required? I get non-email addresses back, too.

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Nov 10, 2017

Member

@Quix0r I believe this is what you are looking for:

git ls-files -z |xargs -L 1 -0 git blame --porcelain > all-blame-data
grep -IE '^(author|author-mail) ' all-blame-data | sort -u

But like I said, what is the point of knowing that Mark Baker changed whitespace on the entire project and that I moved every single file around ?

Member

PowerKiKi commented Nov 10, 2017

@Quix0r I believe this is what you are looking for:

git ls-files -z |xargs -L 1 -0 git blame --porcelain > all-blame-data
grep -IE '^(author|author-mail) ' all-blame-data | sort -u

But like I said, what is the point of knowing that Mark Baker changed whitespace on the entire project and that I moved every single file around ?

@Quix0r

This comment has been minimized.

Show comment
Hide comment
@Quix0r

Quix0r Nov 10, 2017

Contributor

Okay, fair point. Maybe a git reset HEAD~X before? And thank you for posting better code (not cut).

Contributor

Quix0r commented Nov 10, 2017

Okay, fair point. Maybe a git reset HEAD~X before? And thank you for posting better code (not cut).

@anton-harvey

This comment has been minimized.

Show comment
Hide comment
@anton-harvey

anton-harvey Nov 12, 2017

Contributor

How much of a contribution must someone have made for us to require their permission? 😕


cocowool1 commit (PHPOffice/PhpSpreadsheet)
These still exist in the develop branch.

This appears to be cocowool's 125ea80, with tests added by @PowerKiKi. So, cocowool added a comment, and 19 characters in 1 line. Is that correct?

k1LoW1 commit (PHPOffice/PhpSpreadsheet)

I pasted the latest code over the changes made in this commit so that you can see what's changed. Here is the Gist.

neclimdul2 commits (PHPOffice/PhpSpreadsheet)
These still exist in the develop branch.

Moves two } characters, adds a = character.

Moves a line, adds a comment, removes a few lines.

odbc3 commits (PHPOffice/PhpSpreadsheet)
These still exist in the develop branch.

Adds 33 characters to 1 line.

Adds 7 characters to the same line as in 1a2a681.

Use use sections instead of fully qualified class names
198 additions and 150 deletions.

Aside from some added comments, you could make identical modifications using an automated replacement (e.g. sed).

kea1 commit (PHPOffice/PhpSpreadsheet)
These still exist in the develop branch.

Without this commit's creation of the unit test file, it adds 2 lines, and modifies two others; if we rewrote that unit test file from scratch (currently 70 lines), are those remaining changes enough for us to need to ask for permission?

Contributor

anton-harvey commented Nov 12, 2017

How much of a contribution must someone have made for us to require their permission? 😕


cocowool1 commit (PHPOffice/PhpSpreadsheet)
These still exist in the develop branch.

This appears to be cocowool's 125ea80, with tests added by @PowerKiKi. So, cocowool added a comment, and 19 characters in 1 line. Is that correct?

k1LoW1 commit (PHPOffice/PhpSpreadsheet)

I pasted the latest code over the changes made in this commit so that you can see what's changed. Here is the Gist.

neclimdul2 commits (PHPOffice/PhpSpreadsheet)
These still exist in the develop branch.

Moves two } characters, adds a = character.

Moves a line, adds a comment, removes a few lines.

odbc3 commits (PHPOffice/PhpSpreadsheet)
These still exist in the develop branch.

Adds 33 characters to 1 line.

Adds 7 characters to the same line as in 1a2a681.

Use use sections instead of fully qualified class names
198 additions and 150 deletions.

Aside from some added comments, you could make identical modifications using an automated replacement (e.g. sed).

kea1 commit (PHPOffice/PhpSpreadsheet)
These still exist in the develop branch.

Without this commit's creation of the unit test file, it adds 2 lines, and modifies two others; if we rewrote that unit test file from scratch (currently 70 lines), are those remaining changes enough for us to need to ask for permission?

@PowerKiKi

This comment has been minimized.

Show comment
Hide comment
@PowerKiKi

PowerKiKi Nov 12, 2017

Member

IANAL but I expect that every single line of code counts as a contribution. I will not change the licence unless we can get an agreement from everybody, because I really don't want to take any risk for some open-source project. But if somebody else is willing to take the responsibility...

Member

PowerKiKi commented Nov 12, 2017

IANAL but I expect that every single line of code counts as a contribution. I will not change the licence unless we can get an agreement from everybody, because I really don't want to take any risk for some open-source project. But if somebody else is willing to take the responsibility...

@kea

This comment has been minimized.

Show comment
Hide comment
@kea

kea Nov 12, 2017

Contributor

I agree with re-licensing my contribution(s) under an MIT license.

Contributor

kea commented Nov 12, 2017

I agree with re-licensing my contribution(s) under an MIT license.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment