satpy icon indicating copy to clipboard operation
satpy copied to clipboard

Relicense to Apache Version 2

Open djhoese opened this issue 2 months ago • 98 comments

Overview

The maintainers of this project and some leading members of the Pytroll organization would like to re-license the satpy Python package. We would like to first ask for opinions and permission from existing contributors of the project before making this change official. The software source code would change from a GPL Version 3.0 or Later license to an Apache Version 2 license. A simple non-exhaustive summary of these licenses and their differences can be found at the following URLs along with the full text of the license:

https://www.tldrlegal.com/license/gnu-general-public-license-v3-gpl-3

https://www.tldrlegal.com/license/apache-license-2-0-apache-2-0

Purpose

By moving away from the current GPLv3 license to a more permissive license we hope to encourage more collaboration. We also hope this opens the doors for more funding opportunities as some grants have explicitly not funded non-permissive/copyleft licenses like GPLv3.

This re-licensing does not change any understanding or assignment of copyright for this project. Copyright notices will remain with the collective "satpy developers" identifier.

Why not license X?

The Apache Version 2 license was chosen because it is a permissive and open license like the MIT or BSDv3 licenses. It has the additional requirement that any modified files must "carry prominent notices" stating that changes were made to the original work. Lastly, Apache Version 2 is a very popular license even if other licenses may provide similar permissions and restrictions.

What do we want from you (an existing contributor)?

Please comment on this GitHub issue or contact a project maintainer (see contributor list below) with your approval (ex. "I approve") or disapproval (ex. "I do not approve") or other feedback about this planned re-licensing. We can contact contributors by email if necessary or requested.

Contributor and Approval List

  • [x] @djhoese (maintainer)
  • [x] @adybbroe (maintainer)
  • [x] @ameraner (maintainer)
  • [x] @gerritholl (maintainer)
  • [x] @mraspaud (maintainer)
  • [x] @pnuu (maintainer)
  • [x] @sfinkens (maintainer)
  • [x] @strandgren (maintainer)
  • [ ] @AppLEaDaY
  • [x] @ArrayBolt3
  • [x] @BENR0
  • [x] @BengtRydberg
  • [x] @ClementLaplace
  • [x] @ColinDuff
  • [x] @Graenni
  • [x] @Isotr0py
  • [ ] @katherinekolman
  • [x] @KatrinPoepp
  • [ ] @Kexin828
  • [x] @LocutusOfBorg
  • [x] @LTMeyer
  • [x] @Nalin7parihar
  • [ ] @StefanSnippetCoder
  • [x] @TalfanBarnie
  • [x] @TAlonglong
  • [x] @YouvaEUMex
  • [x] @abrammer
  • [ ] @akshgpt7
  • [ ] @alishahusain
  • [ ] @aronnem
  • [x] @avalentino
  • [ ] @bertilhatt
  • [x] @bkremmli
  • [x] @blaylockbk
  • [x] @bmu
  • [x] @bornagain1981
  • [x] @ch-k
  • [ ] @chorng
  • [x] @christianversloot
  • [x] @deeplycloudy
  • [ ] @dnaviap
  • [x] @duncanwp
  • [x] @egede
  • [ ] @esn (mpop only)
  • [ ] @eysteinn
  • [x] @fwfichtner
  • [x] @ghiggi
  • [ ] @ghislainp
  • [x] @goodsonr
  • [x] @guidocioni
  • [ ] @gvozdikb
  • [ ] @hazbottles
  • [x] @helgaweb
  • [x] @honnorat
  • [x] @howff
  • [ ] @jackieleng
  • [x] @jactry
  • [x] @jeanlucshaw
  • [x] @jequierz
  • [x] @jhbravo
  • [x] @jkotro
  • [x] @jleinonen
  • [x] @jlubbersgeo
  • [x] @johannesocean
  • [x] @joleenf
  • [x] @jon4than
  • [x] @k3a
  • [ ] @lamby
  • [x] @lmeru
  • [x] @lobsiger
  • [x] @loerum
  • [ ] @longtsing
  • [x] @loreclem
  • [x] @ludwigVonKoopa
  • [x] @m4sth0
  • [x] @manucarran
  • [x] @martin-rdz
  • [x] @marty-sullivan
  • [ ] @mataeui
  • [x] @memamm
  • [x] @meteoswiss-mdr
  • [x] @mherbertson
  • [ ] @mitkin
  • [x] @nedelceo
  • [x] @ninahakansson
  • [ ] @oananicola
  • [x] @observingClouds
  • [x] @pdebuyl
  • [ ] @pepephillips
  • [x] @peters77
  • [x] @pkhalaj
  • [x] @pjuda
  • [ ] @praerien
  • [ ] @ralphk11
  • [x] @raybellwaves
  • [x] @rayg-ssec
  • [x] @rdaruwala
  • [x] @roche-emmanuel
  • [ ] @roquetp
  • [x] @rutj3
  • [x] @samain-eum
  • [ ] @sbrodehl
  • [x] @sebastic
  • [x] @seenno
  • [x] @seidlj
  • [x] @sgxl
  • [x] @shornqui
  • [x] @simonreise
  • [x] @simonrp84
  • [x] @sjoro
  • [x] @springfieldpsk
  • [x] @storpipfugl (mpop only)
  • [ ] @suyashb95
  • [ ] @system123
  • [x] @timhewison
  • [x] @tommyjasmin
  • [ ] @tparker-usgs
  • [x] @tsukada-cs
  • [x] @uhamann
  • [x] @verduijn
  • [ ] @wjsharpe
  • [x] @wroberts4
  • [x] @yufeizhu600
  • [x] @yukaribbba
  • [x] @zxdawn

