[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [IMP-dev] No more IMP releases?



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.