<div dir="ltr">Hi devs,<br><br>The time has come to make concrete plans in the lead-up to 5.0. On this list on February 8 I said:<br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
We&#39;re acutely aware that the timeline for previous GROMACS releases has been vague and has drifted on endlessly. This will change. In future, we will produce timed releases, rather than feature-driven releases. If a feature is not complete enough for the release roadmap, it will wait for the next release, or be included in only partial form. For 5.0:<br>
* any large-scale code patches hitting lots of code paths will need to be largely complete by November 1, 2013 to allow adequate time for testing how well they work with features of GROMACS that were not upper-most in their authors&#39; minds as they wrote them<br>
* betas will be released over December and January (after beta1, no new features, no planned API changes, no features expected to be removed; considerations of correctness and performance will drive decisions here)<br>* release candidate 1 on February 1, 2014<br>
* final release of 5.0 around March 1, 2014<br>The dates are guidelines, and the core team will use its judgement about how strictly to follow them, but they will be flexible on the scale of days, not months.<br>Subsequent major releases will happen at least once a year.</blockquote>
<div><br></div><div>This is still the plan. Major stuff should be visible in gerrit for review (and work on integration) by early November. Things do not have to be &quot;feature complete&quot; at that time, but by December 1 the core functionality needs to seem to work. Bug fixing is certainly expected. Minor feature completion can occur in the early parts of the beta phase (e.g. I think &quot;make this integrator work with the pull code&quot;, &quot;apply OpenMP to this bottle-neck&quot;, &quot;fix CMake hackery&quot; are all OK, but not &quot;add kernels for Haswell,&quot; &quot;add support for &lt;fancy new QM package&gt;,&quot; or &quot;refactor t_your_least_favourite_struct&quot;). I&#39;m not keen on deferring a whole feature from beta1 with a plan to put it in beta2. I think that just leads to deadline creep, because now that feature has had less of any beta testing. The subset that works should go in beta 1, and we can evaluate at the time whether the remaining changes are minor enough to accept for beta 2.</div>
<div><br></div><div>There is no guarantee anybody&#39;s pet feature will get in. Every change is competing for limited reviewer resources, so you will need to do your best to look good. That means</div><div>* building your karma by participating in review,</div>
<div>* having your work in progress on gerrit, so you can take advantage of Jenkins testing,</div><div>* having your branch merged up to date,</div><div>* constructing commits that implement a single logical entity</div><div>
* having Doxygen documentation of the code,</div><div>* updating the manual at the same time,</div><div>* having used admin/uncrustify.sh to prettify your code, and</div><div>* showing working test cases.</div><div>Help with all these things is available - do ask on this list/Redmine/gerrit!</div>
<div><br></div><div>Things we discussed in Stockholm this week that I&#39;m aware people plan to prioritise trying to get into 5.0 are:</div><div>* get Verlet kernels feature complete, and consider using a kernel generator script (perhaps also for GPU) - Erik, Berk, Szilard</div>
<div>* MD loop and data structure cleanup - Mark</div><div>* implement new integrator formalism - Michael, Mark</div><div>* LJ-PME - Christian, Erik</div><div>* TNG - Magnus, Mark</div><div>* new QM/MM handling - David + team</div>
<div>* improved collective error handling - Szilard, Mark</div><div>* enhancements to pull code? (I forget now what this was about!)</div><div>* support for PDBx/mmCIF since PDB is deprecated - Rossen, Mark</div><div>* porting some selected tools to new analysis framework - Rossen</div>
<div>* analysis framework (and lots of other useful things) - Teemu</div><div>Other stuff is welcome, but speak up fast!</div><div><br></div><div>As parts of some of the above, I still plan to hit t_forcerec, t_state and t_commrec pretty hard over the next month, so if that&#39;s going to make your life painful, make sure you follow that topic branch of master in gerrit!</div>
<div><br></div><div>I don&#39;t plan to update the roadmap on the website, because I think <a href="http://redmine.gromacs.org/projects/gromacs/roadmap">http://redmine.gromacs.org/projects/gromacs/roadmap</a> does a better job of showing where people plan to and have actually invested time. <a href="http://redmine.gromacs.org/projects/gromacs/activity">http://redmine.gromacs.org/projects/gromacs/activity</a> is also a good way of seeing what is hot today!</div>
<div><br></div><div>There may be interest in resuming the teleconferences now that we have real deadline pressure to generate discussion. I am happy to facilitate those. Wednesday 6pm Stockholm time suited us earlier in the year. Is there machinery people want explained better?</div>
<div><br></div><div>Cheers, and happy hacking!</div><div><br></div><div>Mark</div></div>