Sometimes a site won't want to upgrade to the latest stable release of SilverStripe: despite our best efforts, a later version might break the particular site in question.
For this reason, I think we should keep older versions listed in branches until no-one is using that release any longer.
There were a couple of advantages to using stable / development, but they were more "nice to have"s than anything to justify the hassle of a switch.
Perhaps, once a release goes stable, people could request tags/2.0.0 from subversion instead of branches/2.0. This would mean we could make tags/2.0.0 read-only, and not get any accidental commits.
If people wanted to fix a critical bug in 2.0, they could explicitly request branches/2.0 from subversion.
Can we set up tags/* to be read-only access?