Quanto a perda de controle, acho que isso seria meio difícil de acontecer caso o núcleo tenha uma estrutura bem definida!
Quanto ao controle, poderemos usar um método de versões, por exemplo:
PROJETO-VERSÃO-CODENOME = OSDev-BR-0.1.1a-OPR
PROJETO => Nome do projeto
VERSÃO => Formato: VERSÃO.REVISÃO.MODIFICAÇÂO(letra a = alpha, b = beta,...)
CODENOME => Abreviação do codenome (OpenBR -> OPR)
Teria também algumas outras coisas, como, documentos e gráficos, que com o tempo poderíamos ir definindo... Porque acho melhor nós irmos fazendo o projeto e ir montando a estrutura que ele deve se embasar...
A prática leva a teoria, acho que é o melhor jeito... Que enquanto irmos praticando a organização e o desenvolvimento, iremos criando a teoria para projetos futuros (Para isso existem as versões

).
Mas isso é apenas minha opinião, se acharem conveniente seguir nesse passo, poderemos ir começando...
Obs.: Eu ando fazendo uns teste de núcleo e vendo como me organizar, ao menos anda dando resultados...