Understanding Software by Max Kanat-Alexander

Understanding Software by Max Kanat-Alexander

Author:Max Kanat-Alexander
Language: eng
Format: epub, azw3
Publisher: Packt Publishing


1. Don't freeze the trunk for long periods

The Bugzilla Project has a fairly-standard system of having stable branches that receive little change (for example, the "3.4" branch where we commit bug fixes and do minor releases like 3.4.1, 3.4.2, etc.), and a main-line "trunk" repository where all new features go, and which eventually becomes our next major release.

In the past, before a major release, we would "freeze" the trunk. This meant that no new features could be developed for several weeks or months until we felt that trunk was stable enough to call a "release candidate." Then we would create a new stable branch from the trunk and re-open the main-line trunk for features. However, while trunk was frozen, there was no feature development happening anywhere in the Bugzilla Project.

Graph analysis showed very clearly that every time we would freeze, the community would shrink drastically and it would take several months after we un-froze for the size of the community to recover. It happened uniformly, every single time we would freeze, over many years and many releases.

Traditional wisdom in open-source is that people like to work on features and don't like to fix bugs. I wouldn't say that that's exactly true, but I would say that if you only let people fix bugs, then most of them won't stay around.

We addressed this issue by never freezing the trunk. Instead, we branch immediately at the point that we normally would have "frozen" the trunk. The trunk always stays open for new feature development.

Yes, this means that for a while, our attention becomes split between the trunk and the latest branch. We're committing the same bug fixes to the branch and the trunk. We are also doing feature development on the trunk simultaneously with those bug fixes. However, we've found that not only does the community expand more rapidly this way, but we also actually get our releases out more quickly than we used to. So it's a win-win situation.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.