[Biopython-dev] Developmental and experimental branches

Brad Chapman chapmanb at 50mail.com
Fri Jan 9 22:51:55 UTC 2009

Hi all;
In terms of the coding of experimental modules, Giovanni is taking
an excellent approach. While they are under development, we can
utilize one of the many free hosting platforms to develop it as a
separate project in the Bio namespace. This allows interested users
to get the code, contribute, and test. Once an interface and
functionality is hammered out and they begin to stabilize, then it's
a good time to package it up and roll it into Biopython provided the
ol' mailing list consensus is happy.

This is a nice development model as it leverages the community, but
only rolls code into the main release when it stabilizes reasonable
well. Peter has taken a really good development methodology -- 
creating a rock solid stable core of modules, and actively deprecating
or fixing those that fall out of line.

My only suggestion would be to have a Biopython wiki page for the
experimental modules as they are under development. Something simple
with a description of the goals and a link to the source code would
help the majority of people who don't follow the mailing list find
and contribute to these.


> On Fri, Jan 9, 2009 at 6:28 PM, Peter <biopython at maubp.freeserve.co.uk> wrote:
> > On Fri, Jan 9, 2009 at 5:17 PM, Giovanni Marco Dall'Olio
> > <dalloliogm at gmail.com> wrote:
> >> On Fri, Jan 9, 2009 at 5:18 PM, Bruce Southey <bsouthey at gmail.com> wrote:
> >>> Hi,
> >>> In a previous thread (and indicated in others) it was suggested that perhaps
> >>> Biopython needs some type of development  or experimental branch. So this
> >>> thread is orientated to provide some discussion on this and considers that
> >>> Biopython has moved to SVN.
> >>
> >> Maybe you can consider the approach at the basis of git, in which
> >> every developer works on its personal branch, and the owner of the
> >> 'official branch' can decide whether to accept the changes apported by
> >> the single branches or not.
> >
> > In some ways this describes the current situation but without the
> > software: The CVS/SVN repository is the master official branch which
> > we (as a group) try and keep pretty stable.  When working on new
> > modules, individual developers or contributors have hacked away on
> > their own machines (perhaps using a local repository - I tended to
> > just save versioned snapshots of work in progress), and commit things
> > to the master once it was sufficiently stable to be approved.  For
> > self contained modules, this works OK - although using something like
> > git would be a bit more formalised and automated, and allow this kind
> > of "work in progress" to be done openly.
> >
> It can be viewed this way, but the point here is that making this change to
> the process of development might decrease the amount of work required to
> join the  development. Especially, if you think about adding new library
> to biopython, the most sensible way to do it is to branch and then
> stabilize. I've
> recently experienced (with Bio.Motif) that it might be tedious even
> for a very simple
> task. Also, using the distributed version control system, it is very
> easy for a small team
> of people to collaborate on a branch before merging back to the main
> repository. In the
> current mode this would be really difficult. And another  benefit is
> that you do not loose
>  the history of changes made "on a branch".
> As for github, it is currently used by BioRuby project hosted on
> open-bio.org. We can try
> to talk to them and ask about their experiences. I'm not personally
> involved in any way in it,
> but it seems, that they've basically moved the main branch to github
> and update the cvs repository
> only occasionaly.
> I think that for biopython, if we decided to use distributed version
> control, it would
> be better to use bazaar+launchpad instead of git+github. And for the
> following reasons:
> - it's completely free, as opposed to <300Mb of free account on github
> - launchpad could make the transition very easy. They provide a
> service of importing existing
> open source projects  to launchpad:
> https://help.launchpad.net/VcsImports They convert the trunk
> to bazzaar for us and set it up to update from the cvs every 6-12
> hours. It would be easy then to
> see whether we like it like this or not
> - bazaar is specifically aimed to be more user friendly than git, and
> allows developers
> to keep working in a familiar environment when moving from cvs or svn.
> I think it is important since git
> itself is really different from cvs and if we switch to anything else,
> everybody needs to learn the tool.
> - they use openID, which makes it simpler for people to join (even
> though you still need another
>  account)
> - both bazaar and launchpad are developed in python, so they're more
> python oriented
> (while github is developed in ruby, so a better choice for bioruby).
> More on comparing these to possibilities (from the bazaar developers
> non-objective point of view):
> http://bazaar-vcs.org/BzrVsGit
> These are my 2 cents on the choice of  tools for development, but I
> have to admit that I'm not
> sure whether it is  needed for biopython now. I'm very open to discussion.
> -- 
> Bartek Wilczynski
> ==================
> Postdoctoral fellow
> EMBL, Furlong group
> Meyerhoffstrasse 1,
> 69012 Heidelberg,
> Germany
> tel: +49 6221 387 8433
> _______________________________________________
> Biopython-dev mailing list
> Biopython-dev at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biopython-dev

More information about the Biopython-dev mailing list