twbs / bootstrap

The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.
https://getbootstrap.com
MIT License
167.64k stars 78.43k forks source link

Migrate to MIT License #2054

Closed cweagans closed 10 years ago

cweagans commented 12 years ago

I'm wanting to include Bootstrap in a Drupal distribution that I'm working on. Because I'm using the Drupal.org packaging system, I cannot include Bootstrap because the APLv2 is not compatible with GPLv2 (which is what all code on Drupal.org must be licensed as, per our license policy: http://drupal.org/licensing/faq#q4)

I was wondering if you'd be willing to either release Bootstrap under another license (in parallel to the Apache license) that would be compatible with our packaging system, or license Bootstrap specifically to Drupal.org contributors under a compatible license.

caniszczyk commented 12 years ago

I believe the code on Drupal.org is under the GPLv2 or later, which is fine.

"Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works." [1]

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

cweagans commented 12 years ago

Nope - everything is licensed as GPLv2 right now. When the packaging system puts things together, it includes the GPLv2 license, and APLv2 cannot be relicensed as GPLv2.

Crell commented 12 years ago

Drupal.org is GPLv2-and-later. We do not permit GPLv3-only code at this time. APL is only compatible with GPLv3, not v2.

cweagans, you may want to see if we can allow a GPLv3 library via the auto-packager for distributions. I'm not sure if that team will accept a GPLv3 library in that case. If not, then yes something GPLv2-compatible would be necessary.

caniszczyk commented 12 years ago

I'm all for finding ways to make this work. There's pretty much no chance the bootstrap license will ever change. Is there a way we can have Drupal move to the newer version of GPLv3? http://www.gnu.org/licenses/gpl-faq.html#v3HowToUpgrade

I'd be willing to put in some cycles to talk to the right people over in Drupal land to make this work.

cweagans commented 12 years ago

There's no chance of licensing it under an additional license? That is, it would be concurrently available under APL and (some other license that's compatible with our packaging system).

If not, I'd guess that Crell is at least one of the people to talk to - he's the licensing guy for the Drupal Association. He'd probably know who else to talk to about it. I imagine that there will be a significant amount of pushback on this, though...changing the license of Drupal and every single contrib project on Drupal.org is no easy task.

Crell commented 12 years ago

Changing Drupal's license from GPLv2 to GPLv3 would be a very simple change administratively/legally and a monumental task culturally. It's not something that's going to happen any time soon, although I would like to see it happen eventually for various reasons.

caniszczyk commented 12 years ago

I understand that pain well, isn't the GPL wonderful?

I would advise that the drupal.org community look at having module authors choose between the GPLv2 or v3 license, this would then allow folks to embed Apache licensed code into their projects without issues. The APLv2 is a very liberal license.

In the end, I'm all for making this work somehow. I mean, according the Drupal FAQ [1], you're able to redistribute Drupal under the v2 or v3 license of the GPL so I don't see why this is an issue to begin with.

[1] - http://drupal.org/licensing/faq#q1

Crell commented 12 years ago

Because there are GPLv2-only libraries out there that people want to be able to integrate as well. :-) There's unfortunate subtly involved that I have the misfortune of having been the point person to sort out.

We want the code coming off of Drupal.org to always be legally compatible with code coming off of Drupal.org. Many modules bridge to other 3rd party libraries. Some of those are GPLv2 only, some are GPLv3 only. Therefore, to get the widest possible compatibility we require that Drupal.org code be GPLv2-AND-later. The option of which to use is made by the receiver, NOT the module developer. It cannot be, or else you could end up with a GPLv2-only module and a GPLv3-only module, both on d.o, and then that's just a total fail because you couldn't distribute them together.

Yes, this causes issues for APLv2 code. Bootstrap is not the first time we've seen this. At some point I do want us to move to GPLv3, but that is not on the table for the foreseeable future. Licensing changes for Drupal.org are not worth discussing here, as that boat takes too long to turn.

cweagans commented 12 years ago

I suspected that a licensing change for Drupal.org code would be painful, but I had to hold out hope. So, given that, is there any chance at all of distributing Bootstrap under an additional license that might be a little more friendly to our packaging system?

I know of at least three projects (including mine) that would love to be able to include Bootstrap, but cannot due to the license. http://drupal.org/project/twitter_bootstrap and http://drupal.org/sandbox/rerooting/1429486 and http://drupal.org/project/droptracker. I suspect that more projects would use Bootstrap if it were easily included by our packaging system.

mdo commented 12 years ago

Let's ask @caniszczyk about this stuff.

cweagans commented 12 years ago

He's been commenting on this issue already ;)

It would be really awesome if Bootstrap could be distributed under anything compatible with the GPLv2 license along with the current Apache license.

mdo commented 12 years ago

Totally missed that one! Sounds like it's not really an issue then?

cweagans commented 12 years ago

@markdotto, I don't follow. It's still certainly an issue - please read all of the comments on this issue.

caniszczyk commented 12 years ago

Changing the license of Bootstrap isn't practical given that the APLv2 is already a very permissive license and already allows Bootstrap to be embedded in all sorts of commercial and non-commercial applications. I would advise that the Drupal community take a better stance on adopting the GPLv3 and the mixing of libraries. Technically, Bootstrap can be considered a separate program (or in Drupal's case, a module) so mixing it shouldn't be an issue depending on your interpretation. Also, Bootstrap can be used by folks who run Drupal modules on their own server. It's only in the case of drupal.org that this is an issue.

It would be good to start turning the boat sooner than later. It's nice to give your users a choice in the matter.

mdo commented 12 years ago

Sorry, I meant to say that this doesn't sound like an issue we can resolve easily. To expand on that though, I'm all for anyone and everyone using Bootstrap. Licensing issues suck ass and I'd like to avoid any issue if possible. If @caniszczyk thinks it's kosher for us to have two licenses, so be it.

caniszczyk commented 12 years ago

Technically everyone can given the terms of the APLv2, it's just that the GPLv2 puts drupal.org in a precarious situation since they are distributing code which triggers the nasty in the GPLv2. The APLv2 is a permissive license that is great for commercial development and proprietary redistribution. Code that is distributed under the APLv2 and other permissive licenses can be integrated into proprietary products and redistributed under a broad variety of other terms.

cweagans commented 12 years ago

I'm not suggesting the the license for Bootstrap be changed. I'm suggesting that it's released under a dual-license. That is, when users download it, they'd be able to choose between the Apache license and (some other license). This practice is common, and is used by (as an example) jQuery and Sizzle (the library that jQuery uses for selectors). jQuery is released under the MIT license AND the GPL. Sizzle is released under the MIT, GPL, and BSD licenses. When you download, you choose which license you're going to use.

The problem with changing the license for the Drupal community is a very very large one. Not only would we be changing the license for core, but we'd also be changing the license for every single other module, theme, and installation profile posted on Drupal.org. There are currently around 16000 projects on Drupal.org and making that change is a multi-year ordeal, I'd guess.

cweagans commented 12 years ago

That is, anyone who is still using Bootstrap under the Apache license can continue to do so. If Bootstrap were released under another license (in addition to the Apache license), then users downloading Bootstrap could choose to use that new license instead if they wanted to.

caniszczyk commented 12 years ago

When I'm back in the office next week, I'll look at what we can do. We may be able to work something out where we license Bootstrap specifically to Drupal.org contributors only under a compatible license.

@Crell, can you email me at zx@twitter.com to start this discussion?

realityking commented 12 years ago

There's some talk of making the next Joomla admin template based on Bootstrap. Nothing's final and especially the license situation hasn't been discussed at all yet but we're pretty much in the same boat. If we make Joomla GPLv3 we basically force all extensions to change their license as well, some of them probably have some GPLv2 only code. Dual licensing bootstrap APLv2 and "GPLv2 or later" would certainly be very helpful.

cweagans commented 12 years ago

For anyone that's interested, the related issue about adding Bootstrap to the Drupal.org packaging system is here: http://drupal.org/node/1445226

WraithKenny commented 12 years ago

WordPress suffers the same doom as Drupal and Joomla... Dual Licensing would be awesome...

