Hacker News new | past | comments | ask | show | jobs | submit login

Unfortunately, it looks like the Cephes library of mathematical functions linked from this article is released with a poorly specified license, and contains code that is copyrighted by multiple organizations: http://www.netlib.org/cephes/readme



[Edit: I overlooked the fact that, being free under GPL, the GSL implementations do not suit the author's intent. (See /jwmerrill's comment below). Leaving the comment anyway just for reference, but my original point is moot.]

This. The author should have at least mentioned the ubiquituous and reasonably well-maintained GNU Scientific Library (GSL) [1], which already implements all the functions listed in the article [2,3,4,5], among many, many other things [6].

[1] http://www.gnu.org/software/gsl/

[2] http://www.gnu.org/software/gsl/manual/html_node/Incomplete-...

[3] http://www.gnu.org/software/gsl/manual/html_node/Incomplete-...

[4] http://www.gnu.org/software/gsl/manual/html_node/The-Gaussia...

[5] http://www.gnu.org/software/gsl/manual/html_node/Bessel-Func...

[6] http://www.gnu.org/software/gsl/manual/html_node/


The gsl is a great resource, but I don't think it suits the author's purpose. He is talking about adding new functions to the C standard library, for anyone to use in commercial or non-commercial software. It isn't practical to stick GPL code into C standard libraries that are meant to be used broadly in commercial as well as free software.


You are absolutely right. Now I see why the author didn't mention it. That was a knee-jerk reaction on my part.


The GNU Scientific Library (GSL) covers these functions and is GPLed: http://www.gnu.org/software/gsl/

GSL's design doc (https://www.gnu.org/software/gsl/design/gsl-design.html) explicitly names many libraries, including CEPHES, that its creators consider useful but with drawbacks, such as non-free licensing, that motivated GSL's creation.

I'm not especially familiar with GSL except for a few functions I've used on occasion, and not with CEPHES at all, so I can't speak to other pros or cons.


GSL is pretty fantastic though it's not insanely high performance and doesn't accommodate extended precision types.


Presumably if the "C" committee decided to do this, implementers would be free to implement this by various means, whether it be a clean-room version, or by adopting existing code. In the latter case, they could contact the author(s) of Cephes and try to arrange more suitable licensing if needed.

Admittedly it adds a little extra friction to the process, but this doesn't seem like an insurmountable problem off hand.


A bit of Debian discussion and interaction with the author on this: https://lists.debian.org/debian-legal/2004/12/msg00295.html


How is the cephes license non-free?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: