LibreOffice: Plano de lançamentos

From The Document Foundation Wiki
Jump to: navigation, search

Ciclo de vida

O encadeamento de lançamentos baseados em tempo tem mostrado ser a alternativa para se produzir software livre com uma melhor qualidade. Lançamentos baseado em tempo é uma forma que não espera por funcionalidades ou correções de falhas, mas é baseada (como o mais puramente possível) no tempo. Isso impõe disciplina na introdução de correções, dá previsibilidade, e permite liberações mais regulares. É também o caso que nós necessariamente lançaremos mais cedo e, em seguida, de forma incremental lançaremos rapidamente correção de falha com base na versão estável anterior. Assim, se você tiver uma necessidade de versões com mais alta qualidade, pode fazer sentido adiar a atualização até a liberação da primeira, ou talvez segunda versão menor.

Sincronizando nosso cronograma de lançamento baseado no tempo com o resto do ecossistema do software livre também tem vantagens enormes, trazendo as nossas funcionalidades para os usuários o mais rapidamente possível – com um mínimo de defasagem no ciclo de distribuição. Em consequência, nós buscaremos lançamentos semestrais, ao longo do tempo e buscar alinhá-los a março/setembro.

Como resultado, os usuários obtêm nova versão secundária a cada 6 meses, com uma vasta gama de funcionalidades, correções e aprimoramentos. Além disso, eles recebem muitas pequenas versões depuradas. O primeiro lançamento X.Y.0 é destinado para usuários que querem as novidades mais cedo. É aconselhado a usuários mais conservadores a esperar por uma versão X.Y.Z com as correções disponíveis.

Observe que as datas mencionadas no planejamento podem ser modificadas se houver sérios problemas técnicos ou outros inconvenientes com o lançamento. Uma versão candidata (RC) extra pode ser necessária se a versão final não se ajustar aos critérios de liberação. Tal problema poderá prorrogar a data da versão final em uma ou mais semanas.

Lançamento 5.3

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
5.3.0 alfa 17/10/2016 20/11/2016
5.3.0 21/11/2016 5/2/2017
5.3.1 6/2/2017 5/3/2017
5.3.2 13/3/2017 9/4/2017
5.3.3 17/4/2017 14/5/2017
5.3.4 29/5/2017 25/6/2017
5.3.5 10/7/2017 9/8/2017
5.3.6 2/10/2017 29/10/2017
Término do suporte 26/11/2017

Leia também o cronograma detalhado e as notas do lançamento.

Lançamento 5.2

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
5.2.0 alfa 18/4/2016 28/5/2016
5.2.0 30/5/2016 7/8/2016
5.2.1 8/8/2016 4/9/2016
5.2.2 5/9/2016 2/10/2016
5.2.3 10/10/2016 6/11/2016
5.2.4 28/11/2016 25/12/2016
5.2.5 16/1/2017 12/2/2017
5.2.6 10/4/2017 7/5/2017
Término do suporte 4/6/2017

Leia também o cronograma detalhado e as notas do lançamento.

Lançamento 5.1

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
5.1.0 alfa 12/10/2015 15/11/2015
5.1.0 16/11/2015 7/2/2016
5.1.1 8/2/2016 6/3/2016
5.1.2 14/3/2016 10/4/2016
5.1.3 18/4/2016 15/5/2016
5.1.4 30/5/2016 26/6/2016
5.1.5 11/7/2016 7/8/2016
5.1.6 3/10/2016 30/10/2016
Término do suporte 27/11/2016

Leia também o cronograma detalhado e as notas do lançamento.

Lançamento 5.0

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
5.0.0 alfa 13/4/2015 (segunda) 13/5/2015 (quarta)
5.0.0 18/5/2015 (segunda) 29/7/2015 (quarta)
5.0.1 27/7/2015 (segunda) 26/8/2015 (quarta)
5.0.2 31/8/2015 (segunda) 23/9/2015 (quarta)
5.0.3 5/10/2015 (segunda) 28/10/2015 (quarta)
5.0.4 23/11/2015 (segunda) 16/12/2015 (quarta)
5.0.5 18/1/2016 (segunda) 10/2/2016 (quarta)
5.0.6 11/4/2016 (segunda) 4/5/2016 (quarta)
Término do suporte 29 de maio de 2016