If I missed marking anyone as a "maintainer" above, sorry, I'm going based on GitHub permissions.

Additional names that show up in the git log but are mostly or most-likely mpop commits for code that is no longer present:

  • Guido Della Bruna
  • safusr.u (only merge commits to mpop?)
  • Scott Macfarlane (one typo fix in mpop that is no longer included)

djhoese avatar Oct 12 '25 18:10 djhoese

I approve.

I'm a little worried that GitHub has a mention limit. We may need to split this into multiple issues if so.

djhoese avatar Oct 12 '25 18:10 djhoese

I approve.

(I feel a bit silly even explicitly saying this, I didn't hardly do anything except try to help fix one bug :P)

ArrayBolt3 avatar Oct 12 '25 18:10 ArrayBolt3

I approve

avalentino avatar Oct 12 '25 18:10 avalentino

I approve

bmu avatar Oct 12 '25 19:10 bmu

I'm a contributor? That seems like a stretch 😁 I obviously approve

guidocioni avatar Oct 12 '25 19:10 guidocioni

I approve.

My tiny contribution has since been replaced, so somewhat unccessary approval.

abrammer avatar Oct 12 '25 19:10 abrammer

I approve.

christianversloot avatar Oct 12 '25 19:10 christianversloot

I approve

Graenni avatar Oct 12 '25 20:10 Graenni

I approve

egede avatar Oct 12 '25 20:10 egede

Second batch of names from above that GitHub didn't want to mention. Let's see if this works...

  • [ ] @gvozdikb
  • [ ] @hazbottles
  • [x] @helgaweb
  • [x] @honnorat
  • [x] @howff
  • [ ] @jackieleng
  • [x] @jactry
  • [x] @jeanlucshaw
  • [x] @jequierz
  • [x] @jhbravo
  • [x] @jkotro
  • [x] @jleinonen
  • [x] @jlubbersgeo
  • [x] @johannesocean
  • [x] @joleenf
  • [x] @jon4than
  • [x] @k3a
  • [ ] @lamby
  • [x] @lmeru
  • [x] @lobsiger
  • [x] @loerum
  • [ ] @longtsing
  • [x] @loreclem
  • [x] @ludwigVonKoopa
  • [x] @m4sth0
  • [x] @manucarran
  • [x] @martin-rdz
  • [x] @marty-sullivan
  • [ ] @mataeui
  • [x] @memamm
  • [x] @meteoswiss-mdr
  • [x] @mherbertson
  • [ ] @mitkin
  • [x] @nedelceo
  • [x] @ninahakansson
  • [ ] @oananicola
  • [x] @observingClouds
  • [x] @pdebuyl
  • [ ] @pepephillips
  • [x] @peters77
  • [x] @pkhalaj
  • [x] @pjuda
  • [ ] @praerien
  • [ ] @ralphk11
  • [x] @raybellwaves
  • [x] @rayg-ssec
  • [x] @rdaruwala
  • [x] @roche-emmanuel
  • [ ] @roquetp
  • [x] @rutj3

djhoese avatar Oct 12 '25 22:10 djhoese

Third batch:

  • [x] @samain-eum
  • [ ] @sbrodehl
  • [x] @sebastic
  • [x] @seenno
  • [x] @seidlj
  • [x] @sgxl
  • [x] @shornqui
  • [x] @simonreise
  • [x] @simonrp84
  • [x] @sjoro
  • [ ] @springfieldpsk
  • [x] @storpipfugl (mpop only)
  • [ ] @suyashb95
  • [ ] @system123
  • [x] @timhewison
  • [x] @tommyjasmin
  • [ ] @tparker-usgs
  • [x] @tsukada-cs
  • [x] @uhamann
  • [x] @verduijn
  • [ ] @wjsharpe
  • [x] @wroberts4
  • [x] @yufeizhu600
  • [x] @yukaribbba
  • [x] @zxdawn

djhoese avatar Oct 12 '25 22:10 djhoese

I approve.

jon4than avatar Oct 12 '25 22:10 jon4than

I approve

goodsonr avatar Oct 12 '25 22:10 goodsonr

Oh wow, what a throwback :)

