[Numpy-discussion] curious about how people would feel about moving to github

Matthew Brett matthew.brett at gmail.com
Thu May 27 01:34:01 EDT 2010


Hi,

> No, at this point we don't have a release manager, we haven't since 1.2. We
> have people who do the builds and put them up on sourceforge, but they
> aren't release managers, they don't decide what is in the release or
> organise the effort. We haven't had a central figure since Travis got a real
> job ;) And now David has a real job too. I'm just pointing out that that
> projects like Linux and IPython have central figures because the originators
> are still active in the development. Let me put it this way, right now, who
> would you choose to pull the changes and release the official version?

OK - for nipy - we have - I think - 5 people who can commit into the
main repository.  Any one of those 5 people can review someone's work,
and commit into the main repository.    My guess is - with numpy -
there would be some number of people with the same permissions - I
imagine you among them.  But the rule is -

No-one commits into the main repo without someone reviewing and
agreeing the work

Any trusted person can review.  But the point is:

No development in the main repo.  Merges only.

Why?

Let's flip your question the other way round.

You are saying - I want to continue (as for SVN) to develop in the main repo.

But the main repo is where everyone merges from.  That means that

a) It makes it much harder for anyone to review your changes because
they are mixed up in a lot of other changes and
b) You force everyone following numpy to adopt your changes

In practice - that means that you make it harder for others by making
them follow your line of development when they may not want to - until
it's ready.

I guess you'd agree that code review is essential to good code quality
- both for improving code - and for teaching.  It encourages new
developers because they know their work will be checked.  It helps
developers learn the coding guidelines and to share good practice.  It
helps the developers have a broad knowledge of the code base.

With SVN / central repo development - that's really hard - because all
the development lines get mixed up as people work in different places.

With git / DVCS - it suddenly becomes absolutely natural.

I think that's why people like Joel Spolsy say stuff like 'This is
possibly the biggest advance in software development technology in the
ten years I’ve been writing articles here.'  :
http://www.joelonsoftware.com/items/2010/03/17.html

Please - try it - see - I am absolutely sure you'll love it after a
very short time...

Matthew



More information about the NumPy-Discussion mailing list