Closed nolankramer closed 5 months ago
As you said I think that if someone wants to contribute he will do it, regardless of the license.
In any case is important to maintains the copyright of the work, just for acknowledgment.
So for me MIT
license is already a good license ( the choice of AGPL3.0 is obsolete by this time ).
If we want to work in the middle also MPL2
and ApacheV2
are a good option!
So if we want to maintain a little more restriction we can use MPL2
, in the other case we can use the MIT
.
My ranking actually is the following:
We can wait @sbaldu opinion and the modify the License.
I agree, MIT
and MPL
are the best options. The project is getting large, so maybe if many people start using it MPL
would be better.
So we want to Change this license?
I think that we should.
The only problem that a collegue of mine pointed out is that in order to change the license we should ping to this issue all the past contributors and ask for their consent, because their changes were implemented under the AGPL
license, which is copyleft. Do you agree @ZigRazor @nolankramer ?
@sbaldu That sounds right to me.
Looks like another project solved this recently: https://github.com/Technologicat/pyan/issues/68#issuecomment-852888394
They had contributors post a message "I approve re-licensing my contributions to <Project Name>
under the <License Type>
license."
They also kept track with a checklist in the post, printed out the final result to a file, and checked it into the repo.
@sbaldu That sounds right to me.
Looks like another project solved this recently: Technologicat/pyan#68 (comment)
They had contributors post a message "I approve re-licensing my contributions to
<Project Name>
under the<License Type>
license."They also kept track with a checklist in the post, printed out the final result to a file, and checked it into the repo.
Yep, that looks like exactly what we want.
So we can proceed. @nolankramer can you take care of this?
As this project has grown, we would like to change the license from a copyleft (restrictive) license to a more permissive license. After discussion, we have decided that Mozilla Public License 2.0 (MPL) is the right direction forward, due to the following reasons:
A general FAQ on MPL2 can be found here: https://www.mozilla.org/en-US/MPL/2.0/FAQ/
Switching from a copyleft license requires a good-faith attempt to get all contributors to sign-off on the license change.
To agree, simply comment in this issue (https://github.com/ZigRazor/CXXGraph/issues/427), the following:
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
To disagree, simply comment in this issue (https://github.com/ZigRazor/CXXGraph/issues/427), the following:
I do not approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
We recommend agreeing, as we believe it will increase adoption, and you as a contributor will benefit in-terms of open source contribution visibility.
If you do not agree or disagree within 30 calendar days, from this Monday, May 6 2024, we will assume you have agreed.
If we agree, we will take a snapshot of this webpage and check it into the repo, and swap out the license.
If we disagree, who knows. Some members may try to convince a change of mind, or nothing will happen.
Contributors that have agreed in a comment below, will have their handle checked here.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
Contributor request to change CXXGraph license from AGPL-3.0 to MPL2
As this project has grown, we would like to change the license from a copyleft (restrictive) license to a more permissive license. After discussion, we have decided that Mozilla Public License 2.0 (MPL) is the right direction forward, due to the following reasons:
1. AGPL restricts who can benefit from this library, due to it's "viral" nature 2. MPL2, being permissive, allows closed-source projects to benefit from the library under the following condition: a. They must publish _their_ version of CXXGraph, such that users can see any alterations done to the library (including fixes and new algorithms) b. They can link and statically link to the project with no requirement to release their entire works. They must only publish any modifications to the files covered by the MPL2 in CXXGraph (which is covered by a.) 3. We want to encourage more adoption, but also have the right to see fixes and new algorithms that should be part of this library. Closed-source users still have the option of developing their algorithms outside of the library if it is "secret sauce" - however MPL2 encourages sharing fixes at the least.
A general FAQ on MPL2 can be found here: https://www.mozilla.org/en-US/MPL/2.0/FAQ/
Why am I getting tagged?
Switching from a copyleft license requires a good-faith attempt to get all contributors to sign-off on the license change.
How do I agree, or disagree?
To agree, simply comment in this issue (#427), the following:
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
To disagree, simply comment in this issue (#427), the following:
I do not approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I don't care either way, what should I do?
We recommend agreeing, as we believe it will increase adoption, and you as a contributor will benefit in-terms of open source contribution visibility.
If you do not agree or disagree within 30 calendar days, from this Monday, May 6 2024, we will assume you have agreed.
What happens if we agree/disagree?
If we agree, we will take a snapshot of this webpage and check it into the repo, and swap out the license.
If we disagree, who knows. Some members may try to convince a change of mind, or nothing will happen.
Contributor checklist (to only be modified by either @ZigRazor @sbaldu or @nolankramer)
Contributors that have agreed in a comment below, will have their handle checked here.
* [x] @ZigRazor * [x] @sbaldu * [x] @nolankramer @nrkramer * [x] @sidml * [x] @AlfredCP * [ ] @badumbatish * [ ] @ErikDervishi03 * [ ] @pradkrish * [ ] @suncanghuai * [ ] @guru2396 * [x] @AryanGitHub * [ ] @Dishantdhillon * [ ] @pavan-pan * [ ] @perhapsmaple * [ ] @Grufoony * [ ] @amerinor01 * [ ] @dvd2000 * [x] @Adda0 * [ ] @Adw8 * [ ] @thesmartdeveloperr * [x] @sarthak17jain * [ ] @arjunkumar09 * [ ] @daniepin * [x] @aengusjiang * [ ] @joechai93 * [ ] @oliviacarino * [ ] @Sandeep-BlackHat * [x] @Gonzalo-Mier * [ ] @SaloniThete * [ ] @edogawashinichi * [ ] @kamari-a * [ ] @carlosfrodrigues * [ ] @MrDragon1 * [ ] @bbannier * [ ] @fajlip
I removed @gitter-badger
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
@nolankramer @sbaldu I think we can proceed. @nolankramer can you take care of this?
@nolankramer @sbaldu I think we can proceed
Maybe we can re-ping the remaining contributors? Just to be sure.
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
@nolankramer @sbaldu What we want to do? We can procede?
I approve re-licensing my contributions to CXXGraph under the Mozilla Public License 2.0.
Sorry for the delay here folks. Will try to get to this later today (Wednesday). Been busy.
It has been at-least 30 days since we announced intention to change licensing with a good-faith attempt to reach all contributors before then, and therefore we will assume the remaining contributors have agreed (since we have seen no disagreement).
Therefore, with a unanimous agreement, we will now change the license of CXXGraph to MPL-2.0.
I will open a PR with the change, and check-in a copy of this webpage to keep history of this change.
Addressed with https://github.com/ZigRazor/CXXGraph/pull/450
cc @ZigRazor @sbaldu
What is the general direction this project should go? OSS-copyleft? FOSS? Doesn't matter?
FWIW, I like MPL2 the most for a project like this. There doesn't seem to be a strong reason to force users to be in the copyleft camp, unless we want to strictly push the idea that this code can only be used in OSS. We can also capture commercial users and force them to publish modifications to CXXGraph.
I typically look to the Linux kernel as an good example of needing copyleft - a project that should remain free, and anything that contributes to it or modifies it (with the idea that the majority of the work will be re-used) should also be free and freely contributable. It also enforces the idea that anything combined or derived from it, therefore becoming a relied-on extension of it becomes free and modifiable. A bit like ensuring that it's easy to tinker with after getting it.
One thing I don't like about most GPL copy-left software is that it forces entities or persons to release the entirety of their own code upon distribution, even if they did not modify the original works. This is due to a "combined works" clause, which typically encompasses header inclusion or linkage. MIT/ISC avoids this mess, but misses out on modified works being public.
Typically if there is a great fix, I've found that most people will good-naturedly contribute it upstream, as maintaining the fix separately from upstream is a pain. LGPL is nice in that it allows commercial usage if there is a way to re-link against a modified version of the library (enabling users to fix issues themselves).
Currently, to my knowledge, there doesn't seem to be any license that allows commercial usage with closed-source code and only enforcing publications of modified library code (i.e. closed-source entities can keep their code stack separate, and if they make a great fix to CXXGraph, they have to publish it). See https://opensource.stackexchange.com/questions/13021/correct-license-for-header-only-library. EDIT below invalidates this belief
A "halfway" solution to the split nature of copy-left vs FOSS is dual-licensing. That is, licensing under both a GPL-like and MIT-like license, and letting the user choose based on their needs. I say "halfway", because it doesn't force entities to contribute good fixes upstream (although it's prudent for entities to do that regardless, some entities would prefer to keep their "super ultra secret magic sauce" algorithms to themselves, even if they really aren't that magic and can be easily reverse-engineered...). I've seen some projects dual-license. But more or less, it's the same as just going full-on permissive as the choice is up to the user.
If we really just don't want to care about any of this, I recommend MIT and let the winds take us where they may.
Edit
It looks like Mozilla Public License 2.0 (MPL2) might actually be the best option, as "It's a file-level weak copyleft license. Copyleft applies only to individual files." (https://opensource.stackexchange.com/questions/14122/gpl-and-linking-exceptions/14126#14126)
Which is perfect for enabling commercial users to keep their secrets, but contribute upstream in some form.
This is now my favored option for this library.