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

Included cephes code should contain a provenance and license #1702

Closed
dkogan opened this issue Jan 1, 2024 · 9 comments · Fixed by #1704
Closed

Included cephes code should contain a provenance and license #1702

dkogan opened this issue Jan 1, 2024 · 9 comments · Fixed by #1704

Comments

@dkogan
Copy link

dkogan commented Jan 1, 2024

Hi. I see that another external library was added to the gtsam sources: https://github.com/borglab/gtsam/tree/develop/gtsam/3rdparty/cephes

Looking around, I should clearly be able two things, that I cannot find:

  • Where this came from
  • The distribution license

Do we know these? Are you allowed to use this code? Under what conditions?

Thanks

@ProfFan
Copy link
Collaborator

ProfFan commented Jan 2, 2024

@varunagrawal

@varunagrawal
Copy link
Collaborator

Cephes is hosted as source on netlib.org.

#1572
https://www.netlib.org/cephes/

Unfortunately there is no license specified with the source but when I looked at the author's project SMath, there is a page which specifies it comes with a MIT license which allows redistribution without conditions.

https://smath.com/en-US/view/CephesMathLibrary/license

I didn't add a license or source because it wasn't already present and I wanted to make minimal changes (particularly because I'm not a lawyer).

@varunagrawal
Copy link
Collaborator

I'll make a PR to update the Cephes readme and add the license in a bit.

@dkogan
Copy link
Author

dkogan commented Jan 2, 2024

Hi. This feels very insufficient. The MIT-license notice at the smath.com site applies to whatever is distributed at the smath.com site, which is binaries built for Windows, not sources. There's a link to an svn repo, but it's dead. Did the copy you're including in your git tree come from smath.com or from netlib? If from netlib, then you need a license from netlib.

netlib DOES have a readme: https://www.netlib.org/cephes/readme

That has no clear statement either, but it strongly suggests that you CANNOT use this without any extra explicit license.

Do you really need this? There are no public implementations of whatever you're using here?

@varunagrawal
Copy link
Collaborator

varunagrawal commented Jan 2, 2024

The readme states "What you see here may be used freely but it comes with no support or guarantee." which I took to mean that we can vendor the source as required.

Moreover, the SMath site states that Cephes is open source under the MIT license and the site is hosted by the authors of Cephes. I'm not sure where that means that it applies to only code/source from the SMath site only. Sufficiency can be debated in this case.

We need an implementation of the inverse incomplete gamma function which used to be provided by Boost but we've moved away from Boost, hence the need for an alternative. Cephes is well tested (used by scipy), is open source, provides a liberal MIT license, and has a very small memory footprint, which made it a stellar choice for our needs.

@dkogan
Copy link
Author

dkogan commented Jan 2, 2024 via email

@varunagrawal varunagrawal linked a pull request Jan 3, 2024 that will close this issue
@talregev
Copy link
Contributor

talregev commented Jan 3, 2024

@dkogan
Copy link
Author

dkogan commented Jan 3, 2024

Hi. The link you just posted does work, but the link from the page linked earlier in this post is broken. So if I go here: https://smath.com/en-US/view/CephesMathLibrary/license and click on the "SVN repository" link on that page, I get

Error loading stylesheet: A network error occurred loading an XSLT stylesheet:
https://smath.info/!/assets/xsl/svnindex-ng.xsl?v=2

@talregev
Copy link
Contributor

talregev commented Jan 3, 2024

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 a pull request may close this issue.

4 participants