gohugoio / hugo

The world’s fastest framework for building websites.
https://gohugo.io
Apache License 2.0
74.91k stars 7.47k forks source link

Upgrade the license to an open one #201

Closed abh closed 8 years ago

abh commented 10 years ago

I realize you probably picked deliberately, but I will ask anyway. :-)

For personal use the license is fine, but it would be nicer if the software had a properly open license (apache, bsd or MIT for example) for "corporate use". It's not about not contributing back, but just the added legal hassle using contagious licenses in anything.

robertmeta commented 10 years ago

Agreed.

spf13 commented 10 years ago

I did pick this license after some careful consideration. I'm open minded. For me this felt like it best protected things I care about and was open enough to facilitate easy adoption and contributions. Can you provide more of an explanation why you feel the current license would hinder adoption?

robertmeta commented 10 years ago

Lawyers.

Basically, big enterprises don't want more licenses. Each license has to go through rigorous review process, even if simple and only one page. This means it will have to be scheduled, meetings planned with legal and the developers. Generally the major licenses are already done and handled, meaning a developer can use them without speaking to anyone. "Major" being BSD, MIT, Apache, Mozilla, CPL, EPL, Artistic, (L,A)GPL. The moment you go off the reservation you create a massive barrier to adoption in a corporation, just from an inconvenience standpoint.

While contracting at large shops, I have seen entire open source projects dumped because of bad / custom / "cute" licenses (after man hours were invested). Additionally, I have seen a vast number never even looked at based on not having a pre-approved license.

Could you get by with a dual license, SimPL 2.0 / GPL 2.0? That would solve the problem basically. Additionally, do you feel the OSI statement that SimPL 2.0 is "a plain language implementation of GPL 2.0", to be accurate? If so, then what is the value of using a far less tested, uncommon license over a well established, well understood, vetted license like GPL 2.0?

If it is primarily about user understanding, maybe a link to: https://tldrlegal.com/license/gnu-general-public-license-v2#summary is the best way to go rather than using a "plain language" license?

abh commented 10 years ago

What Robert said plus in environments I am familiar with the GPL makes the bar for using the software way higher and for contributing back almost impossibly high. Ironically this means less contributions back for GPL licensed software and other similar restrictive licenses.

robertmeta commented 10 years ago

I should have been more clear, when I said "done and handled" -- that meant whitelisted OR blacklisted, but at least not grey. In lots of environments I have worked in, GPL 2.0 was done and handled but unfortunately blacklisted.

Used server-side, I suspect Hugo would fall under the GPL 2.0 server-side loophole. I am curious if that is intentional or accidental?

Additionally, a clarification on the "rigorous review process". You need to remember that it applies to more than just use. It will be use by environment, use by distribution, use by product, use by industry, am I allowed to contribute during work hours, am I allowed to contribute on my own time, for X license contributions have to go through Y channel, etc.

willnorris commented 10 years ago

I work on the open source compliance team at Google at this is a problem for us for exactly the reasons already mentioned. I'm having trouble getting approval to contribute because of the non-standard license. We tend to prefer more permissive licenses (MIT, BSD, Apache), but that whole argument aside, the text of the GPLv2 has been reviewed and vetted by our lawyers. SimPL-2.0 has not and they're not likely to, if for no other reason than to take a stand against license proliferation.

spf13 commented 10 years ago

A big thanks to @willnorris @abh @robertmeta for the feedback here.

I appreciate the common english language of the SimPL-2.0 license, but completely understand all of the points made here, most of which I had not considered when I started this project a year ago. I see no reason to stick with the SimPL-2.0 license since GPL 2.0 has broader visibility and is otherwise virtually the same.

@robertmeta I believe you are correct on the loophole.. Which would mean that the agpl-3.0 would be the way to go to close it.

The question is should I adopt a more liberal license... In talking with @abh in person at GopherCon he pretty much convinced me I should.

So the pros and cons as I see this are... Adopting a more liberal license will enable more contributions, especially from corporate employees who's contributions to a GPL or similarly restrictive project are prohibited. This comes at the cost of enabling sublicensing and allowing people to take Hugo and modify it as they see fit without contributing anything back.

I typically adopt a more liberal license for projects, but I also historically have written in languages that copy and distribute source not binaries (php, ruby, python, viml, perl, js) ... so I feel a bit out of my element here.

Am I missing anything?

willnorris commented 10 years ago

