I was confident in early February that the planned release date of February 28th for PLplot-5.11.0 would be straightforward to achieve, but obviously the release was delayed 6 weeks beyond that date by a number of factors. I would prefer to avoid such factors if at all possible in the future since a sliding release date is extremely difficult for volunteer developers to adjust to. All of us have lots of other things going on in our lives, but with a fixed release date that everybody knows in advance it is fairly likely most of us can make an effort for the last week of the release to help get it out the door. But all that potential cooperation is out the window when that single critical week stretches (ouch!) into 7 weeks.
As release manager I have to take responsibility to provide the guidance to avoid such an issue in the future so below I discuss some general lessons I have learned from this bad experience, and the remedies I plan to adopt so this experience is not repeated for future releases. Here are the lessons: 1. Keep release cycles short. Adopting that lesson reduces the chances of regressions creeping in and creating surprises (as occurred for this release) that tend to indefinitely delay the release. 2. Create definitive benchmark comprehensive tests for all platforms accessible to us. Adopting that lesson will make it much easier for us to detect regressions in the future. 3. Master branch should be primarily used for bug fixing in preparation for the next release. So all major PLplot changes should be implemented on local topic branches which are shared with those interested in helping with the initial testing using the "git format-patch"/"git am" approach mentioned in README.developers. Only when a topic has completely matured (i.e., all bugs discovered by initial testing have been fixed) should it be pushed to master branch for testing and debugging by a larger group. 4. Pushes of major topics to the master branch should be done only relatively early in release cycles. That gives important time for the "testing and debugging by a larger group" referred to above to take place. Here are the specific remedies I propose: 1'. Consistent with lesson 1, I propose to get the next release out in 4 months (by mid-August) _at the latest_. However, an earlier bug-fix release (say called 5.11.1) that contains only bug fixes and not major changes is certainly possible if a lot of bug fixing gets done soon. @Everybody: Through release testing we uncovered a number of bugs discussed on this mailing list that we had to put off fixing until post-release. The time to deal with those known bugs is now. 2'. Consistent with lesson 2, I have already (in a different post) strongly encouraged everybody here to run scripts/comprehensive_test.sh on the platforms you have access to and report those benchmark results to me and/or <http://sourceforge.net/p/plplot/wiki/Testing_PLplot/#Testing%20Reports>. When that testing clearly reveals comprehensive_testing.sh issues (such as Arjen having to brute-force Cygwin to get that script to run) or build-system issues, I certainly plan to either provide the fix or provide strong support for finding the fix. 3'. I am going to encourage everybody to use the lesson 3 approach for further major developments. This immediately applies to both Arjen (currently working on a fortran binding rewrite) and Jim (currently working on major changes to plmeta/plrender and possibly plbuf). @Arjen and Jim: does this lesson 3 approach work for you? 4'. Consistent with lesson 4, I think pushes of important topics to the master branch should only be done in the first month of a release cycle. @Arjen and Jim: To be specific I plan to adopt May 9th as the deadline for pushing of major mature topics to master. So if you make that deadline, your work will get into the next release, but if your other time commitments make it impossible for you to make that deadline, then please continue to mature your topics as time permits and aim to push your major topics to master in the first month of the subsequent release cycle. @Everybody: I hope these lessons I have learned and my specific plans to conform to these lessons makes sense to everybody here. But if not, I would welcome further discussion of your own ideas for making the release process a lot easier for both you and me. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel