-
Notifications
You must be signed in to change notification settings - Fork 43
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
SLICOT 5.7 is on GitHub under BSD-3-Clause #146
Comments
Interesting. Is it legit? The github owners of SLICOT/SLICOT-Reference seem to be the original SLICOT authors. Ping @VasileSima4 @andreasvarga. How is the relation to the GPL-licensed version 5.0, which we currently use, and to slicot.org and Niconet? They can just release their own software under a new license? |
Do you have error messages to post? Did you try to adjust slycot/CMakeLists.txt or the .pyf wrappers? Maybe we can discuss this in a new issue or PR. |
As far as I'm aware, the SLICOT developers decided to switch to BSD for new releases. I guess it might be possible for Slycot to also switch (after the decision by Slycot developers, of course).
I didn't attempt any fixes, I just wanted to see how far only copying the new version would go. Installing with |
That might be difficult. The code base has quite some history with many contributors. We would need the permission to switch from GPL to BSD from every single contributor in the past. But replacing the SLICOT Fortran sources is possible, AFAICT. |
That won't be necessary since the wrappers don't need to be GPL or I can rewrite them if needed. It is not too hard and also renders python-controls BSD-3 license moot when you have GPL parts in it. Actually that's one of the reasons why I don't install Slycot. |
@ilayn: I have a different understanding. The slycot package and the python-controls package are two separate packages living next to each other in your installation. Why would the GPL package taint your BSD package there? python-control doesn't redistribute any GPL parts.
But the wrappers are GPL currently and all parts need to be "rewritten" without being derivative work from GPL licensed code, or all code authors needs to agree to a switch. This also includes the docstrings of the wrapper functions. |
Because python-control emits error messages for certain functionalities are not available without Slycot. And also it doesn't mention that this will change the license. So if someone wants to use it under the impression that it is BSD3 they would be waiting for a surprise. |
My thoughts:
|
About 4: I wrote the riccati solvers via the qz route internally uses trsyl. https://github.com/scipy/scipy/blob/master/scipy/linalg/_solvers.py#L325 I didn't write the Lyapunov solvers and they use the typical trsyl route but I can't say I am happy about them. As far as I can tell from |
IIRC the comments in the Fortran sources say 5.0.
PRs against SLICOT/SLICOT-reference? |
By the way, here is the SciPy discussion in case you would like to chime in https://mail.python.org/pipermail/scipy-dev/2021-February/024522.html The start is two emails back which you can travel via previous thread button. Current sentiment is to keep things as they are and scipy devs would point to python-control for specialized functionality in the future. |
Great to see SLICOT coming out as BSD-3 and if we can sort out how to replace the FORTRAN sources in slycot with the latest BSD release (sounds possible), this would allow python-control to be much more useful to people who are OK with BSD-3 but not GPL. It will be interesting to see how #152 goes and whether everything works on all of the platforms. |
First PR to SLICOT-Reference is online: SLICOT/SLICOT-Reference#1 |
The repository is here: https://github.com/SLICOT/SLICOT-Reference
Would there be interest in using it for the Slycot project?
I tried just copying the Fortran files and installing Slycot from source, but it seems that there are issues due to new SLICOT functions.
The text was updated successfully, but these errors were encountered: