Relicense under the MIT license #625

Closed
pointlessone opened this Issue Jan 3, 2014 · 97 comments
@pointlessone
prawnpdf member

FIXME: The list below is incomplete and possibly out of date. See this comment for details

Prawn followed Ruby licensing strategy from the very beginning. The main reason for that was that if people can use Ruby in their project they certainly would be able to use Prawn as well. Ruby gave switched grom GPL2/3 to 2-clause BSD license about three years ago.

At this time the most popular license among Ruby projects is MIT.

The following people's code is in the master right now.

Please chime in below if you object to the move.

@pointlessone pointlessone was assigned Jan 3, 2014
@practicingruby
prawnpdf member

I am OK with this change if we can get signoff from all contributors, but we won't be able to make it simply if no one objects... we need an affirmative answer from everyone. So if you agree with the change AND have code in Prawn (i.e. your name is listed above), please 👍 this issue.

Everyone else, please don't make things more noisy by expressing support if you're not a contributor. But anyone is welcome to discuss reasons against the change.

@basvk

👍

@cbartlett

👍

@kuroneko

👍

@backspace

👍

@geeksam

Didn't even remember having any contributions in Prawn. 👍

@jamis

👍

@joneslee85

:+1 I'm okay with this change

@mbklein

"Cool. Cool cool cool." ~ Abed

👍

@igorbozato

👍

@ivantsepp

👍

@lenny

👍

@mrkn

👍

@giuseb
@bradediger
prawnpdf member

Great. 👍

@JEG2

👍

@scpike

👍 awesome

@pwnall

👍

@FloWi

👍 I'm ok

@jordanbyron

👍

@mikel

👍 Thanks @sandal for making sure everyone was ok with this.

@matthewrudy

👍 that's good for me, thanks.

@Whoops

MIT is fine with me.

@wesgarrison

👍 and thanks @cheba for at-mentioning everyone else.

@willbryant

👍

@kennethkalmer

👍 for MIT from this side

@lawso017
@torgoton

👍

@aguids
@joncanady

👍

@alexdowad

I don't care exactly what the license is, as long as people are free to use it. So if the other contributors say 👍, then 👍.

@seebs

Sounds fine to me.

@scoopr

OK for me

@tim-vandecasteele
@shanebonham
@sigmike

👍

@yob
prawnpdf member
@gettalong
prawnpdf member

👍

@henrik

👍

@aayushkhandelwal11
@sos4nt

👍

@burisu

👍

@huerlisi

👍

@hbrandl

👍

@phurley
@boutil

👍

@astjohn
@henrik
@cbartlett

Oh, that explains why I kept getting email notifications again after unsubscribing. Thanks, [redacted].

I personally find this exercise a little silly. All it takes is one of the 80 people to not reply, be unavailable, have left Github, etc. Perhaps I'm just a little skeptical that you'll be able to get a response from every single person, thus making this effort entirely futile.

@pointlessone
prawnpdf member

@cbartlett We'll never know until we try.
You've contributed to Prawn over 5 years ago. Your commits are not even connected to your GitHub account and yet you're here.

@cbartlett

@cheba Nice work tracking me down then! 😁 I'm all for changing the license, who doesn't prefer MIT these days, besides Stallman?

As an aside: Legally speaking, what happens to people who are already licensing it under GPL? This doesn't change the license out from under them, right?

@pointlessone
prawnpdf member

@cbartlett New license will apply only for new versions of the code.

Say, 0.16* will be released under MIT license. Everyone who uses 0.15.x* or older would use it under GPL2, GPL3 or RUBY license.

The change is no big deal for most users as the new license even more permissive than the old one. Only the ones who are Stallman would not be able to upgrade to 0.16*.

* All versions mentioned are fictitious. Any resemblance of real version in this text are purely coincidental.

@practicingruby
prawnpdf member

@cbartlett None of this will apply retroactively -- it'll start with whatever release we make the change in.

I actually care about keeping our code GPL compatible moving forward, and as long as I am involved in the project we'll avoid dependencies that would make Prawn unusable in GPLed code. For everyone who is interested in closed-source use, Matz's terms are roughly equivalent (in terms of what they actually allow you to do) to MIT license, so it's not going to affect that either. The only significant change will be an easier to understand licensing scheme for Prawn.

I agree that we may not be able to get everyone to respond, it was the first thing I said to @cheba. But we're trying to adopt the approach of experimentation over prediction with Prawn, and so I'd be hypocritical to not let @cheba give this a try. 😁

@trym

👍

@crazymykl

👍

@strzibny
prawnpdf member

No objections :).

@fidothe

MIT would be great.

@rubyredrick
@weimeng

I'm good with this. 👍

@p8
p8 commented Jan 6, 2014

👍

@sockmonk

I don't object to the MIT license, but I'm a little curious about the motivation for the change. Has this actually been an issue for people using or considering using Prawn specifically? If the GPL license isn't actually hindering anyone from using it, why not leave it?

@vizjerai

👍

@practicingruby
prawnpdf member

