-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dual-licence question #1029
Comments
ideally we would recommend people use less.js serverside, not browserside... and this suggestion is to enable more people to use it browser side? |
True, if all you're using is the result of LESS, then license be damned. There are some advantages to using LESS in the browser when it comes to hosted environments, especially the ones that basically force you to edit your CSS directly online via an editor panel. The GPL really does make things difficult for everyone, doesn't it? |
I think @cloudhead would have to comment on this... |
To clarify, no, this request is actually not talking about using it client side in the usual fashion. Sorry for the ambiguity. In my particular case, I'm writing a Drupal module which needs to create & compile LESS into CSS client-side, after first page load, to power a browser-based theming tool (see http://drupal.org/project/livethemer). After the design is completed client-side, it'll be sent back to the server and compiled once using Leafo's lessphp server-side, and cached on the server from that point on. I guess another use-case for a GPL2-friendlier license would be packaging a bunch of code together which runs less.js on node.js (all on the server) to help power one of the CMS's I mentioned, but I admit that's probably a less common scenario. It's true I could have the Drupal module include less.js from a centrally-hosted copy (on my own server) but it would be much nicer to be able to include it in the Drupal module package so everyone has their own copy locally. |
For the record WordPress is GPLv2 or later, you can do compatible extensions for it under GPLv3 that can include Apache License 2.0. But I concur that MIT goes much easier with GPL stuff. |
I am also coming from Drupal and would like to suggest dual license with MIT, or even re-license into MIT as like as that of bootstrap (twbs/bootstrap@cb40a2e). I would like to reference the complete discussion of bootstrap in here (twbs/bootstrap#2054) as your reference. |
If this is still a major issue, dual-licensing with MIT is ok with me. |
At least from a Drupal contributor point of view, Apache license must be a issue when we hope to contribute code to drupal.org GPL-only GIT repository (which we had already try to encourage ppl switch to GPLv3 for more than 2 years but not success). In case we can dual-licensing with Apache + MIT, the problem will be solved automatically. P.S. as your reference that the corresponding Drupal module for integrating less.js already completed (https://drupal.org/project/twbs_less); BTW, I can't submit less.js URL to drupal.org packaging whitelist (https://drupal.org/packaging-whitelist?title=less) since it is now under Apache license ;-( P.P.S. Drupal.org Library Packaging Whitelist request for including less.js is now submitted, too. |
Would we need to get a CLA signed by all contributors? or is it something we can just declare? |
Without prior agreement every contributor needs to agree to license change or their contributions need to be reverted and re-done. That's what took Bootstrap so long to deal with. |
All that is required is a simple "yes". So you have mine at least, yes. |
From twbs/bootstrap#2054 (comment)
|
I give some try to installation https://github.com/beberlei/license-manager on my local testbed and able to create a license switch project for less.js as below screenshot. If this tool looks good enough I will able to give a hand for install it under a public accessible domain name. Any idea? |
well we don't want to move to MIT, we want to dual-license right? |
Sass is MIT-licensed, so that's always an option for the CMSes. Although honestly, they're being way too paranoid+draconian. |
Is there any progress ? It would be a pity if lessjs would loose the "race" against sass only because of licence restrictions. |
It would be nice to get even a single line of feedback. Are there any thoughts about changing the licence ? |
It's all above I guess. As I see it, this is not going to happen until someone to sit and manage all those things required to get the change permission from every |
@Nueckman I do not mind adding another open source license to less or changing it to another standard open source one. @seven-phases-max Is it really necessary to hunt down every single small commit author for license addition? |
@SomMeri I'm not an expert at all, but according to above comments, twbs/bootstrap#2054 and similar issues found elsewhere - yes, it looks like so. P.S. Obviously you don't need to if you can manually go through each contribution and decide (after all a commit might even only remove some code :), but that looks to go even more tedious than simply contacting all of them ((semi?)-automatically). |
LGPL 2 / LGPL3 would be good. IMHO it is an excellent choice for community driven libraries. I do understand Stallman that he prefers the non L GPLs (see http://www.gnu.org/philosophy/why-not-lgpl.html ) but then you can't easily open source most commercial projects. On the other hand, LGPL as the ONLY license would oblige to give back on the LESS project itself. Perfect choice between how things should be (GPL) and how real world scenarios demands are (don't share, aka MIT). Thus instead of MIT/Apache2 AND GPL it would be much easier to just go with LGPL2 or LGPL3. |
@lukeapage Well as the main project's drivers/contributer(s) it is up to you to decide what should happen. I can't see why one would not want LGPL instead of MIT for LESS because there is little to gain if you keep your own LESS hacks secret from the main LESS project (is there?). So IMHO that would have been the best choice from the start. That being said, I have no idea how the legal implications for a CHANGE would be. My guess is: keep the old versions on MIT and only change the license on new versions. The only thing though is the possibility of a legal impact. But I can't see any impact (though I am not a lawyer): You can easily use LGPL in MIT based closed source commercial projects. The only audience that will have an impact when switching to LGPL would be a tiny one that:
Edit: And no, it is not about the compiled results. I am not sure if in legal terms but you are probably choosing a license for those code-generation results yourself. LESS.js is another thing but it is mostly a development tool right now. I have to say so that I could imagine shipping LESS.js along GPLed CMS/CRM/ERP whenever you have to do good content management and want a live preview of styled content. LESS.js could be utilized to do this live thing "live" and once the user saves the LESS css-preprocessor is run to generate the css. In this special case I can see license issues too. So the work that @hswong3i has done is probably required in any case. Either to do the switch OR to allow for a 2nd license. |
I would suspect that we only need to contact contributors if we're still using that code. Once Luke rewrote things for plugins, probably a lot, if not most, if not all, of those pieces were replaced. This is an open source project with no corporate interests. Is there a real concern by changing the license? If so, you could just run a "blame" on the whole project, could you not? And see if any line from a contributor other than Luke? |
Or that. Less 1.x could have had one license, and 2.x can have a different license. They're re-architected enough that they're unique projects. |
Version numbers are cheap. Switching licenses is a good enough reason to go with SemVer major +1 version I think. So Less 3.0 could utilize LGPL2/3 (or BSD/MIT) only. |
I can have a go at setting up https://github.com/beberlei/license-manager |
edited: I read this from my cell initially. I agree with virtually everything @ionas points about LGPL. I'm good with whatever the consensus is |
@jonschlinkert What has twitter to do with LESS in terms of an argument? Why is MIT superior to LGPL for a library/language/compiler like LESS? What do you gain by dual licensing instead of sticking just with LGPL (or MIT)? More hassle? |
What do commercial projects have to do with LESS?
|
@jonschlinkert Nevermind, I don't think we have an argument anyway. Sorry and NVM. Just imagine a company creating some pre-processor application and extending modifying LESS for that purpose and not giving back the changes to LESS compilers. That's sad and LGPL stops that, MIT does not. It is fine if people create proprietary management tools for LESS but the LESS compiler itself should not suffer from "free but worse VS proprietary and better" because of free-as-bike-riding-beer-drinking MIT issues. For me it is: LGPL3/LGPL2 > MIT > MIT + LGPL2/3 > MIT + Apache |
Too imaginary and too hypothetical bonus against real corks (while for sure LGPL is perfectly fine for JavaScript libraries, it's also extremely confusing for an average "scripting people" because of its quite-c/cpp-coupled terms and concepts: "linking", "header files", "object code" etc. For example, how many hours one will need to put into findings/research to make sure that by including |
Why are we diving off on this tangent (talking about the merits of LGPL)? Debating copyleft vs. permissive now is pointless. Less.js is Apache licensed and every release up to this point will remain available under an Apache no matter what new license is picked. Apache is a permisive license. And Less.js (along with the rest of the Node.js community, which I've noticed is primarily permissively licensed) has been doing quite fine so far with the permissive license. The only reason this bug was opened at all. Was because the Apache license gives some trouble to the GPLv2(+) based projects. Not because there was an overwhelming sentiment that Less.js should switch to a copyleft license. The only thing worth deciding, besides how to make the switch, is whether we Apache/LGPL2+ dual-license to fix the issue or drop down to MIT to fix it. Note that the Apache license includes patent protection which MIT doesn't. It's not exact, but you can consider Apache 2.0 to roughly equal MIT + Patent protection. So the question is basically do we ditch the patent protection (switch to MIT). Or try to keep it (dual-license with LGPL2+ to add GPL compatibility). |
Indeed. |
Why?
So I wonder why you want to stop the discussion @dantman as it is imho related and relevant. Side note 1: http://en.swpat.org/wiki/Patent_clauses_in_software_licences#LGPL_2.1 - I did not dig into LGPL3 but GPL3 did copy Apache 2's patent clauses it seems. |
Errr I've done that. The changes I made were not applicable to Less core. We want to adapt a license to prevent that? Why? What's the benefit to Less in being restrictive about its use? |
@matthew-dean well and the spirit of (L)GPL is to let the community of developers that created the foundation you used to work upon decide if those changes you did, are relevant to them, too. They worked for you, you are working for them. They can then learn and re-use. Improve and innovate, as you did. The MIT model clearly failed as you can see with Apple's Darwin. The benefit is very clear: If you are utilizing a (L)GPL'ed community effort you are obliged to share/give back. (L)GPL is basically a free-rider stop in the FOSS world. Well, its not up to me anyway, I'd still rather prefer one MIT license over a dual licensing model, it is just that I don't see why it should not be LGPL and the reason you stated above is actually a pro LGPL argument. |
Well as both a community manager and a user of Less, I'd prefer if people didn't submit changes that they knew to be irrelevant and ask me to decide about it, because that's more work for me. Sure, I'd love if people submit pull requests for things they feel are of a benefit, but I don't want to be one of the people that has to decide which it is, each and every time, for every change. I don't know much about licensing, but if that's what LGPL means, great then, consider me anti-LGPL. People are volunteering their time here. Adopting a license which necessitates using more of their time is not a fair exchange. I'm happy to contribute and help maintain Less because it's been tremendously useful to a lot of people. I don't really care if people use it to build a doomsday machine. As @seven-phases-max, all of these scenarios are hypothetical. As far as we know, no one yet has built a doomsday machine. So, rather than try to make something restrictive and have people ask permission for everything, it seems more of a community benefit to license as permissively as possible, without allowing someone else to release to the public something else called "Less.js" that uses our logo and assets and does the same thing. |
The whole sharing 'pollution' argument is void. Your changes just have to be LGPLed FOSS and distributed somehow. |
And if you want to protect a brand that has imho little to do with the compiler's source license. See how diffivult that is to pull of @ Firefox/Debian. |
Ok, I'm still against that. |
@lukeapage @jonschlinkert @seven-phases-max You're all for dual-licensing with MIT? |
Yes, cause you profit from free riding which LESS is probably creating a lot (for me too by just utilizing it). MIT vs GPL is always a matter of economical interests. Tjose doing the heavy lifting in recent LESS versions should decide if they rather have obligation to share of invisible free riders. I am done. I do really hope it gets to be One license only (MIT or LGPL). |
lol. I have? I should check my bank accounts. To be clear, this was more of an issue in Less 1.x, where there was no API to speak of, and many of Less's core functions were not exposed in the library. My change was to modify the browser version for an Adobe AIR environment, which had direct file access instead of HTTP requests. Yes, that code is available in a (free) open source project on Github, but I've no idea what license it would conform to as to how consumable it is. What I found more a benefit was to give input on design of an API with the ability to create file managers separate than just "Node" and "browser" JS environments, which isn't really "licensable". But that to me was the item of greater value - contributing in a design discussion for something that would benefit a greater number of people, rather than just slap code that only served my needs somewhere. So, I'm not sure how different licensing would have made any difference in that scenario, except a more restrictive licensing raising more questions as to the requirements & obligations of software authors. I think the more relevant point is in other projects (such as the top of the issue) where there is a direct conflict between licensing they've chosen and the Less license that prevents inclusion into other projects. So right now the problem reads as already one of too much obligation. Therefore, more obligation doesn't logically follow as the answer. |
As for the first point. GPL doesn't mean you have to prepare things on a dish. Nor does it mean you have to open up PRs. It just means that you are legally bound to share. If someone takes away LESS and builds a commercial compiled obstructated closed source app, adds some killer features and it becomes a new great pre-processor everyone has to pay for, then that's a real free rider issue. If someone simply hacks the compiler to do some other things, no one will complain "even if you don't share back". If you want to, you will have to distribute sources or links to those sources. You don't have to advertise or distribute nice sources, just sources. Issues arise when you are obliged to share sources and how to share them actually. But I'd rather have those small issues than free rider over-takings (think again OS X). As for your 2nd point: I do agree. |
@ionas Okay, that makes more sense. If I understand you correctly, someone would not have to open source their whole app, they would just need to re-share modifications to Less in some non-specific form? That seems fair. I'm just hoping we wouldn't get into a situation where it also means some other restriction we haven't thought of because we're not lawyers, and then we have to spend time discussing new licensing / getting permission again. So yes, I obviously agree someone shouldn't screw over the Less community, and I want us to be pragmatic about letting people do what they want outside of that, so that they're not afraid to use Less over other solutions. I think striking that balance is important. |
That is essentially the difference between GPL and LGPL. |
Got it. :-) |
Any progress being made here? Any way the community could help? |
@splitbrain Is there anything that needs to happen? |
@matthew-dean well... this ticket is still open. I think others here (and in linked tickets) have made clear that the Apache License is problematic when working with other Open Source licenses. What needs to happen are the following things I believe:
|
I support the LGPL. |
Some thoughts:
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Would you consider releasing LESS under GPL v2 (or something compatible with it, such as MIT), as well as the existing Apache 2?
The three big open source CMS's — WordPress, Joomla and Drupal — are all GPL2 only and thus can't incorporate this library easily, instead requiring users to manually come to github or http://lesscss.org and download it, and install it separately, which ultimately reduces adoption.
The text was updated successfully, but these errors were encountered: