On Fri, Sep 26, 2003 at 02:24:27PM -0400, Tim Peters wrote:
Don't get too gun-shy. There were lots of changes in who did what for the 2.3.1 release, and some glitches were inevitable.
Some humble advice from someone who has done quite a few software releases in the last few years (mostly internal). The release process should be automated as much as possible. I think the Python project could do a bit better in this regard. Some ideas:
* try to reduce the number of version numbers in different files need to be adjusted. Also, try to automate the adjustment.
* write scripts to generate the final package and also verify its sanity (e.g. check version numbers, dates, detect files that should not be included in the release)
* write scripts to upload the package for distribution. Ensure proper naming, permissions, etc.
Python already has a release checklist. That's good. Be sure to follow it when doing a release and make sure it's up-to-date.
Unfortunately Python doesn't do releases often enough for the process to be really polished. One effective way of improving the process is to have a new person do it with a veteran looking on. The new person should try to complete the release using only the checklist as the guide. The veteran is on hand to make sure nothing goes wrong. The veteran should also take notes; documenting any errors or omissions in the release checklist or ideas on ways to further automate the process.