Comments (6)
The GPL is restrictive in the sense that enforces the "open source" idea. That means that, if you use a GPL library in you need to make the source code available also.
An alternative is the GNU Lesser General Public License (LGPL). With that license, applications that use the library don't have to be redistributed under LGPL. That means, you don't need to distribute the surce code if you are only using the library. You only need to do it if you distribute a derived work.
Another license that I personally like is BSD-3. It allows almost unlimited freedom as long as you include the pysteps copyright and a copy of the license when you distribute any derivative work.
BSD-3 is similar to the MIT license, but BSD don't allow to use the name of the copyright holder nor the names of its contributors to endorse or promote products derived from this software without permission.
We need to discuss how "permissive" we want the license to be, and then, choose the license accordingly. I personally prefer permissive licenses.
To serve as a reference, below a list of opensoure package and their respective licenses.
- py-art: Looks like a BSD-3 license.
- pandas: BSD-3
- numpy: Looks like a BSD-3 license.
- xarray: Apache License
- BALTRAD: (LGPL)
- wradlib: MIT license.
- PyRadarMet : GPL
- WRF model: Public domain
from pysteps.
Sorry that I said I would bring this up but didn't, as I was too busy over the past couple of weeks. Thanks @dnerini for taking the initiative.
From the perspective of a potential user, we can happily use it as long as it's not strictly GPL.
from pysteps.
No worries @wcwoo, I decided to open the issue myself as I think it is something important to be discussed here. Thank you for having mentioned this issue in the first place.
And thanks @aperezhortal for the exhaustive overview. From my side this is now pretty clear: if the aim of pysteps is to become a general library for nowcasting purposes and related applications, then GPL is too restrictive as it would limit its use in non-GPL softwares.
This said, I wouldn't know whether we should go for LGPL, BSD or MIT, I guess this also becomes a matter or taste. We could also consider which license is most popular among potential users of pysteps, and this is already nicely illustrated in the list above.
from pysteps.
It looks like we are now converging towards the BSD-3 license.
I will leave this discussion open for the moment, in case somebody has something to add or comment about the topic. We plan to update the pysteps license with the next V1.0.0 release.
from pysteps.
I have no objections to this license change.
In fact, I wholeheartedly agree with switching to BSD-3 license. That'll help out in avoiding licensing problems in the future, if (when) pysteps library is used in operational nowcasting systems.
from pysteps.
Commit 9522198 closes this issue.
from pysteps.
Related Issues (20)
- How to handle no rain in pysteps? HOT 8
- Error: aggregate_fields_space HOT 2
- Power spectral density (PSD) with "rapsd" function HOT 2
- Unable to run any of the example scripts HOT 4
- Input for pysteps HOT 3
- how to import my own dataset (.tiff) HOT 2
- location parameter L2 in the SAL verification HOT 6
- Insert Nowcasting Model PhaSt in the pySTEPS package HOT 11
- STEPS-blending: Losing small scale features in the first time steps and other issues HOT 4
- STEPS-blending: deterministic mode not working
- Install pysteps on Mac with Apple silicon processors HOT 4
- fft_method pyfftw causes unexpected noise additions when using multi-threading HOT 5
- missing module HOT 3
- Satellite data as input for pysteps HOT 3
- Structure parameter in SAL verification metric
- No reproducibility of steps blended nowcast when using noise_stddev_adj='auto' HOT 4
- Possibility of generating intermediate values between data points? HOT 2
- Add Kalman-filter based post-processing to blending scheme HOT 1
- Cannot update coverage reports to codecov
- CI fails to install pysteps on macos-latest
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pysteps.