I too approve

rdaruwala avatar Oct 12 '25 22:10 rdaruwala

I approve

jhbravo avatar Oct 12 '25 22:10 jhbravo

I approve.

rayg-ssec avatar Oct 12 '25 22:10 rayg-ssec

I approve

simonreise avatar Oct 12 '25 23:10 simonreise

I approve.

However, this may have a cascading effect, as it might require adjustments to the licenses of the following libraries under pytroll (I'm not sure if any other libraries using the GPL license are involved):

pyorbital:GPL v3 pyspectral:GPL v3

For reference only, the following library is unaffected: pyresample: LGPL v3

sgxl avatar Oct 13 '25 00:10 sgxl

@sgxl You will find those libraries also have related issues as well as trollsift (which was recently released with Apachv2), trollimage, and python-geotiepoints. Thanks for checking and approving.

djhoese avatar Oct 13 '25 00:10 djhoese

I approve

jlubbersgeo avatar Oct 13 '25 01:10 jlubbersgeo

Approved.

Man I need to use satpy more

raybellwaves avatar Oct 13 '25 01:10 raybellwaves

Approve +1!

Isotr0py avatar Oct 13 '25 02:10 Isotr0py

I approve

mherbertson avatar Oct 13 '25 02:10 mherbertson

Again a trivial change, likely not copyrightable but if it is, I'm fine with the relicensing.

sebastic avatar Oct 13 '25 03:10 sebastic

I approve

blaylockbk avatar Oct 13 '25 04:10 blaylockbk

I approve

peters77 avatar Oct 13 '25 04:10 peters77

I approve

seidlj avatar Oct 13 '25 04:10 seidlj

I approve

observingClouds avatar Oct 13 '25 04:10 observingClouds

I approve

tsukada-cs avatar Oct 13 '25 05:10 tsukada-cs

I approve

pnuu avatar Oct 13 '25 05:10 pnuu