for what it's worth, the primary problem for us (Google) is not the decision between a permissive license versus a restrictive license. It's simply "standard, vetted license" (GPLv2, et al) versus "non-standard, mostly-unheard-of license" (SimPL). We can contribute to a GPLv2 project, no problem. AGPL becomes a problem, at least for software we use internally, not sure about simply contributing to projects. (I have a personal aversion to AGPL projects, but that's another story).

All that said, as you've noted, other corporations may have stronger restrictions around contributing to GPL projects. Adopting a more permissive license would certainly address that. Google strongly prefers the Apache license for our own projects because it includes a contributor license agreement as well as a patent license. As one would expect, it results in longer license text, but has pretty strong protections for the project itself (CLAs) and end-users of the project (patent licenses).

Realistically, any change of license would need agreement from all contributors since, unless they signed a copyright assignment, they still own the copyright to their contributions. Those contributions were made under the SimPL, not any other license. It's your call how rigorously you would want to track all those down :)

Thanks for being open to this.

robertmeta commented 10 years ago

@spf13 I think you got the general track -- both pros and cons. Obviously what @willnorris said about prior contributors is important and might be tougher with a major shift (towards AGPL 3.0 or Apache would both be a fairly large shift from the GPLv2)...

Additionally -- I would agree with @willnorris in preferred licensing terms (Apache is super-clear where a bunch other licenses are vast seas of grey area), but I am not a contributor.. nor a user at this point. Unfortunately this little licensing issue killed Hugo for our project, and we couldn't wait for it to get sorted out.

Either way -- appreciate the hard work and thought you are putting into licensing terms.

ghost commented 10 years ago

According to the FSF ( and drupal's lawyer types), the GPL 2 is not compatible with apache 2 license while GPL 3 is. See: http://www.apache.org/licenses/GPL-compatibility.html

Choosing GPL 2 could cause a problem with integration of apache 2 licensed code/libraries.

This interpretation isn't shared by everyone, but myself and others (like the symfony framework folks) have gone with it

abh commented 10 years ago

I think you summarized it pretty well. My experience is that the open licenses (MIT, BSD, Apache) are better for getting developers truly involved and contributing more than cosmetic patches, but you are right it also carries a higher (but still tiny) risk that someone would take the project and makes it closed.

However even if they do, what does that really take away from your project? Sure they might have made nice software based on yours (and now closed, oh noes!), but the rest of us would still have the original Hugo to work with. Will they take away "user share"? Maybe, but one more or less competitor in this space hardly makes much difference and more importantly "users" don't contribute back, developers do.

abh commented 10 years ago

There are quite a lot of contributors to get to agree to changing the license, but not that many that have more than a few lines of code.

Total lines: 66558
#1  41727  62.69%  spf13
#2  18017  27.07%  William McGann
#3   3941   5.92%  Noah Campbell
#4    497   0.75%  Phil Pennock
#5    420   0.63%  Egon Elbre
#6    275   0.41%  Vincent Batoufflet
#7    245   0.37%  Spencer Lyon
#8    236   0.35%  ojan
#9    199   0.30%  Dan Hersam
#10    143   0.21%  Alexandre Normand
#11    132   0.20%  Fabrizio (Misto) Milo
#12    112   0.17%  Zach Chadwick
#13     84   0.13%  Ross Lawley
#14     68   0.10%  Anton Ageev
#15     47   0.07%  Steve Francia
#16     42   0.06%  Ask Bjørn Hansen
#17     41   0.06%  tycho garen
#18     36   0.05%  Ruben
#19     35   0.05%  Dave Cottlehuber
#20     29   0.04%  Niels Widger
#21     25   0.04%  Mark Sanborn
#22     20   0.03%  mattn
#23     18   0.03%  Nate Finch
#24     16   0.02%  Dato Simó
#25     16   0.02%  Mike Keesey
#26     14   0.02%  LK4D4
#27     13   0.02%  Jake Mitchell
#28      9   0.01%  Lorenzo Bolla
#29      9   0.01%  Michael D. Johas Teener
#30      9   0.01%  Tim Esselens
#31      7   0.01%  Matt Way
#32      7   0.01%  Christoph Burgdorf
#33      7   0.01%  Danilo Cabello
#34      7   0.01%  Brandon Black
#35      7   0.01%  Hugo Duncan
#36      5   0.01%  Henry
#37      5   0.01%  Nelson Silva
#38      5   0.01%  Nathan LeClaire
#39      4   0.01%  Caleb Spare
#40      4   0.01%  Joe Kopena
#41      4   0.01%  Krisztián Szabó
#42      2   0.00%  David Arroyo
#43      2   0.00%  Stephen Eglen
#44      2   0.00%  Rinat Abdullin
#45      2   0.00%  Rolando Pereira
#46      1   0.00%  Ciaran Downey
#47      1   0.00%  GuoJing
#48      1   0.00%  Ant Zucaro
#49      1   0.00%  Abe Pazos
#50      1   0.00%  Hideo Hattori
#51      1   0.00%  Marc Liyanage
#52      1   0.00%  Tim Heaney
#53      1   0.00%  Gergely Imreh
#54      1   0.00%  LordFPL
#55      1   0.00%  rawfalafel
#56      1   0.00%  tummychow
#57      1   0.00%  Kyle Mahan
#58      1   0.00%  elij
spf13 commented 10 years ago

Many of those contributions were to docs and tests. Additionally some have been refactored out and wouldn't need to give permission either.

On Sunday, June 8, 2014, Ask Bjørn Hansen notifications@github.com wrote:

There are quite a lot of contributors to get to agree to changing the license, but not that many that have more than a few lines of code.

Total lines: 66558

1 41727 62.69% spf13

2 18017 27.07% William McGann

3 3941 5.92% Noah Campbell

4 497 0.75% Phil Pennock

5 420 0.63% Egon Elbre

6 275 0.41% Vincent Batoufflet

7 245 0.37% Spencer Lyon

8 236 0.35% ojan

9 199 0.30% Dan Hersam

10 143 0.21% Alexandre Normand

11 132 0.20% Fabrizio (Misto) Milo

12 112 0.17% Zach Chadwick

13 84 0.13% Ross Lawley

14 68 0.10% Anton Ageev

15 47 0.07% Steve Francia

16 42 0.06% Ask Bjørn Hansen

17 41 0.06% tycho garen

18 36 0.05% Ruben

19 35 0.05% Dave Cottlehuber

20 29 0.04% Niels Widger

21 25 0.04% Mark Sanborn

22 20 0.03% mattn

23 18 0.03% Nate Finch

24 16 0.02% Dato Simó

25 16 0.02% Mike Keesey

26 14 0.02% LK4D4

27 13 0.02% Jake Mitchell

28 9 0.01% Lorenzo Bolla

29 9 0.01% Michael D. Johas Teener

30 9 0.01% Tim Esselens

31 7 0.01% Matt Way

32 7 0.01% Christoph Burgdorf

33 7 0.01% Danilo Cabello

34 7 0.01% Brandon Black

35 7 0.01% Hugo Duncan

36 5 0.01% Henry

37 5 0.01% Nelson Silva

38 5 0.01% Nathan LeClaire

39 4 0.01% Caleb Spare

40 4 0.01% Joe Kopena

41 4 0.01% Krisztián Szabó

42 2 0.00% David Arroyo

43 2 0.00% Stephen Eglen

44 2 0.00% Rinat Abdullin

45 2 0.00% Rolando Pereira

46 1 0.00% Ciaran Downey

47 1 0.00% GuoJing

48 1 0.00% Ant Zucaro

49 1 0.00% Abe Pazos

50 1 0.00% Hideo Hattori

51 1 0.00% Marc Liyanage

52 1 0.00% Tim Heaney

53 1 0.00% Gergely Imreh

54 1 0.00% LordFPL

55 1 0.00% rawfalafel

56 1 0.00% tummychow

57 1 0.00% Kyle Mahan

58 1 0.00% elij

— Reply to this email directly or view it on GitHub https://github.com/spf13/hugo/issues/201#issuecomment-45444383.

Steve Francia http://stevefrancia.com http://spf13.com http://twitter.com/spf13

unor commented 10 years ago

Switching to GPLv2 should be possible without having to get permissions from contributors, right? Quoting from the current license SimPL-2.0:

If you distribute the software or a Derived Work, you must give back to the community by: […]

  • Licensing it to everyone under SimPL, or substantially similar terms (such as GPL 2.0), without adding further restrictions to the rights provided […]

(I don’t know, but maybe even GPLv3 would be "substantially similar" to SimPL-2.0?)

I’d like to see the switch from SimPL-2.0 to GPL, not least because SimPL-2.0 is not a FLOSS license: it’s Open Source as defined by the OSI, but not (yet?) Free Software as defined by the FSF.

natefinch commented 10 years ago

Here's my view: GPL and all the similar copyleft licenses are for those who believe that people are inherently evil. That others will not voluntarily contribute changes back to your project unless you force them to do so. That they will steal your code and make it into a private commercial product without any benefit for the other people using your code.

MIT, Apache, and similar licenses are for those who believe people are inherently good. That others will contribute changes back to your project because it's the right and good thing to do.

I have worked at enterprise shops where we wanted to be able to use open source software, but licenses like GPL etc are incompatible with a closed-source product. I don't think closed-source is evil.... a lot of companies work that way, because it's the traditional way. In some respects, it's the easy way.

My requirements for a license are just two things:

  1. I want as many people to use my code as possible. I want as few barriers as possible, both legal and mental.
  2. I want it to be as clear as possible to developers who are not lawyers that the above is true.

I choose MIT for all my projects because it's a standard license, so no one wonders if it might not be legally sound. It's liberal, so pretty much anyone can use my code for pretty much anything. And finally, the language is really plain and clear even for non-lawyers to understand, so any Joe off the street can understand that he can use my code with little to no restrictions.

I might go so far as to use Apache-2 if I ever had a big application, since it supposedly gives more protection to the authors of the code against litigation.

willnorris commented 10 years ago

:+1: to everything Nate said.

spf13 commented 10 years ago

I want to switch. Not easy to switch. Need to get approval from every current contributor.

willnorris commented 10 years ago

assuming someone else volunteered to help with the legwork of tracking down contributors, which license would you want to switch to?

robertmeta commented 10 years ago

spf13 -- you can do a combination of track downs and reimplementation / replacements. This is often even easier than tracking down people for small fixes / contributions.

spf13 commented 10 years ago

@willnorris Deciding between GPL-2.0 and Apache 2... leaning pretty heavily towards Apache 2.0.

spf13 commented 10 years ago

@robertmeta. It would have to be a hybrid.. Anyone who didn't agree would have to have their contribution reimplemented. I'm hoping and believe that everyone would agree and comply.

rahul286 commented 10 years ago

I am also in favor of using a well-known licenses like GPL / MIT / Apache / BSD.

When I found SimPL license, I had to read it. Though it's like GPL, well-known licenses appears more friendly.

About "contributors agreement" - the later we change license, agreement from more contributors will be needed

I think @spf13 can announce intent at some point, may be in google-group, and those who have objection can let voice their concerns. For these contributors, we can check if their code is used in current hugo release. I really think nobody should have any objection here.

I am not sure if communicating this way to contributors is legal or correct. Though, I feel changes like this should happen earlier.

spf13 commented 10 years ago

We're going to switch to Apache 2. I need to dual license it for all contributions going forward, then get approval from all existing contributions. It's quite a process, but enough people feel it's important. I hope it will help increase contributions.

Steve Francia http://stevefrancia.com http://spf13.com http://twitter.com/spf13

On Tue, Sep 16, 2014 at 5:57 AM, Rahul Bansal notifications@github.com wrote:

I am also in favor of using a well-known licenses like GPL / MIT / Apache / BSD.

When I found SimPL license, I had to read it. Though it's like GPL, well-known licenses appears more friendly.

About "contributors agreement" - the later we change license, agreement from more contributors will be needed

I think @spf13 https://github.com/spf13 can announce intent at some point, may be in google-group, and those who have objection can let voice their concerns. For these contributors, we can check if their code is used in current hugo release. I really think nobody should have any objection here.

I am not sure if communicating this way to contributors is legal or correct. Though, I feel changes like this should happen earlier.

— Reply to this email directly or view it on GitHub https://github.com/spf13/hugo/issues/201#issuecomment-55720992.

rahul286 commented 10 years ago

+1

Apache 2 is good license as well. :-)

mohae commented 9 years ago

Excellent news! The prior license was making me hesitant to contribute more than bug fixes and minor enhancements.

@spf13 I grant you the right to use Apache 2 for any of my prior contributions.

robertmeta commented 9 years ago

It feels like it is -- "Checklist Time" -- maybe setup a wiki page checklist with all contributors (and a short explanation and link to this issue) and start reaching out to them 1 by 1 (only about ~60 people -- isn't really horrific to hit them all up).

If they don't agree, or don't respond, we put their work into a rewrite queue.

chrneumann commented 9 years ago

Just my two cents: It is often said that a more liberal license will encourage more contributions. I guess it is more correct to say that this might encourage more corporate contributions. The more liberal license might lessen contributions from (non corporate?) developers who prefer a more copyleft license like the GPL.

It's not about bad or good people, but about free software and about how about this freedom may persist in the long term. I personally don't want a corporation to take a free software project and create a proprietary project out of it, because it might hinder freedom of the users who have to use this project (sometimes we have no real choice) and might lessen the success of the original project. In the end, it's a political question, and might not even have a big impact on the project at all. Maybe you just have to ask yourself if you like Stallman and the FSF or not ;)

rahul286 commented 9 years ago

@chrneumann I have similar views like yours. License like MIT encourages corporate contributions but GPL makes a contributor believe his work will "persist" with time.

But then some projects e.g. Rails Framework has to be MIT. Imagine Rails was released with GPL!

In long run - overall impact of license choice is not much bigger than actual projects.

When choosing license for https://github.com/rtCamp/easyengine project, we choose GPL.

My argument was: People who are not bothered to submit their changes back to the project have zero practical value to the project itself.

willnorris commented 9 years ago

Here's a great example of how project-open-data handled their license migration: https://github.com/project-open-data/project-open-data.github.io/pull/135

dch commented 9 years ago

AFAICT nobody's done the legwork of confirming all contributors have accepted, I'll pick that up.

@abh how did you generate that list of contributors? It will be easier with github ids to cross-check.

anthonyfok commented 9 years ago

A quick status update:

@spf13 has started a thread on 2014-10-12 to collect sign-offs by contributors to agree to the move from SimPL 2.0 to Apache License 2.0:

23 sign-offs have been collected as of today (2015-01-21). Making good progress, but still quote some way to go before we reach our goal.

A small note about the upcoming license change was added to http://gohugo.io/meta/license/ two days ago.

I am starting to think that perhaps we need to add an explicit statement in README.md and the documentation for contributors that all contributions from this point forward (from today? from 2015-01-01? From 2014-10-12?) automatically fall under the Apache License v2.0 (or SimPL/Apache dual license)?

And perhaps we will need to individually contact our past contributors, especially those who were active in 2013 and early 2014 but have since moved on, to obtain permissions from them for the license switch? E.g. @tychoish, @noahcampbell, and others? :-)

bep commented 9 years ago

@dch How's the legwork going? We need a list of contributors and a list of people who have signed off.

bep commented 9 years ago

git_fame (gem install git_fame) currently reports this:

+-------------------------+--------+---------+-------+--------------------+
| name                    | loc    | commits | files | distribution       |
+-------------------------+--------+---------+-------+--------------------+
| spf13                   | 20,681 | 374     | 219   | 38.1 / 38.5 / 54.9 |
| William McGann          | 13,976 | 1       | 27    | 25.7 / 0.1 / 6.8   |
| bep                     | 3,835  | 92      | 56    | 7.1 / 9.5 / 14.0   |
| Anthony Fok             | 3,529  | 60      | 114   | 6.5 / 6.2 / 28.6   |
| Noah Campbell           | 2,604  | 109     | 42    | 4.8 / 11.2 / 10.5  |
| Tatsushi Demachi        | 2,138  | 17      | 13    | 3.9 / 1.8 / 3.3    |
| Tibor Vass              | 1,153  | 1       | 12    | 2.1 / 0.1 / 3.0    |
| Michael Henderson       | 1,130  | 4       | 1     | 2.1 / 0.4 / 0.3    |
| Owen Waller             | 656    | 11      | 6     | 1.2 / 1.1 / 1.5    |
| Austin Ziegler          | 651    | 20      | 29    | 1.2 / 2.1 / 7.3    |
| Derek Perkins           | 620    | 3       | 13    | 1.1 / 0.3 / 3.3    |
| Nate Finch              | 348    | 18      | 12    | 0.6 / 1.9 / 3.0    |
| Phil Pennock            | 334    | 5       | 13    | 0.6 / 0.5 / 3.3    |
| Egon Elbre              | 307    | 5       | 18    | 0.6 / 0.5 / 4.5    |
| Joel Scoble             | 300    | 23      | 25    | 0.6 / 2.4 / 6.3    |
| Arjen Schwarz           | 255    | 1       | 4     | 0.5 / 0.1 / 1.0    |
| Vincent Batoufflet      | 239    | 10      | 12    | 0.4 / 1.0 / 3.0    |
| mattn                   | 227    | 1       | 4     | 0.4 / 0.1 / 1.0    |
| Spencer Lyon            | 130    | 2       | 2     | 0.2 / 0.2 / 0.5    |
| Naoya Inada             | 126    | 2       | 8     | 0.2 / 0.2 / 2.0    |
| Will Stevens            | 107    | 2       | 2     | 0.2 / 0.2 / 0.5    |
| Marek Stanley           | 98     | 1       | 2     | 0.2 / 0.1 / 0.5    |
| Alexandre Normand       | 56     | 2       | 1     | 0.1 / 0.2 / 0.3    |
| Alex Dunn               | 51     | 4       | 5     | 0.1 / 0.4 / 1.3    |
| Ryan Martinsen          | 50     | 1       | 3     | 0.1 / 0.1 / 0.8    |
| Kartik Singhal          | 43     | 10      | 17    | 0.1 / 1.0 / 4.3    |
| Tom Helmer Hansen       | 40     | 4       | 3     | 0.1 / 0.4 / 0.8    |
| Ross Lawley             | 40     | 6       | 5     | 0.1 / 0.6 / 1.3    |
| Augustin Riedinger      | 40     | 1       | 1     | 0.1 / 0.1 / 0.3    |
| Rasmus Stougaard        | 36     | 4       | 3     | 0.1 / 0.4 / 0.8    |
| Dan Hersam              | 36     | 4       | 8     | 0.1 / 0.4 / 2.0    |
| Fabrizio (Misto) Milo   | 31     | 4       | 2     | 0.1 / 0.4 / 0.5    |
| Ask Bjørn Hansen        | 29     | 10      | 6     | 0.1 / 1.0 / 1.5    |
| Dave Cottlehuber        | 29     | 1       | 1     | 0.1 / 0.1 / 0.3    |
| Michael Whatcott        | 25     | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Ahsanul Haque           | 23     | 3       | 6     | 0.0 / 0.3 / 1.5    |
| Ruben                   | 22     | 5       | 3     | 0.0 / 0.5 / 0.8    |
| Franklin Wise           | 20     | 3       | 2     | 0.0 / 0.3 / 0.5    |
| Mark Sanborn            | 17     | 2       | 2     | 0.0 / 0.2 / 0.5    |
| Rahul Bansal            | 17     | 2       | 2     | 0.0 / 0.2 / 0.5    |
| philgs                  | 17     | 3       | 2     | 0.0 / 0.3 / 0.5    |
| Jake Mitchell           | 16     | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Dato Simó               | 16     | 4       | 3     | 0.0 / 0.4 / 0.8    |
| tycho garen             | 15     | 9       | 13    | 0.0 / 0.9 / 3.3    |
| LK4D4                   | 14     | 1       | 3     | 0.0 / 0.1 / 0.8    |
| Ryan Kimber             | 13     | 3       | 1     | 0.0 / 0.3 / 0.3    |
| Billie H. Cleek         | 10     | 2       | 1     | 0.0 / 0.2 / 0.3    |
| Mike Keesey             | 10     | 1       | 5     | 0.0 / 0.1 / 1.3    |
| Caleb Spare             | 10     | 1       | 4     | 0.0 / 0.1 / 1.0    |
| Dave Johnston           | 9      | 2       | 3     | 0.0 / 0.2 / 0.8    |
| Chase Adams             | 9      | 3       | 2     | 0.0 / 0.3 / 0.5    |
| Nicholas Whittier       | 8      | 2       | 2     | 0.0 / 0.2 / 0.5    |
| fundon                  | 7      | 1       | 2     | 0.0 / 0.1 / 0.5    |
| Jonathan Anderson       | 7      | 2       | 3     | 0.0 / 0.2 / 0.8    |
| Christoph Burgdorf      | 7      | 1       | 2     | 0.0 / 0.1 / 0.5    |
| Zach Chadwick           | 7      | 1       | 2     | 0.0 / 0.1 / 0.5    |
| Henry                   | 6      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| jesper-mortensen        | 6      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Brandon Black           | 6      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Tim Esselens            | 6      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Jorin Vogel             | 6      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Kristoffer Grönlund     | 6      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Danilo Cabello          | 6      | 3       | 1     | 0.0 / 0.3 / 0.3    |
| Daniel Fairhead         | 5      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Lorenzo Bolla           | 5      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Michael D. Johas Teener | 5      | 2       | 3     | 0.0 / 0.2 / 0.8    |
| Marcelo Glezer          | 4      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Joe Kopena              | 4      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Raphael Estrada         | 3      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Andrew Gerrand          | 3      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Nathan Youngman         | 3      | 2       | 2     | 0.0 / 0.2 / 0.5    |
| Nelson Silva            | 3      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Nikolay Kirsh           | 2      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Anton Ageev             | 2      | 2       | 1     | 0.0 / 0.2 / 0.3    |
| Gour                    | 2      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Rolando Pereira         | 2      | 2       | 2     | 0.0 / 0.2 / 0.5    |
| Jakub Turski            | 2      | 3       | 2     | 0.0 / 0.3 / 0.5    |
| Kevin Burke             | 2      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Jian Zhou               | 2      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Matt Way                | 2      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Jacob Gillespie         | 2      | 4       | 1     | 0.0 / 0.4 / 0.3    |
| Oscar Bolmsten          | 2      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Tomas Roos              | 2      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| LordFPL                 | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Krisztián Szabó         | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Dan Connolly            | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Ciaran Downey           | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Peter Krautzberger      | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Danillo Souza           | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Mantas                  | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| GuoJing                 | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Brian Payne             | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Maarten Everts          | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| ojan                    | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Marc Liyanage           | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Mike Dillon             | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Tim Heaney              | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Rinat Abdullin          | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Gergely Imreh           | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Abe Pazos               | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| David Kebler            | 1      | 2       | 1     | 0.0 / 0.2 / 0.3    |
| Wade Wegner             | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Tim Dumol               | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Hideo Hattori           | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| ls6                     | 1      | 1       | 1     | 0.0 / 0.1 / 0.3    |
| Dana Woodman            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Andrew Jones            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Ant Zucaro              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Aurelius Prochazka      | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Brandon Philips         | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Andrew Codispoti        | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Daniel Alan Miller      | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| David Arroyo            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| David Gay               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Duncan Beevers          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Gina White              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| GraemeCaldwell          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Hugo Duncan             | 0      | 3       | 0     | 0.0 / 0.3 / 0.0    |
| Javed Khan              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Justin Calleja          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Kieran Healy            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Kyle Mahan              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Luke Holder             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Nathan LeClaire         | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Nick Sabine             | 0      | 2       | 0     | 0.0 / 0.2 / 0.0    |
| Niels Widger            | 0      | 2       | 0     | 0.0 / 0.2 / 0.0    |
| Roberto Dip             | 0      | 2       | 0     | 0.0 / 0.2 / 0.0    |
| Sebastian Müller        | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Stephen Eglen           | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Valeri Karpov           | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| VonC                    | 0      | 3       | 0     | 0.0 / 0.3 / 0.0    |
| William King            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| elij                    | 0      | 5       | 0     | 0.0 / 0.5 / 0.0    |
| rawfalafel              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| rybi                    | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| tummychow               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| windch                  | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Øyvind Skaar            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
+-------------------------+--------+---------+-------+--------------------+
138 rows in set

It uses Git blame -- so this is "active content".

k4rtik commented 9 years ago

Wow, that's some neat stats. :smile:

spf13 commented 9 years ago

@anthonyfok. Agree with the approach. We should draw a line in the sand and say all contributions going forward are under Apache. Not sure what the best way to do that within the legal constraints are.

rahul286 commented 9 years ago

Please have a look at - https://www.clahub.com/

Not sure if its relevant here. But might help for future pull requests. Basically in CLA we can add something like:

The project is undergoing license change . Your contribution (i.e. pull request) will be accepted under Apache license.

This will make future contributions obey Apache license. Then for old contributions over the time we might be able to collect sign-offs from most people.

Finally we can try to separate out code v/s docs contribution.

Please note that above are just my ideas and I have no legal knowledge of the process.

On sidenote, wordpress.org accepts plugins with MIT and Apache license in their plugin repo even though WordPress is GPL. So can we make project dual license?

ShaneCurcuru commented 9 years ago

I would strongly recommend making it clear that all future contributions accepted must be under the Apache license. CLAHub may well be one way to make that easier, I haven't used it, but any tooling to make 1) licensing easier to use and enforce, and 2) make people aware of different licenses before they contribute is a good thing in general.

I would imagine that updating readme/license to note that some existing portions of the software are under X license, but that as of date X all new contributions must be under the Apache license to be included.

Re: @rahul286, I personally don't see the need to use a dual-license. First, you'd need to have previous copyright owners/contributors agree to dual license. Plus, in just about all cases Apache licensed code is accepted within GPL licensed projects or products, even as patches or within products. The ASF has a legal FAQ-like page discussing this:

http://www.apache.org/licenses/GPL-compatibility.html

Note that any Apache project (i.e. hosted at the ASF) cannot accept GPL'd code, and some/many independent projects that use the Apache license also won't accept GPL code within their software products.

Note that Wordpress policies are a separate question. I.e. the license for the WordPress core code is immaterial to the license of plugins used, since there's a clear and well understood plugin API between the components, meaning the licenses don't interact with each other. This lets different plugin authors continue development of their plugin under their preferred license.

In any case, I'm personally excited Hugo is switching to Apache license, since I'm hoping to use it to run several websites going forward, and personally I prefer a permissive license like Apache.

Thanks!

rahul286 commented 9 years ago

I was under impression that we can use dual-license in different way.

For example:

  1. Old code will stay under old license, till we don't get permission from everyone
  2. As above will take time, new contribution can use new license so we don't have to repeat step 1, for contributions coming while we are stuck in step 1.
  3. Once step 1 is completed, all codes will under single license.

So dual-license was temporary thing. Not sure if such arrangement is legally possible. :|

lotrfan commented 9 years ago

Some use of the GitHub API/jq/comm/scraping discourse got me this.

Checked means they signed off in the thread; not checked means they haven't.

There were also a couple who signed and don't any commits listed:

Nuc1eoN commented 9 years ago

Seriously, I dont understand the issue here... You DO NOT need the approval of all contributors to relicense it under the GPL 2.0, because they have already agreed to do so by accepting the SimPL 2.0 license.
As @unor has already quoted before:

If you distribute the software or a Derived Work, you must give back to the community by: […]

  • Licensing it to everyone under SimPL, or substantially similar terms (such as GPL 2.0), without adding further restrictions to the rights provided […]

As you see the SimPL 2.0 license is perfectly compatible to the GPL 2.0.

spf13 commented 9 years ago

We are not changing to GPL 2.0. We are changing to Apache 2.

Nuc1eoN commented 9 years ago

Well, you could of course try to switch to apache 2.0, but seriously I dont see this happening (do you really hope to get all those agreements?).
As I have understood the main issue of the SimPL 2.0 license is that it's not "known" and reviewed by lawyers of corporations. The GPL 2.0, 3.0 or the Apache 2.0 license would solve this, but obviously (at least for now) the latter is not reachable.
So while years will pass, this issue will still not be resolved and corporations will reject hugo. So by logical thinking I would just transfer to GPL 3.0 straight away (thus solving the main issue), and still try to get those contributor agreements for apache 2.0 in the aftermath, if this move is still desired (considering how minor the differences between GPL 3.0 and Apache 2.0 are).

However I see no sense in keeping things as they are.

rahul286 commented 9 years ago

@Nuc1eoN I agree with you. :-)

Had it been GPL instead of SimPL I would have started working earlier on this project!

bep commented 9 years ago

The list may look long:

+--------------------------+--------+---------+-------+--------------------+
| name                     | loc    | commits | files | distribution       |
+--------------------------+--------+---------+-------+--------------------+
| spf13                    | 20,186 | 416     | 228   | 30.9 / 27.2 / 45.2 |
| William McGann           | 13,973 | 1       | 27    | 21.4 / 0.1 / 5.4   |
| bep                      | 11,949 | 373     | 165   | 18.3 / 24.4 / 32.7 |
| Anthony Fok              | 5,130  | 122     | 200   | 7.9 / 8.0 / 39.7   |
| Noah Campbell            | 2,695  | 109     | 39    | 4.1 / 7.1 / 7.7    |
| Tatsushi Demachi         | 1,717  | 27      | 17    | 2.6 / 1.8 / 3.4    |
| Michael Henderson        | 1,221  | 5       | 3     | 1.9 / 0.3 / 0.6    |
| Tibor Vass               | 913    | 1       | 12    | 1.4 / 0.1 / 2.4    |
| Cyrill Schumacher        | 734    | 14      | 6     | 1.1 / 0.9 / 1.2    |
| Owen Waller              | 630    | 12      | 4     | 1.0 / 0.8 / 0.8    |
| Austin Ziegler           | 493    | 20      | 28    | 0.8 / 1.3 / 5.6    |
| Joel Scoble              | 469    | 24      | 26    | 0.7 / 1.6 / 5.2    |
| Rick Cogley              | 406    | 11      | 14    | 0.6 / 0.7 / 2.8    |
| Nate Finch               | 319    | 18      | 11    | 0.5 / 1.2 / 2.2    |
| Egon Elbre               | 315    | 8       | 20    | 0.5 / 0.5 / 4.0    |
| Phil Pennock             | 300    | 5       | 12    | 0.5 / 0.3 / 2.4    |
| Derek Perkins            | 286    | 4       | 10    | 0.4 / 0.3 / 2.0    |
| mdhender                 | 249    | 4       | 5     | 0.4 / 0.3 / 1.0    |
| Arjen Schwarz            | 215    | 1       | 4     | 0.3 / 0.1 / 0.8    |
| mattn                    | 211    | 1       | 4     | 0.3 / 0.1 / 0.8    |
| Vincent Batoufflet       | 183    | 11      | 12    | 0.3 / 0.7 / 2.4    |
| Ariejan de Vroom         | 167    | 6       | 4     | 0.3 / 0.4 / 0.8    |
| Alex Dunn                | 145    | 5       | 6     | 0.2 / 0.3 / 1.2    |
| Spencer Lyon             | 123    | 2       | 2     | 0.2 / 0.1 / 0.4    |
| Naoya Inada              | 112    | 3       | 5     | 0.2 / 0.2 / 1.0    |
| Marek Stanley            | 93     | 1       | 2     | 0.1 / 0.1 / 0.4    |
| Jeff Ramnani             | 79     | 3       | 4     | 0.1 / 0.2 / 0.8    |
| Jeff Hodges              | 77     | 3       | 4     | 0.1 / 0.2 / 0.8    |
| Russell Oliver           | 77     | 1       | 3     | 0.1 / 0.1 / 0.6    |
| Takuya Wakisaka          | 76     | 2       | 3     | 0.1 / 0.1 / 0.6    |
| Benny Wu                 | 70     | 2       | 3     | 0.1 / 0.1 / 0.6    |
| Sam Debruyn              | 67     | 2       | 2     | 0.1 / 0.1 / 0.4    |
| Marek Janda              | 66     | 1       | 3     | 0.1 / 0.1 / 0.6    |
| karland                  | 66     | 3       | 3     | 0.1 / 0.2 / 0.6    |
| coderzh                  | 62     | 1       | 3     | 0.1 / 0.1 / 0.6    |
| Scott C Wilson           | 61     | 8       | 7     | 0.1 / 0.5 / 1.4    |
| Alexandre Normand        | 50     | 2       | 1     | 0.1 / 0.1 / 0.2    |
| Dylan MacKenzie          | 50     | 1       | 3     | 0.1 / 0.1 / 0.6    |
| chrongzhang              | 45     | 1       | 7     | 0.1 / 0.1 / 1.4    |
| Dan Hersam               | 44     | 5       | 10    | 0.1 / 0.3 / 2.0    |
| René Jochum              | 42     | 1       | 3     | 0.1 / 0.1 / 0.6    |
| Ross Lawley              | 39     | 6       | 5     | 0.1 / 0.4 / 1.0    |
| Augustin Riedinger       | 38     | 1       | 1     | 0.1 / 0.1 / 0.2    |
| Baptiste Mathus          | 35     | 2       | 4     | 0.1 / 0.1 / 0.8    |
| digitalcraftsman         | 34     | 3       | 3     | 0.1 / 0.2 / 0.6    |
| Rasmus Stougaard         | 33     | 4       | 2     | 0.1 / 0.3 / 0.4    |
| Andrew Brampton          | 31     | 2       | 4     | 0.0 / 0.1 / 0.8    |
| Erlend Klakegg Bergheim  | 31     | 1       | 3     | 0.0 / 0.1 / 0.6    |
| Jonathan Anderson        | 29     | 5       | 5     | 0.0 / 0.3 / 1.0    |
| Fabrizio (Misto) Milo    | 28     | 4       | 2     | 0.0 / 0.3 / 0.4    |
| Bill Traynor             | 25     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Arian Allenson M. Valdez | 25     | 3       | 2     | 0.0 / 0.2 / 0.4    |
| Michael Whatcott         | 22     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Dave Cottlehuber         | 20     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Mary Anthony             | 20     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Ruben Vermeersch         | 20     | 2       | 1     | 0.0 / 0.1 / 0.2    |
| Ask Bjørn Hansen         | 19     | 10      | 5     | 0.0 / 0.7 / 1.0    |
| Franklin Wise            | 18     | 3       | 2     | 0.0 / 0.2 / 0.4    |
| Michael Diamond          | 18     | 2       | 3     | 0.0 / 0.1 / 0.6    |
| Ahsanul Haque            | 18     | 3       | 6     | 0.0 / 0.2 / 1.2    |
| Juan B. Rodriguez        | 18     | 2       | 4     | 0.0 / 0.1 / 0.8    |
| Ruben                    | 18     | 5       | 3     | 0.0 / 0.3 / 0.6    |
| Kartik Singhal           | 18     | 10      | 9     | 0.0 / 0.7 / 1.8    |
| Sebastian Krause         | 17     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Rahul Bansal             | 16     | 2       | 2     | 0.0 / 0.1 / 0.4    |
| jlengstorf               | 16     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Mark Sanborn             | 16     | 2       | 2     | 0.0 / 0.1 / 0.4    |
| Kohei Yoshino            | 15     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Dato Simó                | 15     | 4       | 3     | 0.0 / 0.3 / 0.6    |
| Greg Restall             | 15     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Jake Mitchell            | 15     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Richard Sumilang         | 15     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| tycho garen              | 15     | 9       | 13    | 0.0 / 0.6 / 2.6    |
| philgs                   | 15     | 3       | 2     | 0.0 / 0.2 / 0.4    |
| tim                      | 14     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Szymon Katra             | 14     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| kangkona                 | 14     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Yosuke INOUE             | 13     | 1       | 2     | 0.0 / 0.1 / 0.4    |
| Benoit Benedetti         | 13     | 2       | 2     | 0.0 / 0.1 / 0.4    |
| Mario Sanchez Carrion    | 13     | 2       | 1     | 0.0 / 0.1 / 0.2    |
| Piotr Kowalczuk          | 13     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Ryan Kimber              | 12     | 3       | 1     | 0.0 / 0.2 / 0.2    |
| Tom Helmer Hansen        | 12     | 4       | 1     | 0.0 / 0.3 / 0.2    |
| Karim Ali                | 11     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Ryan Martinsen           | 11     | 1       | 3     | 0.0 / 0.1 / 0.6    |
| sainaen                  | 11     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Hugh Grigg               | 11     | 1       | 1     | 0.0 / 0.1 / 0.2    |
| sergeant                 | 10     | 2       | 1     | 0.0 / 0.1 / 0.2    |
| Bruno Calheira           | 10     | 2       | 1     | 0.0 / 0.1 / 0.2    |
| David Calavera           | 9      | 2       | 2     | 0.0 / 0.1 / 0.4    |
| Dave Johnston            | 9      | 2       | 3     | 0.0 / 0.1 / 0.6    |
| Chase Adams              | 9      | 3       | 2     | 0.0 / 0.2 / 0.4    |
| Ryan Clarke              | 8      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Mike Keesey              | 8      | 1       | 5     | 0.0 / 0.1 / 1.0    |
| Will Stevens             | 8      | 2       | 1     | 0.0 / 0.1 / 0.2    |
| Valere JEANTET           | 7      | 2       | 3     | 0.0 / 0.1 / 0.6    |
| Billie H. Cleek          | 7      | 2       | 1     | 0.0 / 0.1 / 0.2    |
| fundon                   | 7      | 1       | 2     | 0.0 / 0.1 / 0.4    |
| Liam Bowen               | 7      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Danilo Cabello           | 6      | 3       | 1     | 0.0 / 0.2 / 0.2    |
| Kristoffer Grönlund      | 6      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Jeffrey Tolar            | 6      | 2       | 2     | 0.0 / 0.1 / 0.4    |
| Henry                    | 6      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Tim Esselens             | 6      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Nicholas Whittier        | 5      | 2       | 2     | 0.0 / 0.1 / 0.4    |
| Marc-Antoine Ruel        | 5      | 2       | 2     | 0.0 / 0.1 / 0.4    |
| Lorenzo Bolla            | 5      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Jorin Vogel              | 5      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Daniel Fairhead          | 4      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| LK4D4                    | 4      | 1       | 2     | 0.0 / 0.1 / 0.4    |
| Christoph Burgdorf       | 4      | 1       | 2     | 0.0 / 0.1 / 0.4    |
| Isaac Gregson            | 4      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Joe Kopena               | 4      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| jesper-mortensen         | 4      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Michael D. Johas Teener  | 4      | 2       | 2     | 0.0 / 0.1 / 0.4    |
| Artem Vorotnikov         | 4      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Clam-                    | 3      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Marcelo Glezer           | 3      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Raphael Estrada          | 3      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Dana H. P'Simer          | 3      | 1       | 2     | 0.0 / 0.1 / 0.4    |
| Andre R                  | 3      | 1       | 3     | 0.0 / 0.1 / 0.6    |
| Andrew Gerrand           | 3      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Matt Way                 | 2      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Brandon Black            | 2      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Ivan Fraixedes           | 2      | 2       | 1     | 0.0 / 0.1 / 0.2    |
| Tomas Roos               | 2      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Kevin Burke              | 2      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Caleb Spare              | 2      | 1       | 2     | 0.0 / 0.1 / 0.4    |
| Rolando Pereira          | 2      | 2       | 2     | 0.0 / 0.1 / 0.4    |
| Nathan Youngman          | 2      | 2       | 2     | 0.0 / 0.1 / 0.4    |
| Éli Marshal              | 2      | 1       | 2     | 0.0 / 0.1 / 0.4    |
| complexsplit             | 2      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Nikolay Kirsh            | 2      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Wade Wegner              | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Jacob Gillespie          | 1      | 4       | 1     | 0.0 / 0.3 / 0.2    |
| vsopvsop                 | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Maxime Michel            | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Hideo Hattori            | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| LordFPL                  | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Andrew Gallant           | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Joseph Kaptur            | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Jakub Turski             | 1      | 3       | 1     | 0.0 / 0.2 / 0.2    |
| Andrew Carter            | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Danny Sung               | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Abe Pazos                | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Tim Dumol                | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Christopher Eliot        | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Borys Borysenko          | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Francois Lanthier Nadeau | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Anton Ageev              | 1      | 2       | 1     | 0.0 / 0.1 / 0.2    |
| Marc Liyanage            | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Brian Payne              | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Dan Connolly             | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Mantas                   | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| riboflavin               | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Peter Krautzberger       | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Samuel Lelièvre          | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Krisztián Szabó          | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Danillo Souza            | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Zach Chadwick            | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| delputnam                | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Rinat Abdullin           | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Oscar Bolmsten           | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Edward Vielmetti         | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Saint Asky               | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| ojan                     | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| GuoJing                  | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Vitaly Haritonsky        | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Dan Hatch                | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Icaro Seara              | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Bruno Clermont           | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| The Gitter Badger        | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Florian Baumann          | 1      | 1       | 1     | 0.0 / 0.1 / 0.2    |
| Andrew Codispoti         | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Andrew Jones             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Ant Zucaro               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Aurelius Prochazka       | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Austin Dizzy             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Brandon Philips          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Ciaran Downey            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Dana Woodman             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Daniel Alan Miller       | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| David Arroyo             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| David Gay                | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| David Kebler             | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Duncan Beevers           | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Gergely Imreh            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Gina White               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Gour                     | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| GraemeCaldwell           | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Hugo Duncan              | 0      | 3       | 0     | 0.0 / 0.2 / 0.0    |
| Javed Khan               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Jian Zhou                | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Justin Calleja           | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Kieran Healy             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Kyle Mahan               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Luke Holder              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Maarten Everts           | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Mike Dillon              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Nathan LeClaire          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Nelson Silva             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Nick Sabine              | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Niels Widger             | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Nuno Antunes             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Roberto Dip              | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Sebastian Müller         | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Stephen Eglen            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Tim Heaney               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Valeri Karpov            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| VonC                     | 0      | 3       | 0     | 0.0 / 0.2 / 0.0    |
| William King             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Xin Fan                  | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| elij                     | 0      | 5       | 0     | 0.0 / 0.3 / 0.0    |
| ls6                      | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| midinastasurazz          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| quoha                    | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| rawfalafel               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| rybi                     | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| tummychow                | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| windch                   | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Øyvind Skaar             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
+--------------------------+--------+---------+-------+--------------------+

