quinta-feira, 2 de junho de 2011

Python 3.3 vai deixar de suportar OS/2, Windows 2000 e VMS

De vez em quando chega o momento de eliminar alguns sistemas operacionais da lista de sistemas compatíveis para se ajustar à aquilo que os usuários têm usado. Também o número de desenvolvedores que contribuem para cada plataforma é significativo, já que é sempre necessário ter alguém a postos para que os novos lançamentos sejam na data correta e de qualidade. Outros fatores, tais como a idade do sistema operacional e os entraves para desenvolvimentos futuros também pesam na lista.

Victor Stinner recentemente propôs abandonar o suporte a OS/2 e VMS para CPython, um ano após a sua pergunta inicial sobre o suporte a OS/2. A questão inicial de Victor surgiu no momento em que ele trabalhava sem para em Unicode, mais especificamente em problemas com os.execvpe() e variáveis de sistema pela PEP 383 do surrogateescape. OS/2 e VMS no momento não estão representados no time de desenvolvedores e não são testados durante o processo de novos lançamentos da linguagem.

Ao escrever esta postagem, comecei a pensar sobre uma discussão anterior sobre deixar Windows 2000, o qual parecia cair no esquecimento. Sistemas com COMSPEC a command.com também estavam em processo de perda de suporte. A partir de agora ambos se juntam ao OS/2 e VMS. Windows 2000 também deixará de ter suporte, para que o trabalho de desenvolvimento seja mais simples, fazendo com que APIs antigas não sejam mais um problema, num sistema operacional que terminou seu ciclo em 2010.

De maneira a começar a deixar de suportar estes sistemas, estamos modificando a PEP 11.

PEP 11

Esta PEP delineia os sistemas operacionais que não são mais suportados e explica qual o processe de se adicionar um SO à lista.

Uma vez que se é decidido que um sistema deve ser removido, um anúncio formal da remoção é feito. Este anúncio é tradicionalmente feito para a versão que está em desenvolvimento, ou seja deixar o suporte para OS/2, VMS e Windows 2000 será feito para a versão Python 3.3.

O estágio inicial é feito automaticamente, como se levantar uma bandeira branca. O primeiro sinal é a falta de alguém disponível para manter o código e assegurar um lançamento de qualidade. Mudanças na compilação e instalação podem ser feitos para alertar usuários que a plataforma não é mais compatível. Uma nota então é colocada no documento "What's New" com a lista dos sistemas não mais suportados.

Após um ciclo de lançamentos sem suporte, a versão seguinte está pronta para remoção de código. Neste caso, código deve ser removido na versão 3.4. Provavelmente, não haverá uma remoção completa do código obsoleto, mas desenvolvedores que casualmente encontrem blocos #ifdef e seções configure obsoletos no código.

O que você pode fazer

Se você é usuário de OS/2 ou VMS, algumas coisas podem ser feitas para salvar sua plataforma.

Torne-se mantenedor

Nada é melhor para suporte do que um desenvolvedor ativo. Andrew MacIntyre tem sido o mantenedor de OS/2 já há algum tempo, e ele mencionou quando da pergunta inicial de Victor sobre OS/2, que o sistema está defasado quanto ai suporte de Unicode, e que essa deve ser uma área a ser trabalhada. Com relação a VMS, certo suporte existe pelo http://www.vmspython.org, mas com tem sido discutido no problema 11918, alguém tem de aparecer para manter o suporte a VMS.

Se você estiver interessado em assumir o desenvolvimento em uma das plataformas, dê uma olhada no developer's guide e veja o processo de desenvolvimento atual.

Contribua com um "build slave"

Com a presença de um mantenedor, plataformas têm uma maior chance de serem mantidas. Com um "build slave", as chances aumentam ainda mais, não só em ser mantida, mas também em qualidade.

Python usa o Buildbot para uma integração contínua, e "build slaves" são fornecidos para Linux, Mas, Windows e Open Indiana (Solaris), para várias versões, arquiteturas e configurações. Se você puder doar uma máquina ou tempo para manter OS/2 e VMS na lista de sistemas suportados, contate a lista python-dev.

Nenhum comentário:

Postar um comentário