== Quote from Pablo Ripolles (in-c...@gmx.net)'s article > dsimcha Wrote: > > == Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s article > > > dsimcha wrote: > > > > I've ported a large portion of the Numpy random number generation > > > > library to > > > > D. (I excluded the uniform random number generators because Phobos and > > > > Tango > > > > already have good implementations of these, and a few distributions > > > > because > > > > they were obscure and hard to test properly. I may add the obscure > > > > probability distributions later.) > > > > > > > > The results appear pretty good (I added unit tests that make sure the > > > > results > > > > are sane while I was at it). > > > > > > > > The module is licensed under the BSD license. The code is available at: > > > > http://dsource.org/projects/dstats/browser/trunk/random.d > > > > > > > > Docs are at http://svn.dsource.org/projects/dstats/docs/random.html > > > > although there's not much there. If you understand the probability > > > > distribution you're trying to sample from, it's pretty > > > > self-explanatory. If > > > > not, a little bit of ddoc isn't going to help, and Wikipedia is > > > > probably a > > > > better choice. > > > > > > > These look great. Could I convince you to contribute them to Phobos? > > > Andrei > > > > I would certainly be willing to grant permission for these to be included in > > Phobos. The only problem is the original code that I ported is BSD > > licensed, > > meaning you have to include all the relevant disclaimers. > Hello, I might be wrong but, as far as I know, the licenses apply to code and not to algorithms. That is, once you jump out of the original implementation (the original codes are not in d) and you re-implement the algorithms in another language (in this case d) the work is not, properly speaking, a derived work. I insist, I'm not a lawyer and I'm not 100% sure but that could be checked. > Cheers!
IDK, I mean, I cut and pasted the code into my D IDE and tweaked it to get it to compile and then did some statistical tests to make sure the distributions were still reproduced faithfully. I didn't even change any of the variable names or code structure or anything in most cases. It's a straight translation, not a real reimplementation. I don't see how something like this could possibly *not* be considered a derivative work, and I think the people who wrote the original lib definitely deserve to be given credit. It's just that some of the BSD legalese is a little bit of a PITA for code that's in a standard lib.