gagarine commented 12 years ago

I agree dual licensing is a good (only) way to make bootstrap available to GPL2 only code and keep the advantage of the Apache license.

norrs commented 11 years ago

@caniszczyk : Is there any new thoughts of making bootstrap dual licensed so we can easily use it in our GPL2 licensed project?

What is the down side of dual licensing bootstrap, seen from twitter/bootstrap-devs view of point?

sun commented 11 years ago

This issue seems to block wide-spread adoption of Bootstrap in Drupal, WordPress, Joomla, and potentially many more GPL-based web frameworks/content management systems. Is there any chance to resurrect this issue? :)

The common solution to combat the problem space is indeed to dual-license the code under GPLv2+ and XYZ (here: APLv2).

@evo42 from @gentics might be able to provide assistance on details, as they just recently re-licensed @alohaeditor from APL to GPL (though note that was re-licensed, not dual-licensed).

evo42 commented 11 years ago

... forwarding the licensing question to @draftkraft -- he knows all details about the changes regarding @alohaeditor and was talking to a lot of ppl. regarding licence issues

caniszczyk commented 11 years ago

This is still on my radar and will be part of the work of moving bootstrap into its own organization.

My thoughts are to use the MIT license, I dislike the GPL and the mess it causes :)

The fun part of this effort will be getting every contributors explicit permission to make the change: https://github.com/twitter/bootstrap/graphs/contributors

I will re-open this issue and put it in the community category, assigned to me.

evo42 commented 11 years ago

@caniszczyk that sounds like fun ;-)

for @alohaeditor all contributors were "forced" to sign a CLA before a pull request was accepted (on the one hand this maybe scares some people a bit... sign stuff for open source?! print, sign, scan, send... but re-licensing [for Drupal] was then quite easy...) http://aloha-editor.org/contribution.php

sun commented 11 years ago

MIT sounds most sensible to me — essentially removing almost all license restrictions, except for the original author/copyright statement.

Off-hand, I don't know whether dual-licensing involves the same challenges and requirements as re-licensing. In any case, I can only guess that @alohaeditor considered that option, too, so I'm eager to learn what insights @draftkraft can share with us.

sprice commented 11 years ago

fwiw jQuery recently removed the GPL license from their project as it seems dual-licensing created a number of problems.

According to the linked blog post other projects are "free to take a jQuery Foundation project, make changes, and re-license it under the GPL". Can't the same be done with Drupal using Bootstrap? How does the Drupal project integrate jQuery now that it is MIT only?

cweagans commented 11 years ago

GPL2 projects can pull in MIT and BSD projects, since MIT and BSD can be relicensed as GPL2.

GPL2 projects can NOT pull in Apache licensed projects, since APL projects cannot be relicensed GPL2 (they can be relicensed as GPL3, but we (Drupal) are not a GPL3 project yet).

That's the purpose of this issue. Distributing Boot strap under the MIT license would allow Drupal, Joomla, and Wordpress to use Bootstrap and be fully compliant with the licenses.

cweagans commented 11 years ago

As a sidenote, I wrote an email that's still sitting in my Gmail drafts folder (and has been for months) that is addressed to all Bootstrap contributors asking their opinion on relicensing Bootstrap. AFAIK, this is a necessary step, but I haven't been able to move forward on it (Chris asked me to not send that out).

sprice commented 11 years ago

ah. thanks for clearing that up!

cweagans commented 11 years ago

I'd also like to note that we're trying to get a bootstrap-based theme into Drupal core in this issue: http://drupal.org/node/1801582

I don't want to rush things, but the deadline for a working patch is 10/15, and our feature freeze is 12/1. If Bootstrap can be relicensed by then, we'll be in a very very good position.

mdo commented 11 years ago

@caniszczyk Where do we stand on this one?

tardyp commented 11 years ago

@caniszczyk, We have the same situation for @buildbot. For that reason, we had to switch to fundation, but it is not as complete as bootstrap, and has much less ecosystem. So we really would like to have this solved.

tsi commented 11 years ago

