1. To have two branches: stable and experimental
2. Backport serious bugfixes to stable, but not "bug is a feature" bugs.
3. Provide an upgrade tool when a new stable branch is created (meaning: a new stable branch is not created until the source-code upgrade tool is ready)
4. Create a planned release scheduled for stable branch (say 18-24 months)