boutproject / xBOUT

Collects BOUT++ data from parallelized simulations into xarray.
https://xbout.readthedocs.io/en/latest/
Apache License 2.0
21 stars 10 forks source link

License should be the same as BOUT-dev? #23

Open TomNicholas opened 5 years ago

TomNicholas commented 5 years ago

Presumably we should change the licence on this repo (from Apache) to the same GNU one that BOUT-dev has?

johnomotani commented 5 years ago

BOUT++ is LGPL, I think for historical reasons... I think the preference for new code would be GPLv3 (see HERMES, SD1D, STORM), unless we want to include any code that's not GPLv3-compatible.

bendudson commented 5 years ago

There is some discussion of the compatibility of LGPL and Apache licenses here: https://opensource.stackexchange.com/questions/5664/linking-from-lgpl-2-1-software-to-apache-2-0-library

I don't think it's necessary to change the license; the xBOUT library reads the data from BOUT++, so is not really part of the same code.

Personally I'd be quite happy with LGPL, but it might be good if we kept PlasmaPy in mind. That library is under 3-clause BSD. Sorry to add another possibility, but it seems like Apache is compatible with BSD (https://softwareengineering.stackexchange.com/questions/40561/is-bsd-license-compatible-with-apache).

On balance I think sticking with Apache is probably best, followed by maybe BSD, followed by LGPL. Of course I am not a lawyer...

bendudson commented 5 years ago

It's true that most physics models have been put under GPL licenses, but these are more like finished codes which should be forced to be open (I think). There is an argument that library code like this should have a more permissive license to enable wider use.

ZedThree commented 5 years ago

BOUT++ LGPL so that if you dynamically link against it your code doesn't have to also be LGPL, e.g. as an optional plug-in.

I'd be happy with LGPL for xBOUT, but sticking with Apache is also acceptable.

rdoyle45 commented 4 years ago

This should probably be resolved before #6 is done.

dschwoerer commented 4 years ago

Note that including boutcore could cause that it needs to be (L)GPL ...

dschwoerer commented 4 years ago

Sorry, should correct that. It doesn't need to be (L)GPL, but it needs to be compatible with GPL, if we want to provide a close coupling between boutcore and xbout, because in that case the GPL license from fftw will apply to BOUT++, making the compiled BOUT++ GPL, and that requires xbout to be GPL as well.

rdoyle45 commented 4 years ago

@bendudson suggested sticking with Apache, but if David is right and the compiled version of BOUT++ is under the GPL we would have to change to a GPL compatible license. Is this the case? Any thoughts @ZedThree @johnomotani @TomNicholas ?

dschwoerer commented 4 years ago

According to this and this ASL-2.0 is compatible with GPL v3.

I think GPL is great because it ensures not only that xBOUT itself is and stays free software, but also can encourage other projects to pick a free license as well. Of course, there is the potential of conflicting, free licenses ...