FWIW Joomla 3 (licenced GPL v2) includes Bootstrap v2.1.0

davemecha commented 11 years ago

don't forget to update http://glyphicons.com/glyphicons-licenses/

ThomasWaldmann commented 11 years ago

MoinMoin Wiki is also GPL v2 or later (and due to same reasons as outlined above, we can't take Apache License v2 code).

trumbitta commented 11 years ago

@caniszczyk , @mdo: any news about this?

vaceletm commented 11 years ago

Hello,

We, at Tuleap project (http://tuleap.net, gplv2+), are also interested in this (re/double)licensing. As for Drupal we have large code base with more than 80 different copyright owners.

This issue is marked for bootstrap 3.0 does it means that the goal is to have it done by then ?

ThomasWaldmann commented 11 years ago

This issue is marked for bootstrap 3.0 does it means that the goal is to have it done by then ?

caniszczyk commented 11 years ago

We would like to but haven't had the time yet to get confirmations from all the contributors to relicense their existing commits under the MIT license.

cweagans commented 11 years ago

Chris, I volunteered months ago to send out emails and work up a spreadsheet to get everyone's permission. I'm still willing to do that if you want. I have extracted everyone's email address from the git history. If that's the only bottleneck here, let me take care of it and we can be done with this (already too long) issue.

trumbitta commented 11 years ago

Are you sure it is not in the powers of the copyright holders (@mdo and @fat, I suppose) to decide a license change at any time?

On Tuesday, March 19, 2013, Chris Aniszczyk wrote:

We would like to but haven't had the time yet to get confirmations from all the contributors to relicense their existing commits under the MIT license.

— Reply to this email directly or view it on GitHubhttps://github.com/twitter/bootstrap/issues/2054#issuecomment-15091050 .

William Ghelfi Director of Research - Entando Srl

Web: http://www.entando.com/ Skype: wiz_of_id GitHub: trumbitta Twitter: @trumbitta

"[...] for it is only about things which concern us most profoundly that we lie clearly and with profound conviction." Michael Moorcock - Elric of Melniboné

trumbitta commented 11 years ago

@caniszczyk AFAIK, given the last line of the README - "Copyright 2012 Twitter, Inc under the Apache 2.0 license." - the copyright is held by Twitter, Inc at the moment and - still AFAIK - who holds the copyright can change the license at any time without asking anything to anyone.

Am I wrong?

neverendingo commented 11 years ago

@trumbitta from http://www.apache.org/licenses/LICENSE-2.0.html 4.4 : "You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License." That basically means you can go away from the apl at any time.

tardyp commented 11 years ago

@neverendingo, this is not true. IANAL, but " provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License" means: provided the new license is compatible with APL, which GPLv2 is not (because of patent policy being fundamentaly different)

So only the original copyright holder of bootstrap can change the license to something not including the problematic condition.

Those are mdo + fat for the majority, but also the whole list of people listed by git log

trumbitta commented 11 years ago

The copyright holder is Twitter Inc. at the moment

On Wednesday, March 20, 2013, Pierre Tardy wrote:

@neverendingo https://github.com/neverendingo, this is not true. IANAL, but " provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License" means: provided the new license is compatible with APL, which GPLv2 is not (because of patent policy being fundamentaly different)

So only the original copyright holder of bootstrap can change the license to something not including the problematic condition.

Those are mdo + fat for the majority, but also the whole list of people listed by git log

— Reply to this email directly or view it on GitHubhttps://github.com/twitter/bootstrap/issues/2054#issuecomment-15186762 .

William Ghelfi Director of Research - Entando Srl

Web: http://www.entando.com/ Skype: wiz_of_id GitHub: trumbitta Twitter: @trumbitta

"[...] for it is only about things which concern us most profoundly that we lie clearly and with profound conviction." Michael Moorcock - Elric of Melniboné

cweagans commented 11 years ago

We should not be discussing making a license change without getting input from contributors, regardless of if that is or is not legal. However, technically, we can't do that anyways because there is no copyright assignment agreement that is required to contribute to Bootstrap, so contributors still own their code and we can't just relicense that without their consent.