← Back to team overview

maas-devel team mailing list archive

Feature flag policy

 

Hi folks

This is an attempt at a feature flag policy to make releasing things
from trunk easier, as we seem to have quite a lot of things in progress
at once these days and we sometimes can't release finished features if
other features are in progress.

My basic suggestion is that you need a feature flag (I'll explain that
just below) if your feature:

 * is going to take quite a few branches to finish
 * is directly exposed to users in some way
 * what's exposed so far is unhelpful, confusing or otherwise not polished

The flags themselves can be as simple as a setting in the Django config
file.  This allows things to be active in development mode while
disabled in production mode.  As an example of how to do this, grep for
"DNS_CONNECT" in the source tree.

Further suggestions welcome.

J.


Follow ups