But it's only 25 people with more than 100 lines of code/doc left in the project. So this is manageable, it just needs some work, the best would be that @spf13 took some charge.

1) Alert the people on the list. The people with lots of contributions, try to find them via other channels as well -- dig up their Twitter, phone number etc. (it's not many). 2) For the people not responding, rewrite their code. Simple.

bep commented 9 years ago

Here is the same list, but excluding Doc contributions:

+--------------------------+--------+---------+-------+--------------------+
| name                     | loc    | commits | files | distribution       |
+--------------------------+--------+---------+-------+--------------------+
| William McGann           | 13,973 | 1       | 27    | 33.5 / 0.1 / 14.1  |
| bep                      | 10,380 | 373     | 96    | 24.9 / 24.4 / 50.3 |
| spf13                    | 5,188  | 416     | 82    | 12.4 / 27.2 / 42.9 |
| Noah Campbell            | 2,694  | 109     | 38    | 6.5 / 7.1 / 19.9   |
| Anthony Fok              | 2,177  | 122     | 79    | 5.2 / 8.0 / 41.4   |
| Tatsushi Demachi         | 1,627  | 27      | 15    | 3.9 / 1.8 / 7.9    |
| Tibor Vass               | 913    | 1       | 12    | 2.2 / 0.1 / 6.3    |
| Cyrill Schumacher        | 636    | 14      | 5     | 1.5 / 0.9 / 2.6    |
| Owen Waller              | 630    | 12      | 4     | 1.5 / 0.8 / 2.1    |
| Joel Scoble              | 444    | 24      | 23    | 1.1 / 1.6 / 12.0   |
| Egon Elbre               | 315    | 8       | 20    | 0.8 / 0.5 / 10.5   |
| Nate Finch               | 314    | 18      | 9     | 0.8 / 1.2 / 4.7    |
| Derek Perkins            | 233    | 4       | 8     | 0.6 / 0.3 / 4.2    |
| Austin Ziegler           | 227    | 20      | 15    | 0.5 / 1.3 / 7.9    |
| Phil Pennock             | 218    | 5       | 7     | 0.5 / 0.3 / 3.7    |
| mattn                    | 211    | 1       | 4     | 0.5 / 0.1 / 2.1    |
| Vincent Batoufflet       | 157    | 11      | 10    | 0.4 / 0.7 / 5.2    |
| Ariejan de Vroom         | 148    | 6       | 3     | 0.4 / 0.4 / 1.6    |
| Naoya Inada              | 100    | 3       | 4     | 0.2 / 0.2 / 2.1    |
| Marek Stanley            | 93     | 1       | 2     | 0.2 / 0.1 / 1.0    |
| Jeff Hodges              | 77     | 3       | 4     | 0.2 / 0.2 / 2.1    |
| Takuya Wakisaka          | 76     | 2       | 3     | 0.2 / 0.1 / 1.6    |
| coderzh                  | 62     | 1       | 3     | 0.1 / 0.1 / 1.6    |
| Benny Wu                 | 54     | 2       | 2     | 0.1 / 0.1 / 1.0    |
| Marek Janda              | 54     | 1       | 2     | 0.1 / 0.1 / 1.0    |
| Dylan MacKenzie          | 50     | 1       | 3     | 0.1 / 0.1 / 1.6    |
| chrongzhang              | 43     | 1       | 6     | 0.1 / 0.1 / 3.1    |
| René Jochum              | 42     | 1       | 3     | 0.1 / 0.1 / 1.6    |
| Andrew Brampton          | 31     | 2       | 4     | 0.1 / 0.1 / 2.1    |
| Erlend Klakegg Bergheim  | 31     | 1       | 3     | 0.1 / 0.1 / 1.6    |
| Fabrizio (Misto) Milo    | 28     | 4       | 2     | 0.1 / 0.3 / 1.0    |
| Jonathan Anderson        | 27     | 5       | 4     | 0.1 / 0.3 / 2.1    |
| Rasmus Stougaard         | 21     | 4       | 1     | 0.1 / 0.3 / 0.5    |
| Ruben Vermeersch         | 20     | 2       | 1     | 0.0 / 0.1 / 0.5    |
| Mary Anthony             | 20     | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Scott C Wilson           | 20     | 8       | 4     | 0.0 / 0.5 / 2.1    |
| Ask Bjørn Hansen         | 19     | 10      | 5     | 0.0 / 0.7 / 2.6    |
| Russell Oliver           | 19     | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Ahsanul Haque            | 18     | 3       | 6     | 0.0 / 0.2 / 3.1    |
| Ruben                    | 18     | 5       | 3     | 0.0 / 0.3 / 1.6    |
| Juan B. Rodriguez        | 18     | 2       | 4     | 0.0 / 0.1 / 2.1    |
| Ross Lawley              | 17     | 6       | 3     | 0.0 / 0.4 / 1.6    |
| Mark Sanborn             | 16     | 2       | 2     | 0.0 / 0.1 / 1.0    |
| Dato Simó                | 15     | 4       | 3     | 0.0 / 0.3 / 1.6    |
| Jake Mitchell            | 15     | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Kartik Singhal           | 14     | 10      | 6     | 0.0 / 0.7 / 3.1    |
| Piotr Kowalczuk          | 13     | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Dan Hersam               | 11     | 5       | 3     | 0.0 / 0.3 / 1.6    |
| Ryan Martinsen           | 11     | 1       | 3     | 0.0 / 0.1 / 1.6    |
| David Calavera           | 9      | 2       | 2     | 0.0 / 0.1 / 1.0    |
| Chase Adams              | 8      | 3       | 1     | 0.0 / 0.2 / 0.5    |
| Dave Johnston            | 8      | 2       | 2     | 0.0 / 0.1 / 1.0    |
| Mike Keesey              | 8      | 1       | 5     | 0.0 / 0.1 / 2.6    |
| Ryan Clarke              | 8      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Liam Bowen               | 7      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Valere JEANTET           | 7      | 2       | 3     | 0.0 / 0.1 / 1.6    |
| Billie H. Cleek          | 7      | 2       | 1     | 0.0 / 0.1 / 0.5    |
| fundon                   | 7      | 1       | 2     | 0.0 / 0.1 / 1.0    |
| Jeffrey Tolar            | 6      | 2       | 2     | 0.0 / 0.1 / 1.0    |
| Tim Esselens             | 6      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Kristoffer Grönlund      | 6      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Henry                    | 6      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Lorenzo Bolla            | 5      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Yosuke INOUE             | 5      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Nicholas Whittier        | 5      | 2       | 2     | 0.0 / 0.1 / 1.0    |
| LK4D4                    | 4      | 1       | 2     | 0.0 / 0.1 / 1.0    |
| Artem Vorotnikov         | 4      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Joe Kopena               | 4      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Christoph Burgdorf       | 4      | 1       | 2     | 0.0 / 0.1 / 1.0    |
| Marc-Antoine Ruel        | 4      | 2       | 1     | 0.0 / 0.1 / 0.5    |
| Andrew Gerrand           | 3      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Raphael Estrada          | 3      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Dana H. P'Simer          | 3      | 1       | 2     | 0.0 / 0.1 / 1.0    |
| Marcelo Glezer           | 3      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Michael D. Johas Teener  | 2      | 2       | 1     | 0.0 / 0.1 / 0.5    |
| Nathan Youngman          | 2      | 2       | 2     | 0.0 / 0.1 / 1.0    |
| Kevin Burke              | 2      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Matt Way                 | 2      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Baptiste Mathus          | 2      | 2       | 1     | 0.0 / 0.1 / 0.5    |
| Brandon Black            | 2      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Caleb Spare              | 2      | 1       | 2     | 0.0 / 0.1 / 1.0    |
| digitalcraftsman         | 1      | 3       | 1     | 0.0 / 0.2 / 0.5    |
| Andrew Gallant           | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| LordFPL                  | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Franklin Wise            | 1      | 3       | 1     | 0.0 / 0.2 / 0.5    |
| Oscar Bolmsten           | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| delputnam                | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Rinat Abdullin           | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Vitaly Haritonsky        | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Danny Sung               | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Edward Vielmetti         | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Jacob Gillespie          | 1      | 4       | 1     | 0.0 / 0.3 / 0.5    |
| GuoJing                  | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Krisztián Szabó          | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Andre R                  | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Brian Payne              | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Icaro Seara              | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| tycho garen              | 1      | 9       | 1     | 0.0 / 0.6 / 0.5    |
| Mantas                   | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| The Gitter Badger        | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Andrew Carter            | 1      | 1       | 1     | 0.0 / 0.1 / 0.5    |
| Anton Ageev              | 1      | 2       | 1     | 0.0 / 0.1 / 0.5    |
| Valeri Karpov            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Alex Dunn                | 0      | 5       | 0     | 0.0 / 0.3 / 0.0    |
| Alexandre Normand        | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Andrew Codispoti         | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Andrew Jones             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Ant Zucaro               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Arian Allenson M. Valdez | 0      | 3       | 0     | 0.0 / 0.2 / 0.0    |
| Arjen Schwarz            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Augustin Riedinger       | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Aurelius Prochazka       | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Austin Dizzy             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Benoit Benedetti         | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Bill Traynor             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Borys Borysenko          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Brandon Philips          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Bruno Calheira           | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Bruno Clermont           | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Christopher Eliot        | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Ciaran Downey            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Clam-                    | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Dan Connolly             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Dan Hatch                | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Dana Woodman             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Daniel Alan Miller       | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Daniel Fairhead          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Danillo Souza            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Danilo Cabello           | 0      | 3       | 0     | 0.0 / 0.2 / 0.0    |
| Dave Cottlehuber         | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| David Arroyo             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| David Gay                | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| David Kebler             | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Duncan Beevers           | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Florian Baumann          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Francois Lanthier Nadeau | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Gergely Imreh            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Gina White               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Gour                     | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| GraemeCaldwell           | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Greg Restall             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Hideo Hattori            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Hugh Grigg               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Hugo Duncan              | 0      | 3       | 0     | 0.0 / 0.2 / 0.0    |
| Isaac Gregson            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Ivan Fraixedes           | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Jakub Turski             | 0      | 3       | 0     | 0.0 / 0.2 / 0.0    |
| Javed Khan               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Jeff Ramnani             | 0      | 3       | 0     | 0.0 / 0.2 / 0.0    |
| Jian Zhou                | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Jorin Vogel              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Joseph Kaptur            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Justin Calleja           | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Karim Ali                | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Kieran Healy             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Kohei Yoshino            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Kyle Mahan               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Luke Holder              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Maarten Everts           | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Marc Liyanage            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Mario Sanchez Carrion    | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Maxime Michel            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Michael Diamond          | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Michael Henderson        | 0      | 5       | 0     | 0.0 / 0.3 / 0.0    |
| Michael Whatcott         | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Mike Dillon              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Nathan LeClaire          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Nelson Silva             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Nick Sabine              | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Niels Widger             | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Nikolay Kirsh            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Nuno Antunes             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Peter Krautzberger       | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Rahul Bansal             | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Richard Sumilang         | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Rick Cogley              | 0      | 11      | 0     | 0.0 / 0.7 / 0.0    |
| Roberto Dip              | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Rolando Pereira          | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Ryan Kimber              | 0      | 3       | 0     | 0.0 / 0.2 / 0.0    |
| Saint Asky               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Sam Debruyn              | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Samuel Lelièvre          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Sebastian Krause         | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Sebastian Müller         | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Spencer Lyon             | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| Stephen Eglen            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Szymon Katra             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Tim Dumol                | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Tim Heaney               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Tom Helmer Hansen        | 0      | 4       | 0     | 0.0 / 0.3 / 0.0    |
| Tomas Roos               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Abe Pazos                | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| VonC                     | 0      | 3       | 0     | 0.0 / 0.2 / 0.0    |
| Wade Wegner              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Will Stevens             | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| William King             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Xin Fan                  | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Zach Chadwick            | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| complexsplit             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| elij                     | 0      | 5       | 0     | 0.0 / 0.3 / 0.0    |
| jesper-mortensen         | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| jlengstorf               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| kangkona                 | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| karland                  | 0      | 3       | 0     | 0.0 / 0.2 / 0.0    |
| ls6                      | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| mdhender                 | 0      | 4       | 0     | 0.0 / 0.3 / 0.0    |
| midinastasurazz          | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| ojan                     | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| philgs                   | 0      | 3       | 0     | 0.0 / 0.2 / 0.0    |
| quoha                    | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| rawfalafel               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| riboflavin               | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| rybi                     | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| sainaen                  | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| sergeant                 | 0      | 2       | 0     | 0.0 / 0.1 / 0.0    |
| tim                      | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| tummychow                | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| vsopvsop                 | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| windch                   | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Éli Marshal              | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
| Øyvind Skaar             | 0      | 1       | 0     | 0.0 / 0.1 / 0.0    |
+--------------------------+--------+---------+-------+--------------------+
digitalcraftsman commented 9 years ago

Wouldn'd it be easier to accept/merge future PR's from new contributors only if they've signed the contributor license agreement?

bramp commented 8 years ago

Hi, I've just been asked to sign the CLA, but I can't do so without my employer's permission. My employer reviewed it and they said it assigns away ownership, which my employer doesn't allow.

By making a contribution to this project, I grant Steve Francia all rights to contributions of ideas, code, documentation, or work provided to this project and I grant him the rights to release my contributions under the Apache 2 license and warrant that these contributions are free of the rightful claim of any third party and I have the right to submit it under the Apache 2 license.

They suggest instead the standard Apache CLA would be acceptable: https://www.apache.org/licenses/cla-corporate.txt

willnorris commented 8 years ago

uh, yeah... when did that happen? That's not a CLA (Contributor License Agreement), that's a Copyright Assignment, which is a full-on deal breaker for many corporations, and is completely unnecessary.

spf13 commented 8 years ago

Will, can we switch license without assigning these rights? Or better question is what rights are needed to change licenses? 

I don’t love the apache CLA but I do like http://developercertificate.org/ and plan on switching to it once the license is changed. 

I believe neither the Apache or DCO permit changing licensing. 

On October 18, 2015 at 3:28:58 PM, Will Norris (notifications@github.com) wrote:

uh, yeah... when did that happen? That's not a CLA (Contributor License Agreement), that's a Copyright Assignment, which is a full-on deal breaker for many corporations, and is completely unnecessary.

— Reply to this email directly or view it on GitHub.

willnorris commented 8 years ago

I was thinking that the Apache CLA did allow relicensing, but I'd have to double check. But either way, a full copyright assignment is a non-starter.