On Sun, May 24, 2015 at 7:46 PM, Sturla Molden <sturla.molden@gmail.com> wrote:
>
> On 24/05/15 17:13, Anne Archibald wrote:
> > Do we want a deprecation-like approach, so that eventually people who
> > want replicability will specify versions, and everyone else gets bug
> > fixes and improvements? This would presumably take several major
> > versions, but it might avoid people getting unintentionally trapped on
> > this version.
> >
> > Incidentally, bug fixes are complicated: if a bug fix uses more or fewer
> > raw random numbers, it breaks repeatability not just for the call that
> > got fixed but for all successive random number generations.
>
> If a function has a bug, changing it will change the output of the
> function. This is not special for random numbers. If not retaining the
> old erroneous output means we break-backwards compatibility, then no
> bugs can ever be fixed, anywhere in NumPy. I think we need to clarify
> what we mean by backwards compatibility for random numbers. What
> guarantees should we make from one version to another?

The policy thus far has been that we will fix bugs in the distributions and make changes that allow a strictly wider domain of distribution parameters (e.g. allowing b==0 where before we only allowed b>0), but we will not make other enhancements that would change existing good output.

--
Robert Kern