O Ubuntu é uma das distribuições Linux mais polidas disponíveis, fundindo o trabalho de uma comunidade global de colaboradores que fornecem uma gama diversificada de habilidades para tornar o Ubuntu o que é.

Embora todos nós desfrutemos dos frutos de um novo lançamento do Ubuntu a cada seis meses, muitas pessoas perguntaram à equipe ao longo dos anos como essa ampla gama de colaboradores conseguiu se unir para construir um novo lançamento do Ubuntu..

Neste artigo, vamos explicar como é feita uma nova versão do Ubuntu, que tipo de habilidades e talentos são empregados e qual estrutura organizacional usamos para reunir essa gama de contribuições em uma unidade coesa..

Versões regulares

No coração do projeto Ubuntu está o compromisso de entregar um novo lançamento a cada seis meses. Ao contrário de muitos projetos de software que identificam um conjunto de recursos principais para entregar em um lançamento, e que muitas vezes estão dispostos a atrasar o lançamento até que esses recursos estejam completos, o Ubuntu nunca lança tarde. Se um determinado recurso não estiver pronto a tempo para o lançamento, nós aumentamos o recurso, não atrasamos o lançamento.

Esse período de seis meses é conhecido como Ciclo de Liberação e é publicado no início de um novo ciclo. Como exemplo, a versão atual de desenvolvimento (Ubuntu 10.10 Maverick Meerkat) tem sua programação publicada em http://wiki.ubuntu.com/MaverickReleaseSchedule.

O ciclo é dividido em alguns componentes principais:

Congela

Um congelamento é quando um tipo específico de desenvolvimento deve parar, geralmente pronto para ser liberado. Existem tipos diferentes de congelamento, como Congelar UI (sem mais alterações nos elementos da interface do usuário), congelamento de sequência (sem mais traduções) e congelamento de recurso (sem desenvolvimento de recurso mais significativo).

Alfas

Ao longo de um ciclo de lançamento, fazemos vários lançamentos de snapshots à medida que o release é desenvolvido. Esses lançamentos alpha são às vezes incompletos e com bugs (devido à sua natureza de trabalho em andamento), mas fornecem uma boa oportunidade para direcionar recursos para eles.

Betas

A versão beta é uma versão completa que requer muitos testes. Freqüentemente recomendamos o beta como um bom momento para os testadores atualizarem, testarem o Ubuntu e registrarem bugs.

Solte o candidato

Um release candidate vem um pouco antes da versão final e é liberado para estimular uma parte final dos testes da comunidade. Esse ciclo de seis meses e esses elementos diferentes estão presentes em cada versão, e a comunidade é bem-vinda para atualizar para uma nova versão de desenvolvimento assim que abrir para o trabalho - embora os usuários regulares possam esperar até os últimos estágios de desenvolvimento antes de experimente a nova versão.

Tudo começa com o Debian

A maneira como construímos o Ubuntu é pegar código-fonte de projetos de código-fonte aberto (conhecidos como upstreams) e carregá-lo em uma máquina de compilação no site de hospedagem do projeto Launchpad que construirá um pacote pronto para instalação em um sistema Ubuntu. Esses pacotes se combinam para formar a distribuição completa, desde o kernel que inicializa a máquina, até os aplicativos que você executa.

A primeira fase do ciclo de lançamento envolve trazer novas versões de componentes upstream para o Ubuntu. Para fazer isso nós importamos o pacote completo do Debian e construí-lo para o Ubuntu.

Nós usamos o Debian porque é a maneira mais eficaz de se manter atualizado com código upstream (mantenedores Debian empacotam novos lançamentos upstream frequentemente, frequentemente mais rápido do que somos capazes), e porque Debian e Ubuntu são similares em muitos maneiras para que suas correções de bugs são frequentemente correções de bugs para nós também.

Com este conjunto básico de pacotes do Debian importados para o Ubuntu, nós tomamos um conjunto de nossas modificações para muitos dos pacotes (conhecidos como patches), que transformam o pacote Debian em um que se parece mais com o Ubuntu..

Como exemplo, os pacotes Debian para o Gnome não incluem muitas das modificações que fazemos, como opções de software padrão, tema padrão, recursos adicionais do painel, etc. Todos esses patches que transformam os pacotes Debian em pacotes do Ubuntu estão disponíveis gratuitamente em http: //patches.ubuntu.com.

O próximo passo é decidir o desenvolvimento de novos recursos que queremos fazer e construir esses recursos na nova versão de desenvolvimento do Ubuntu. As decisões e os planos da funcionalidade do Ubuntu Developer Summit Primary são feitos no nosso Ubuntu Developer Summit duas vezes anual, cuja localização alterna entre os EUA e a Europa..

O Ubuntu Developer Summit (UDS), é um evento no qual enviamos nossa equipe completa de desenvolvimento do Ubuntu, e patrocinamos um número significativo de membros da comunidade para participar.

O evento de uma semana é dividido em nove faixas (Desktop, Servidor, Comunidade, Celular, Design, Fundações, Controle de Qualidade, Segurança e Ubuntu em ARM), cada qual tem um líder de trilha que programa sessões para cada faixa durante a semana. Essas sessões são solicitadas pela equipe da Canonical, pelos membros da comunidade e muito mais, e são projetadas para fornecer um local para discutir e planejar recursos específicos, com escopo específico para a nova versão.

Durante toda a semana da UDS, uma enorme variedade de tópicos é discutida, decisões são tomadas, soluções são desenvolvidas e, por fim, essas conclusões são documentadas. E assim, passamos para a fase de blueprinting.