A cada seis meses nós lançamos uma nova versão do Ubuntu. Cada um reúne centenas de desenvolvedores, tradutores, testadores e escritores de documentação para integrar os mais recentes e melhores aplicativos de upstream, bem como tecnologias novas e inovadoras do Ubuntu..

Construir e lançar um novo sistema operacional a cada seis meses é agitado. Realmente agitado. No entanto, desde 2004, quando fundamos o projeto, nos esforçamos para obter o melhor de todos que participam da construção do Ubuntu, garantindo que cada versão seja tão boa quanto possível..

Este artigo explica como esse caos organizado funciona e fornece uma visão de como o Ubuntu é organizado. Tudo é encerrado em um ciclo de lançamento rigoroso, composto de uma série de marcos importantes, que estão sempre disponíveis publicamente. Vamos começar olhando para o início de um novo ciclo.

Lançando a rede

Antes mesmo de começarmos a nova versão, e enquanto ainda estamos dando os retoques finais à versão anterior, começamos a realizar um exercício de coleta de requisitos. As equipes da Canonical buscam diferentes interessados ​​e a comunidade para ver o que o próximo lançamento deve focar.

Quais novos recursos o Ubuntu precisa? Quais problemas exigem correção? Quais casos de uso devemos apoiar? Esse processo resulta em uma lista de necessidades que começamos a classificar em áreas prioritárias de foco.

Ao mesmo tempo, estamos coordenando a estrutura do próximo Ubuntu Developer Summit. Esse evento cara a cara acontece algumas semanas antes do início de cada novo ciclo de lançamento. Enviamos quase todos os engenheiros do Ubuntu da Canonical e patrocinamos uma série de membros importantes da comunidade para se juntar a nós. O evento está aberto a todos, e muitos representantes de empresas também participam.

No Ubuntu Developer Summit, temos 14 faixas cobrindo diferentes temas e agendamos sessões de discussão abertas para as várias áreas de foco. O objetivo de cada sessão é discutir o tópico e fazer e documentar decisões e ações atribuídas em projetos públicos. Estas são páginas da web que usamos para rastrear o trabalho nos recursos de maneira aberta e transparente. Você pode ver a interface em http://status.ubuntu.com para a próxima versão do Ubuntu.

A primeira tarefa que precisamos resolver em um novo ciclo é a finalização do conjunto de ferramentas. O conjunto de ferramentas é o conjunto principal de ferramentas de desenvolvedor usadas para criar software para o lançamento. Este trabalho profundo e sujo de baixo nível é executado primeiro, e então nós sincronizamos o repositório do Debian Unstable com este toolchain. Isso efetivamente constrói todos os pacotes Debian contra o toolchain, então nós temos o Debian Unstable no nosso repositório de desenvolvedores do Ubuntu..

Quando esta sincronização é concluída, os desenvolvedores do Ubuntu começam a aplicar as centenas de correções do Ubuntu a esses pacotes que transformam o Debian Unstable no Ubuntu. Neste ponto, temos uma versão de desenvolvedor do Ubuntu que parece e se parece com nosso último lançamento, mas construída contra os novos pacotes Debian e usando nosso toolchain. Agora o trabalho real pode começar.

Captura do dia

Nos meses seguintes, a comunidade de desenvolvedores começa a trabalhar nos recursos e objetivos acordados no Ubuntu Developer Summit. O progresso é feito todos os dias: os desenvolvedores fazem a triagem e priorizam bugs, consertam e carregam correções no arquivo. Novos recursos são desenvolvidos, empacotados e carregados, bem.

Todos os dias, quando um desenvolvedor do Ubuntu acorda, ele atualiza o sistema para obter os pacotes mais recentes e, em seguida, começa a trabalhar em seus recursos e bugs. Normalmente, esse fluxo de trabalho envolve examinar a lista de erros atual e os bugs de prioridade mais alta e resolvê-los, enquanto trabalha nas metas de recursos do ciclo. Esse trabalho de recurso geralmente envolve recursos específicos de coleta seletiva de fluxos que são de interesse ou a criação do código para esses novos recursos e a criação deles no lançamento.

Uma parte importante disso é o novo trabalho de desenvolvimento que entra no projeto Ayatana com o Unity, os indicadores e outras funcionalidades inovadoras de desktop. Esse trabalho é dividido em duas equipes principais: a equipe de Design projeta a funcionalidade com base nas necessidades do usuário e a equipe do Desktop usa esses designs para escrever o código para implementá-los..

Versões regulares

Quando a equipe de Desktop Experience faz um lançamento, eles enviam o código para a equipe de Engenharia de Desktop do Ubuntu, que então empacota e faz o upload para o arquivo, onde todos podem rodar e testar o novo código..

Em cada lançamento, nos esforçamos para ter uma nova equipe do Desktop Experience pelo menos uma vez por semana (geralmente na quinta-feira). Este prazo semanal tem sido útil para o progresso regular. Ao longo deste período, nós lançamos versões de desenvolvimento do Ubuntu que encorajamos a comunidade a testar, arquivar erros e ajudar a melhorar.

O Alpha 1 é logo após o lançamento do novo ciclo de lançamento e inclui os novos pacotes Debian com fusões incluídas. Alfa 2 é quando você normalmente começa a ver novos recursos significativos. Alpha 3 geralmente é lançado alguns meses antes do final do Alpha e antes do Feature Freeze..

No Feature Freeze, bloqueamos o release para que nenhum grande recurso novo seja permitido e todo o tempo do desenvolvedor esteja focado em refinar o que já está lá. Este marco efetivamente troca a engrenagem de embutir recursos novos e não testados em qualidade de construção para o que já temos.