First, replace last_modified_by with get_author and version with
get_version.
Second, define a standard IMP version number and use it for all
objects in the IMP kernel. And have a standard author list (or just
say "IMP core developers" and give some general imp email address).
How about we go one step further and do something like (pseudo code)
struct VersionInfo {
std::vector author, version;
}
virtual Restraint::get_version_info {
return VersionInfo("IMP core developers", "SVN");
}
That way 1) a module can define a static VersionInfo somewhere (or a
get_version_info() function) and all restraints etc. can return the same
thing and 2) we reduce the number of virtual methods by one.