Leia também o cronograma detalhado e as notas do lançamento.

Datas

O tempo de lançamento é aproximado mas a agenda define a semana do ano no lugar do dia exato. É porque primamos pela flexibilidade. O lançamento pode ser adiado por alguns dias devido a erros impeditivos, problemas na compilação e outras questões técnicas.

O lançamento é composto de várias versões betas e candidatas. São necessárias diversas ações para cada compilação. O fluxo de trabalho ideal tem se mostrado assim:

  • Segunda-feira - a data limite de submissão; um lembrete é enviado para a lista de regionalização (internacionalização l10n) dos desenvolvedores, antes do processo ser iniciado
  • Terça-feira - o marco é criado sob uma submissão a qual é compilada, permitindo testes de unidade, subsequentes, e testes de rejeição; o marco é anunciado nas listas de discussão de desenvolvedores e de testadores de garantia da qualidade (QA).
  • Quarta-feira - as compilações são enviadas para a página inicial de pré-lançamento; elas são anunciadas nas listas de discussão de desenvolvedores e de testadores de garantia da qualidade (QA).
  • Quinta-feira - as compilações são enviadas aos servidores da internet
  • Sexta-feira - as compilações ficam disponíveis na página oficial de pré-lançamento; elas são anunciadas através de muitos canais, por exemplo, listas de discussão, twitter entre outros

A versão final costuma ser anunciada na quarta-feira, poucos dias após a versão candidata final estiver disponível.

Observe que nós somos muito rigorosos com a versão candidata final, por isso a regressão completa não é necessária. Quando a versão candidata passa nos exames necessários ela é usada como a versão definitiva. E finalmente é apenas renomeada nos servidores.

Cronograma

O cronograma é baseado nas seguintes regras:

  • Fazer um lançamento secundário a cada 6 meses e sincronizar com as principais distribuições Linux. Ele sempre vem com uma vasta gama de funcionalidades, correções e melhorias.
  • Consertar as falhas a cada mês após o lançamento principal até que fique bom o suficiente para os usuários mais conservadores; diminuir a frequência depois.
  • Não coincidir datas finais para a liberação, se possível.
  • Oferecer suporte a um lançamento por pelo menos 1 ano.

O resultado é o seguinte gabarito:

lançamentos intercalados
evento inverno verão
congelamento x.y junho(i) dezembro(i)
lançamento da 1ª versão x.y.0 agosto(i) fevereiro(i)
lançamento de versão corrigida x.y.1 setembro(i) março(i)
lançamento de versão corrigida x.y.2 outubro(i) abril(i)
lançamento de versão corrigida x.y.3 novembro(i) maio(i)
lançamento de versão corrigida x.y.4 dezembro(i) junho(i)
lançamento de versão corrigida x.y.5 fevereiro(m) agosto(m)
lançamento de versão corrigida x.y.6 abril(m) outubro(m)

onde (i) significa início do mês e (m) significa meados do mês.

Esquema da versão

Fazemos diversas compilações para cada lançamento. O seguinte esquema de versão é usado:

  • X.Y.0.0.alfaN - n-ésima versão alfa da distribuição inicial
  • X.Y.0.0.betaN - n-ésima versão beta da distribuição inicial
  • X.Y.0.N - n-ésima versão candidata da distribuição inicial, sendo que a última RC é considerada como final e disponibilizada na página principal para distribuição
  • X.Y.1.N - n-ésima versão candidata da 1ª distribuição corrigida, sendo que a última RC é considerada como final e disponibilizada na página principal para distribuição

Parece ser o melhor compromisso com as seguintes vantagens:

  • de fácil compreensão para usuários normais, alfa e beta, de modo a definir expectativas razoáveis
  • classificação alfabética correta em RPM na página de informações de erros (bugzilla)
  • "fácil" para analisar (alfa e beta são delimitadas pelo ponto)

Houve um longo debate sobre este esquema na lista de discussão.