@sockmonk: The issue is that we don't use the GPL on its own (if we did, I think it would prevent many commercial uses of Prawn in practice), we use a now-outdated equivalent to the License of Ruby. It is a tri-license between Matz's terms for Ruby (which are liberal, similar to BSD/MIT in practice), and the GPLv2, and GPLv3 (the two versions of the GPL are incompatible with each other, so we can't just pick one or the other without consequence).
To make matters more complicated, we can no longer call this the "License of Ruby", because since Ruby 1.9.3, Ruby uses Matz's terms + BSD two-clause license.

Our existing license should cause no practical problems for anyone, because it guarantees that a) Prawn is GPL compatible, and b) Prawn does not use any GPLed dependencies, making it safe for proprietary use, too. But it's very confusing! In changing to the MIT license, we will not need to explain any of the above, and people will be able to easily understand our license. I will make sure as long as I'm involved in the project that we neither force copy-left by including GPLed dependencies nor prevent it by including GPL-incompatible dependencies, and that will functionally keep all the rights to the end user the same that they've been for the last five years, but with a much less confusing license for Prawn itself.

The above just reflects my own understanding of the problem, and I'm neither a lawyer nor a licensing expert. But hopefully it helps explain the reason for the change.

@ratbeard

YES 👴

@jeremyf

👍

@mdaines

OK

@koriroys

Pretty sure I'm ok with you relicensing my two line grammar fix. 😸

👍

@sockmonk

@sandal thanks for taking the time to explain. No objections at all (not like I've contributed code anyway), and thanks for all your work.

@practicingruby
prawnpdf member

@cheba: Enough time has passed where maybe you can reach out to those who haven't responded yet by email or twitter and see if we can get them to take a look at this. I'll be much more comfortable making this change before 1.0 (Mid-march) than after.

@kennethkalmer

Just noticed @andrewtimberlake isn't on the list

@practicingruby
prawnpdf member

@kennethkalmer It probably would be a good idea for @cheba to double check, but I believe he compiled the list based on who has code in Prawn currently, rather than anyone who has ever contributed a patch. Since the license change will only apply to future versions, those are the people we need to contact.

@andrewtimberlake

I'm not sure if any of my code is still in master but 👍 anyway :-)
Thanks @kennethkalmer

@mbklein

Is it worth trying to find the commits from those who have not yet responded and finding out the implications of cherry-picking around them to create an MIT-compatible branch? Their contributions can be picked back in if and when they respond. If so, I'd be happy to take a stab at it in the next couple of weeks.

@practicingruby
prawnpdf member

@mbklein: Yes it is, because we may be getting close to the point where doing so would be feasible. However, we definitely need to track down @Bluejade and @jonsgreen, because they're Prawn core members!

@jaronkk

👍

@dmarkow

I contributed some code after the list was made 👍

@murrekatt

👍

@cs
prawnpdf member
cs commented Jan 23, 2014

👍

@pointlessone
prawnpdf member

@cs Just to make it clear. Are you and @proactive the same person?

@mbklein

Understood, @sandal. I won't try anything until they've both checked in.

@cs
prawnpdf member
cs commented Jan 24, 2014

@cheba Exactly. @proactive is my company's account and I am the owner and the CEO...

@pointlessone
prawnpdf member

@cs Thank you.

@rivsc

👍

@pparidans

Also 👍 (and not on the list either, I'm still a 'junior' contributor 😉 )

@practicingruby
prawnpdf member

The list is currently out of date. We're going to need to do a second pass at it before making this change. But we still need responses from @Bluejade and @jonsgreen and that hasn't happened yet. 😦

@mbklein

I see jonsgreen's 43 commits, but I don't see anything from Bluejade. What am I missing?

@practicingruby
prawnpdf member

@mbklein: He built the entire formatted text system. I think he may have renamed his Github account, but we've tried to email him and haven't heard back yet.

@practicingruby
prawnpdf member

I just realized that the way we created this list is somewhat flawed, because @cheba used git blame to generate it. But for example, if I moved the entire contents of a file or made a trivial whitespace change like removing a level of indentation, we'd lose all authorship information. For that reason, it's likely that the contributor list is smaller than it should be.

Unfortunately, I think the best thing to do right now is to close out the issue until someone revises the list and verifies its accuracy. Anyone is welcome to do that, and once someone does I'll re-open.

@mbklein

Github's contributor list indicates all the users who have ever had a commit in master, regardless of whether their code was moved or removed later. So it seems to me that the "safe harbor" option would be to use Github's own contributors by number of additions list, which shows 93 contributors.

Contributors on @cheba's list who aren't on mine:
bluejade
capps
cbartlett
FloWi
Jaron
Kennel
jeremyf
jweathers777
lenny
otavio
paul
proactive
costan
seebs

Contributors on my list who aren't on @cheba's:
alexyoung
AndrewO
andrewtimberlake
augustl
blaxter
bragi
brandonh
caifara
cassiomarques
DefV
djanowski
dmarkow
esb
hcf
ianterrell
jlh
johnnyshields
koke
kreynolds
LanF3usT
marnen
pparidans
ptzn
unreal
welfare

I don't know how to verify its accuracy, because I'm not sure what "accurate" means in this case. But it's the best I've got.

@practicingruby
prawnpdf member

@mbklein: Thanks. I think we'd just need to go back and look at commits from the people on the Github contributors reports and see what if any of their code is still in Prawn (this can be accomplished by finding their original commits).

I will reopen and do this myself if someone else doesn't get to it first, though it's not a high priority for me until after 1.0 at least.

@practicingruby practicingruby reopened this Mar 5, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment