Thread overview
Re: Numpy Random Number Generators
May 01, 2009
Pablo Ripolles
May 01, 2009
dsimcha
May 01, 2009
Pablo Ripolles
May 01, 2009
dsimcha Wrote:

> == Quote from Andrei Alexandrescu (SeeWebsiteForEmail@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!


May 01, 2009
== Quote from Pablo Ripolles (in-call@gmx.net)'s article
> dsimcha Wrote:
> > == Quote from Andrei Alexandrescu (SeeWebsiteForEmail@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.
May 01, 2009
dsimcha Wrote:

> == Quote from Pablo Ripolles (in-call@gmx.net)'s article
> > dsimcha Wrote:
> > > == Quote from Andrei Alexandrescu (SeeWebsiteForEmail@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.

yeah, that makes sense.

cheers!