Acelerar o ciclo de lançamento

Esta aceleração do ciclo de lançamento envolve algumas considerações na engenharia de lançamento e esforços de controle de qualidade (QA). Para reduzir o custo destes, iremos, ao longo do tempo, trabalhar para fornecer dados completos, ou seja, contendo todos os idiomas, com instantâneos diários do ramo principal para permitir o teste contínuo de melhorias do código. Da mesma forma, pretendemos cada vez mais automatizar o processo de compilação para permitir um fluxo de liberação muito menor, e que continue a diminuir a pegada dos nossos binários para permitir a transferência muito mais rápida das construções do produto equivalente.

Versões com o suporte encerrado

Geralmente um ramo de distribuição tem um tempo de vida de aproximadamente nove meses. O término do suporte (EOL) chega um mês após o último lançamento planejado. Entretanto, se você quer um período maior para o suporte, sinta-se convidado a contratar os serviços de qualquer desenvolvedor certificado nível L3.

Lançamento 4.4

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
4.4.0 alfa 13/10/2014 (segunda) 12/11/2014 (quarta)
4.4.0 17/11/2014 (segunda) 28/1/2015 (quarta)
4.4.1 2/2/2015 (segunda) 25/2/2015 (quarta)
4.4.2 9/3/2015 (segunda) 1º/4/2015 (quarta)
4.4.3 13/4/2015 (segunda) 6/5/2015 (quarta)
4.4.4 25/5/2015 (segunda) 17/6/2015 (quarta)
4.4.5 6/7/2015 (segunda) 29/7/2015 (quarta)
4.4.6 28/9/2015 (segunda) 21/10/2015 (quarta)
4.4.7 9/11/2015 (segunda) 2/12/2015 (quarta)
Término do suporte 31 de dezembro de 2015

Leia também o cronograma detalhado e as notas do lançamento.

Lançamento 4.3

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
4.3.0 alfa 14/4/2014 (segunda) 14/5/2014 (quarta)
4.3.0 19/5/2014 (segunda) 30/7/2014 (quarta)
4.3.1 4/8/2014 (segunda) 27/8/2014 (quarta)
4.3.2 1º/9/2014 (segunda) 24/9/2014 (quarta)
4.3.3 6/10/2014 (segunda) 29/10/2014 (quarta)
4.3.4 10/11/2014 (segunda) 19/11/2014 (quarta)
4.3.5 24/11/2014 (segunda) 17/12/2014 (quarta)
4.3.6 12/1/2015 (segunda) 4/2/2015 (quarta)
4.3.7 6/4/2015 (segunda) 29/4/2015 (quarta)
Término do suporte 27 de maio de 2015

Leia também o cronograma detalhado e as notas do lançamento.

Lançamento 4.2

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
4.2.0 18/11/2013 (segunda) 29/1/2014 (quarta)
4.2.1 10/2/2014 (segunda) 19/2/2014 (quarta)
4.2.2 24/2/2014 (segunda) 5/3/2014 (quarta)
4.2.3 10/3/2014 (segunda) 2/4/2014 (quarta)
4.2.4 14/4/2014 (segunda) 7/5/2014 (quarta)
4.2.5 26/5/2014 (segunda) 18/6/2014 (quarta)
4.2.6 7/7/2014 (segunda) 30/7/2014 (quarta)
4.2.7 29/9/2014 (segunda) 22/10/2014 (quarta)
4.2.8 24/11/2014 (segunda) 10/12/2014 (quarta)
Término do suporte 6 de janeiro de 2015

Leia também o cronograma detalhado e as notas do lançamento.

Lançamento 4.1

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
4.1.0 20/5/2013 (segunda) 24/7/2013 (quarta)
4.1.1 5/8/2013 (segunda) 28/8/2013 (quarta)
4.1.2 2/9/2013 (segunda) 25/9/2013 (quarta)
4.1.3 7/10/2013 (segunda) 30/10/2013 (quarta)
4.1.4 2/12/2013 (segunda) 18/12/2013 (quarta)
4.1.5 13/1/2014 (segunda) 12/2/2014 (quarta)
4.1.6 7/4/2014 (segunda) 30/4/2014 (quarta)
Término do suporte 28 de maio de 2014

Leia também o cronograma detalhado e as notas do lançamento.

Lançamento 4.0

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
4.0.0 3/12/2012 (segunda) 6/2/2013 (quarta)
4.0.1 18/2/2013 (segunda) 6/3/2013 (quarta)
4.0.2 11/3/2013 (segunda) 3/4/2013 (quarta)
4.0.3 15/4/2013 (segunda) 8/5/2013 (quarta)
4.0.4 27/5/2013 (segunda) 19/6/2013 (quarta)
4.0.5 29/7/2013 (segunda) 21/8/2013 (quarta)
4.0.6 30/9/2013 (segunda) 23/10/2013 (quarta)
Término do suporte 21 de novembro de 2013

Leia também o cronograma detalhado e as notas do lançamento.

Lançamento 3.6

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
3.6.0 4/6/2012 (segunda) 8/8/2012 (quarta)
3.6.1 13/8/2012 (segunda) 29/8/2012 (quarta)
3.6.2 10/9/2012 (segunda) 3/10/2012 (quarta)
3.6.3 8/10/2012 (segunda) 31/10/2012 (quarta)
3.6.4 12/11/2012 (segunda) 5/12/2012 (quarta)
3.6.5 14/1/2013 (segunda) 30/1/2013 (quarta)
3.6.6 18/3/2013 (segunda) 10/4/2013 (quarta)
3.6.7 24/6/2013 (segunda) 17/7/2013 (quarta)
Término do suporte 15 de agosto de 2013

Leia também o cronograma detalhado e as notas do lançamento.

Lançamento 3.5

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
3.5.0 5/12/2011 (segunda) 14/2/2012 (terça)
3.5.1 20/2/2012 (segunda) 15/3/2012 (quinta)
3.5.2 19/3/2012 (segunda) 4/4/2012 (quarta)
3.5.3 16/4/2012 (segunda) 2/5/2012 (quarta)
3.5.4 14/5/2012 (segunda) 30/5/2012 (quarta)
3.5.5 16/6/2012 (segunda) 11/7/2012 (quarta)
3.5.6 30/7/2012 (segunda) 15/8/2012 (quarta)
3.5.7 17/9/2012 (segunda) 10/10/2012 (quarta)
Término do suporte 8 de novembro de 2012

Leia também o cronograma detalhado e as notas do lançamento.

Lançamento 3.4

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
3.4.0 1º/4/2011 (segunda) 1º/6/2011 (quarta)
3.4.1 13/6/2011 (segunda) 29/6/2011 (quarta)
3.4.2 11/7/2011 (segunda) 27/7/2011 (quarta)
3.4.3 15/8/2011 (segunda) 31/8/2011 (quarta)
3.4.4 24/10/2011 (segunda) 9/11/2011 (quarta)
3.4.5 12/12/2011 (segunda) 11/1/2012 (quarta)
3.4.6 5/3/2012 (segunda) 28/3/2012 (quarta)
Término do suporte 19 de abril de 2012

Leia também o cronograma detalhado e as notas do lançamento.

Lançamento BrOffice 3.3[1]

datas referenciais para a distribuição e correção de falhas
Lançamento Congelamento Publicação
3.3.0 30/11/2010 (segunda) 25/1/2011 (terça)
3.3.1 7/2/2011 (segunda) 23/2/2011 (quarta)
3.3.2 7/3/2011 (segunda) 22/3/2011 (terça)
3.3.3 30/5/2011 (segunda) 15/6/2011 (quarta)
3.3.4 1º/8/2011 (segunda) 17/8/2011 (quarta)
3.3.5 pulada pulada
Término do suporte 17 de setembro de 2011

Leia também o cronograma detalhado e as notas do lançamento (retirado do sítio libreoffice.org).

Referências

  1. Eliane Domingos apresenta palestra sobre TDF e BrOffice (aqui, aqui e aqui), Almalivre faz propaganda e Olivier Hallot anuncia nas listas