Mateus Müller

O carinha do Linux

18 jan. 2018

Entenda como funciona o ciclo de desenvolvimento do Kernel

A dica de hoje é baseada em um post feito no blog da Linux Foundation, onde eles citam brevemente como funciona o ciclo de desenvolvimento do Kernel.

Desta forma, estarei tentando explicar para vocês como isso ocorre.

Cadeia de desenvolvedores

A primeira coisa que você deve saber é que o desenvolvimento do Kernel é dividido em partes. Por exemplo: Vídeo, que se divide em AMD, NVIDIA, Intel, etc. Assim como wireless que se divide em Atheros, Realtek, etc.

Cada uma dessas cadeias possui um main developer, que seria um desenvolvedores líder. Sua responsabilidade é decidir o que será ou não implantado no mainline kernel.

Merge Window

A merge window é um espaço de tempo de 2 semanas onde os main developers podem enviar seus patches de correção para o Linus Torvalds, que irá centralizar tudo e fazer, ele mesmo, a implementação.

Aqui os códigos são filtrados e somente os considerados estáveis serão implantados. Assim que uma merge window é finalizada, a próxima já entra em ação. Neste caso não estamos falando da release, e sim da versão do Kernel.

Digamos que estamos no ciclo 5.1, e ele está finalizado. Assim, o ciclo do Kernel 5.2 já se inicia.

Releases

Depois das duas semanas de merge window, o Linus Torvalds a declara fechada, e então começam a correção de bugs no Kernel estável. Este processo dura em torno de 8 à 9 semanas, e ao final de cada semana uma versão rc$ é lançada, por exemplo: 5.2.rc1, 5.2.rc2, etc.

Obs.: Lembrando que nenhuma feature é adicionada após a merge window, somente correção de bugs.

Então, o processo total de desenvolvimento do Kernel dura em torno de 10 a 12 semanas. Ou seja, a cada 3 meses temos um Kernel novo e estável.

Conclusão

Resumindo ainda mais, o processo seria o seguinte então:

Kernel 5.1 lançado -> Aberta a merge window por duas semanas -> Mudanças na merge window são implantadas no novo Kernel -> Merge window fechada e o Kernel unstable está pronto para correção de bugs -> Semana 1 (5.2.rc1) -> Semana 2 (5.2.rc2) -> … -> Kernel 5.2 é lançado após 10 à 12 semanas.

Obs.: A merge window é um tempo muito valioso para os desenvolvedores que se dedicam de corpo e alma a este processo, então eles se concentram somente no que vale a pena, não se importando com pequenos bugs.

Bom pessoal, espero que este artigo tenha ajudado vocês a entender como funciona o ciclo de desenvolvimento do Kernel bem resumidamente, assim como também me ajudou.

Até a próxima!

Se tiver alguma dúvida ou sugestão de conteúdo, por favor, comente!

Comentários Disqus