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

[IMP-dev] Final message on reorganization



I don't feel that other people have really given serious thought to what various proposals for reorganization of the repository would entail and has included far to many wild assertions about what the outcomes of various changes would be. I don't know who else people think is involved in the project, but as far as I know, everyone involved is pretty reasonable, able to follow directions, can communicate over email and aware of their limitations.

There are three disparate issues to consider:
- the location of code in the svn repository: I propose that it be kept as simple as possible. The only advantage gained by splitting things into separate modules is a decrease in compilation time, which given the size of the swig files, might be worthwhile. Many modules means more things that have to be tested together, and makes it harder to reuse code and harder to discover new code. My favoured solution would be an IMP_kernel as discussed and an IMP_code which has all the current restraints and things (including domino and em).

- access control to the repository: we are all pretty reasonable, able to follow directions, can communicate over email and aware of our limitations, so I don't see any reason to impose access restrictions on anyone. As we saw in the last couple of days, adding layers of complication to submission increases the chance of bugs being introduced via the submission process. I haven't gone back and checked, but I am pretty sure Ben has broken the repository by changing patches more times than the number of bugs he has found by reviewing the code. In addition, with access control, we run into problems like when Ben was on vacation and Frido discovered a bug in the NonbondedLists and no one could commit a patch.

- how bits of code are designated stable or unstable: I suggest that this be through deoxygen groups. This makes it easy to move things from unstable to stable without break people's code (which would break if it involved changing modules). In addition, it ensures that, except in unusual cases, there is only one version of a particular class, reducing confusion.

All the setups which have been discussed would provide a set of clearly marked stable functionality which doesn't change much. So raising issues related to that is silly. In addition, conflating access to svn, the location of code and their stability simply confuses the discussion.

Something should be done about these decisions sooner rather than later, as there will only be more code that has to be updated later.

Anyway, I don't think I have anything more to say on the subject. I'm off with my brother the next couple of days. If a solution which allows me to reasonable commit changes to the code I contributed is not in place by Tuesday, I think I will give up on IMP and stop submitting patches.