[SciPy-dev] The future of SciPy and its development infrastructure

Travis E. Oliphant oliphant at enthought.com
Mon Feb 23 19:06:13 EST 2009


Matthew Brett wrote:
> Hi Stefan,
>
>   
>> 1. No code enters SciPy unless it had two pairs of eyes on it:
>> reviewer and committer, reviewer and reviewer, reviewer and release
>> manager, etc.  All tickets ready for merging are marked in Trac for
>> convenience.
>> 2. No code enters SciPy unless it is fully documented.
>> 3. No code enters SciPy unless it is fully tested (this holds for both
>> bug-fixes and enhancements)
>>     
>
> Right.
>
> So, the real problem here is that the people doing the actual work
> have severe problems with the current workflow.
>
> It seems to me the issue
>
> A) Do we agree in general to a more disciplined tests / review / accept cycle.
>   
I'm a bit concerned about getting too top-heavy here.

I think the biggest problem has been time and adding too formal of a 
process will just increase the time it takes to get code into SciPy.    
I'm fine with emphasizing documentation and tests as we discuss things 
and we should encourage each other, but I'm not comfortable with 
hard-line statements like the ones being made above.  Yes, such things 
are helpful, but they are also expensive and I worry more about what we 
lose in contributions.  

The quality of what we create should emerge as all interested parties 
critically look at the code that is available in SciPy.   Not everyone 
can do that on the same schedule.  I'm opposed to trying to force that 
to happen.  I very much favor cultivating a culture that wants someone 
to fix the problems in their code.   

Once we have a git-svn integration working, then I can support a simple 
policy like

1) "this list of people can push from git to svn"
2) "code to submit must either be O.K.'d by one other or have a certain 
time limit expired with no response"

But, my favorite workflow is a bit more chaotic, than that.  People 
create their own DVCS versions of SciPy using their best judgment and 
publish revisions they consider to be working code.

Branches that are given the thumbs up by 2 people (or 1 on the steering 
committee) get pushed to the main branch.      This review happens 
regularly, on IRC channels at regularly scheduled times.

Good conversation...

-Travis




More information about the SciPy-Dev mailing list