Cuando la versión de FreeBSD 2.0.5 fue declarada release, decidimos dividir el desarrollo de FreeBSD en dos ramas. Una rama fue llamada -stable con la intención de que solo los parches bien testeados y pequeñas actualizaciones de determinadas partes del sistema fuesen incluidas en ella (para proveedores de Internet y otras empresas para los que no resultan deseables cambios repentinos o experimentales). La otra rama fue -current, la cual ha sido, esencialmente, una línea común para el desarrollo de la versión 3.0-RELEASE. Aquí hay un pequeño gráfico ASCII para ayudar a entender este sistema de desarrollo:
2.0 | | | [2.1-stable] *BRANCH* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-stable ends] | (Mar 1997) | | | [2.2-stable] *BRANCH* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5-RELEASE -> ... | (Mar 1997) (Oct 1997) | | 3.0-SNAPs (started Q1 1997) | | 3.0.0-RELEASE (Q1 1998) | \|/ + [future 3.x releases]
La rama -current progresa lentamente hacia la 3.0 y superiores, de la misma manera la anterior 2.1-estable fue sustituida por la release 2.2.0, la nueva "rama estable" también conocida como 2.2-stable. 3.0-current continuará hasta donde los desarrollos activos lleguen cuando se convierta en release 3.0. En ese punto, 3.0 se convertirá en 3.0-stable y se abrirá la nueva 3.1-current.