-
Notifications
You must be signed in to change notification settings - Fork 26
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
License Change: GPLv3 #751
Comments
Thanks for bringing this discussion into the public.
I do not consider extensions as configuration but it is basically the business logic of an application resp. enforcing such. In extensions someone might call other APIs, having an arbitrary algorithm based on current OIDC token or even the current GraphQL context. Much more than just some simple static defines they are talking about it in the case of Drupal.
I couldn't agree more that the risk of take over is fairly low, because I think an open source project is not just code but much more its community. If someone wants to carry their own patches they will diverge from upstream project quickly and it will cost them more to update their code base than just bringing their patches upstream into the community. However GPL might make adaption still harder then it should be. Especially as I consider extensions as being linked to the project such would need to be licensed underneath GPL as well and given at least to the direct customer. For some software companies this might not be feasible because of existing contracts or internal politics. Such company might still be a valid community member though. Even though I could live with Caluma being licensed underneath GPL I still want to advocate that we leave politics and ideology aside and put Caluma's community at the center by continuing using the MIT license. |
We are not doing the licensing for other people, we do it for us and our customers. As clearly stated in our manifesto, There is no obstruction when we use GPL. Just like everybody can use gcc. The Web-API is our interface and it is not limited by GPL. No distribution of code: no problem. Yes GPL. AGPL on the other hand limits the API, has difficult edge cases and is not enforceable at all. Therefor no AGPL. MIT is a big risk for the customer, since it allows hostile take overs (AOO -> LO), I would not recommend anything less than GPL. We have some customers that run into this problem and it was very expansive for them. No MIT Also this is about politics and ideology, we as company want to send a clear signal, that we support Free Software, and that we are not supporting big-capital-IT to freeload on Free Software, which is at currently a very very worrying problem. @nikslor I am also ok, to go more permissive (LGPL? MPLv2?) for the frontends, since they only will work with Caluma, which is GPL. |
I am not against GPL but my point I was trying to make is that there has to be a solution for the Python Caluma extensions API to use GPL (or of course AGPL for that matter) or otherwise it adds legal uncertainties to potential adopters.
This is currently the solution stated in the README.md for the extensions issue. My concerns:
I guess the whole issue is that the Caluma extension API does not clearly separate configuration and code. So the solutions I see:
These are just some thoughts. Maybe there are other suggestions how to solve the extensions issue but I think this point needs to be addressed properly if AGPL or GPL is chosen as a license. |
TLDR: Switch to GPLv3 no further actions required, @sliverc concerns only apply to AGPL.
I decided to answer this completely different (sorry for the ideology I still mean it, but it's a moot point now): In my first answer I missed one point, there is actually no problem about config at all, because we move away from AGPL. The user: The company or organisation running Caluma on their servers.
So the user has a lot of freedom, but hostile take over and freeloading is prevented. So there is actually nothing we have to worry about. |
Goals formed in live and email discussionsBased on the discussion in this issue, we reevaluated our goals. We want
We found that the definitions in AGPL aren't as clearcut as we wished; therefore, we want to switch to GPL-3.0-or-later. GPL will support all of our goals, with a minor draw-back: Not every last modification is guaranteed to end up in public. Which isn't that bad and it resolves all discussion about configuration. What GPL-3.0-or-later means for CalumaThe following summary is not legally binding, please referer to the GPL-3.0-or-later license. You are free to modify and extend Caluma as you wish. You can integrate Caluma with any software you wish. If you publish or sell
you have to make the source-code of these modifications available under GPL-3.0-or-later or a compatible license. |
Is now merged and released as version 3.0.0 |
After the change of the license last week from MIT to AGPLv3, we received some valued feedback. For this reason, we're now opening the discussion to make a small step back and use the "normal" GPLv3 instead.
Why we chose the AGPL
We as an organisation have a strong opinion towards open source and free software. We want to live the philosophy as much as we can.
The AGPL is a rather strict license. In addition to the GNU GPL, you are
required to provide your changes in the source code not only to the "direct"
user, but to users accessing the software via a network as well.
Or as is explained here:
This allows such companies to "take" GPL code, modify it and provide it to their users without the actual users benefitting from the software's license, as is the GPL's intention.
Our goal is to build a strong community around Caluma, and we feel that we should do everything to help this goal come along. Part of it is having a good license that incentivizes people to contribute back.
Feedback
The feedback we received after the change to AGPL was quite valuable. We learned of a few situations that we didn't consider before that maybe we should have.
The move to AGPL was also discussed "behind closed doors", opposing the open culture we want to nourish. We try to right this by documenting the reasons in #749.
I'll address the feedback we got in the following points
Licensing of extension points
Due to the strictness of the AGPL, one could consider that extensions, such as visibility and permissions would be "infected" by the AGPL and would thus need to be shared to the end users. This would be problematic as it could expose internal workings of IT infrastructure, or logic that is definitely not intended for the public.
While it is true that it is python code called directly from Caluma, we still consider those modules to be configuration. A config file can easily be excluded from such license claims - you wouldn't share your
/etc/shadow
for example.Other projects, such as Drupal, do the same in practice:
Straigh-out blacklisting of AGPL code
While it took a few decades for free software to become acceptable in the commercial world, the AGPL is considered by many legal departements as "too dangerous", as it may easily "infect" parts that shouldn't be made public. While we feel that technically, for Caluma this wouldn't be the case, we still have to deal with the fact that some organisations that could benefit from Caluma do have the license blacklisted explicitly.
For example, google has their AGPL policy available online, stating very clearly:
Other organisations have similar limitations. Working to change those policies is in most cases not worth the effort and may do more harm than good with regards to Caluma's adoption.
Contribution Agreements
Code that is contributed by community members will be licensed under the AGPL as well. This may limit implementors if they for some reason need to deploy a modified version of Caluma, even though the goal, as noted in #749, is to incentivize people to use the available official interfaces.
Risk overestimate
The main reason we chose the AGPL over the GPL was to avoid the SaaS loophole as described above. However, after some further discussion, we probably assessed the risk way higher than it actually is. How much harm does really come to Caluma and it's community by some SaaS taking an undue profit from it? And how much better could Caluma be if it is instead adopted by some organisations that (rightfully) are wary of the AGPL's implications?
Decision
For the above reasons, we plan to change the license again, soon, to a more "acceptable" GPL v3. Learning from the mistakes of the first license change, we want to make the decision process public, and thus, this issue was created.
Feedback is welcome! If you have any more input (or disagreement) regarding the change towards GPL v3, please leave a comment below.
The text was updated successfully, but these errors were encountered: