In my understanding the things provided by periodic
software releases are:
1) a chance to fix outstanding bugs
2) a way of solving packaging and distribution problems
3) a way to avoid having people use code during major changes
4) an opportunity to apply more manual testing
5) a target time for implementation of new features
As a result of various properties of IMP discussed below, I'm not
seeing that we would much benefit from them compared to providing
given slightly better access to nightly builds. As a result, it
seems to me that effort would be better spent on keeping the day
to day state of things better (writing more nightly tests,
providing infrastructure for weekly tests of more involved things,
better automation of things etc).
The above problems addressed by released don't really apply to IMP
since
1) we don't tend to have outstanding bugs sitting around as most
bugs encountered are blocking for projects and so fixed in
relatively short order
2) these days, packaging for downloadable software is pretty
automatic
3) given the way IMP is structured as various loosely coupled
classes and modules, significant changes can be implemented as a
parallel module or class and then swapped for the old one when
ready, so we don't really have period where previously working
code is broken for a long time
4) we are add automatic tests as we think of things and through
using IMP constantly are doing more manual testing of it every day
than we would do for a release
5) people's schedules tend to be dictated by their other projects.
Features are implemented as needed for research/publications and
it is hard to get anyone to devote significant time to an external
imposed deadline.
The IMP 1.0 release was very much delayed, and by about a month
out was something that someone should probably think hard about
using instead of a carefully chosen svn build (based on bugs I
found and fixed after the release and which were never
backported). We have then had an extremely long time pass since
and pushed back the next release by months while waiting for a
couple of weeks work. We can say that we will, in the future,
devote more resources to release-related functionality, but people
will always want to spend their time on other things and I think
they are, in general, justified given the role that IMP plays.
As an alternative, we could have been providing transparent access
to builds (so you can easily figure out if the build yesterday
passed all the tests you care about and check it out or download
it with a copy and paste or a click), then we make the cost of
having people upgrade when bug fixes or new features are added.
_______________________________________________
IMP-dev mailing list
IMP-dev@salilab.org
https://salilab.org/mailman/listinfo/imp-dev