Skip to content
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

Proposed license change to Apache-2.0 #997

Merged
merged 3 commits into from
Apr 29, 2024
Merged

Conversation

janfb
Copy link
Contributor

@janfb janfb commented Mar 18, 2024

Dear SBI contributors,

After extensive discussions, we, the initial copyright-holders of the sbi repository (Jan, Michael, Álvaro, Jan-Matthis, Conor, and Jakob), propose to relicense the sbi library under the Apache 2.0 license. Below, we provide the background and rationale for this change.

Proposed change

Up until now, the sbi repository was licensed under the AGPLv3 license which has a strong copyleft. We suggest changing the license to the Apache 2.0 license. The Apache 2.0 license is a permissive license, (like MIT or BSD3) and is also used in several other open-source projects such as PyMC or ArviZ.

Why do we want to change the license?

Many former sbi contributors have moved on from academia and into industry, but the strong copyleft of the AGPLv3 license restricts the use of the sbi toolbox in their new job: Corporate lawyers usually veto contributions to strong-copylefted code bases to avoid potential litigation. We know our current choice of license limits contributions from sbi users now with private companies and suspect that it might be a deterrent for future ones. After extensive discussions about the implications, we are suggesting to adopt a weak copyleft (‘liberal’ or ‘permissive’) license. We believe that the risk that companies use sbi without giving back to the community is worth the additional community buy-in we expect. We hope that looking at the affiliations of contributors over time will help us understand better this trade-off based on actual data.

Contributor approval for license change

A license change requires the consent of all copyright holders. Each individual who has contributed code to the sbi repository holds the copyright for their specific contribution. As such, we need unanimous agreement from all contributors for the proposed license change (minor amendments, such as typo corrections, do not fall under this rule). Thus, we kindly ask all contributors to express their views on the proposed license change, either by approving this pull request, commenting below that they agree, or by starting a discussion if they have any concerns.

Thank you very much and all the best!
Jan, Michael, Álvaro, Jan-Matthis, Conor, Jakob

@janfb janfb requested a review from a team March 18, 2024 09:37
@janfb janfb force-pushed the license-change-apache-2.0 branch from 2caccf0 to 653a063 Compare March 18, 2024 09:38
@janfb
Copy link
Contributor Author

janfb commented Mar 18, 2024

Tasks:

  • change license comments on top of each file to Apache 2.0
  • make sure all files have license comment on top
  • update license statements in Readme and Docs
  • update changelog with new license

@janfb
Copy link
Contributor Author

janfb commented Mar 18, 2024

Copy link

codecov bot commented Mar 18, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 77.03%. Comparing base (4c2f71e) to head (27b308b).
Report is 41 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #997      +/-   ##
==========================================
+ Coverage   76.37%   77.03%   +0.65%     
==========================================
  Files          84       90       +6     
  Lines        6507     6615     +108     
==========================================
+ Hits         4970     5096     +126     
+ Misses       1537     1519      -18     
Flag Coverage Δ
unittests 77.03% <ø> (+0.65%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
sbi/__version__.py 100.00% <ø> (ø)
sbi/analysis/conditional_density.py 82.53% <ø> (ø)
sbi/analysis/plot.py 71.18% <ø> (ø)
sbi/analysis/sensitivity_analysis.py 18.63% <ø> (ø)
sbi/analysis/tensorboard_output.py 86.58% <ø> (ø)
sbi/diagnostics/sbc.py 95.34% <ø> (ø)
sbi/inference/abc/abc_base.py 26.98% <ø> (+1.17%) ⬆️
sbi/inference/abc/mcabc.py 17.54% <ø> (+1.47%) ⬆️
sbi/inference/abc/smcabc.py 11.92% <ø> (+0.40%) ⬆️
sbi/inference/base.py 92.72% <ø> (+5.63%) ⬆️
... and 52 more

... and 2 files with indirect coverage changes

@jahma
Copy link
Contributor

jahma commented Mar 18, 2024

Yes, I fully approve this change, and believe it would be important to keep the sbi toolbox sustainable!

@psteinb
Copy link
Contributor

psteinb commented Mar 18, 2024

This sounds great. I 100% support this.

@gmoss13
Copy link
Contributor

gmoss13 commented Mar 18, 2024

I approve this change, thanks @janfb!

@rdgao
Copy link
Contributor

rdgao commented Mar 18, 2024

approved!

@danielmk
Copy link
Contributor

I am in favor of commercially permissive licenses. Personally I use MIT most of the time for my small projects but I fully support the change to Apache-2.0 for sbi.

@ADelau
Copy link
Contributor

ADelau commented Mar 18, 2024

approved.

@famura
Copy link
Contributor

famura commented Mar 18, 2024

Very much in favor of this change 👍

@MilesCranmer
Copy link
Contributor

Approve

Copy link
Contributor

@lappalainenj lappalainenj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approve

@Ziaeemehr
Copy link
Contributor

Approve also.

@JuliaLinhart
Copy link
Contributor

I approve!

@conormdurkan
Copy link
Contributor

Approve

@janfb janfb mentioned this pull request Mar 18, 2024
1 task
@jan-matthis
Copy link
Contributor

Approve

@ybernaerts
Copy link
Contributor

approved!

@tbmiller-astro
Copy link
Contributor

Happy to approve!

@dgreenberg
Copy link
Contributor

I approve of this

@janfb
Copy link
Contributor Author

janfb commented Mar 22, 2024

@narendramukherjee @harry-fuyu @VictorSeven @LouisRouillard

@narendramukherjee
Copy link
Contributor

Sounds good to me!

@LouisRouillard
Copy link
Contributor

LGTM!

@milagorecki
Copy link
Contributor

I approve

@VictorSeven
Copy link
Contributor

I think this is a good change, approved

@harry-fuyu
Copy link
Contributor

LGTM! Thank you!

@janfb janfb force-pushed the license-change-apache-2.0 branch from e9579c0 to 77e5082 Compare April 3, 2024 09:51
@janfb janfb force-pushed the license-change-apache-2.0 branch from 77e5082 to c523f1d Compare April 3, 2024 09:53
@alvorithm
Copy link
Contributor

While in general I remain a proponent of strong copyleft licenses, I also wholeheartedly share the goal to make sbi (and pyknos) approachable for a wider community of users and developers. Acknowledging compelling arguments made by fellow team members, I am now keen to find out in practice to what extent adopting a weaker copyleft for these projects might help to that end.

Hence, I approve relicensing sbi under the Apache 2.0 license.

@janfb
Copy link
Contributor Author

janfb commented Apr 29, 2024

The change from AGPLv3 license to Apache v2 license has been approved by all contributors.

@janfb janfb merged commit 9a8c7c0 into main Apr 29, 2024
5 checks passed
@janfb janfb deleted the license-change-apache-2.0 branch April 29, 2024 11:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.