[IPython-dev] IPython development: course adjustment required

John Hunter jdh2358 at gmail.com
Sat May 31 23:24:17 EDT 2008

On Sat, May 31, 2008 at 9:55 PM, Fernando Perez <fperez.net at gmail.com> wrote:

> So, any comments?  We'd like to move forward *quickly* with this idea.
> We'd try to make a series of much more frequent releases, one for each
> key component we add in, so that little by little the baby can
> actually grow.   There will be an initial period where I would prepare
> the ground in ip0 for the ip1 components to land in while Brian
> finishes a couple of things he has in his local branch, but we're
> talking a couple of weeks, not years.

Clearly I am not an ipython developer, so I know not of what I speak.
But this reminds me of a situation we faced in matplotlib a year or so
ago, when working on mpl1, though we were never as advanced in our
efforts as you are today with ip1.  The goal was to cleanly rewrite
the matplotlib code  to clear out the architectural mistakes we made
in mpl0, and we (I) were prepared to break the existing codebase
heavily if necessary to get there.

Perry Greenfield wrote me offlist, somewhat nervously, and advocated
instead an incremental approach, moving the existing codebase forward
piecemeal, rather than forking/breaking the existing project to get a
clean design.  Obviously Perry had some experience in this arena,
having worked hard for years to get a clean-room implementation of
Numeric (aka numarray), but he encountered a lot of resistance getting
folks off the feature complete, if hairy, Numeric code base they knew
and loved.

Perhaps in the end he was frightened enough about the potential effect
of an mpl1 effort that he put Michael Droettboom on matplotlib (mpl0)
full time for a while to get the *existing* code base past its
problems so that we could move forward.  This was no small or easy
task, and there are few people besides Michael who could have pulled
it off, but mpl is certainly better off for it, since we get the
benefits of a better internal design *and* the continuing use and
support of the installed matplotlib user base, who mostly won't see
the difference.

So I think your proposal is the right one.


More information about the IPython-dev mailing list