Pode ser uma peculiaridade pessoal minha, mas eu gosto de manter o código em projetos atuais - incluindo as bibliotecas / estruturas que eles usam. Parte disso é que acredito que um aplicativo Web é mais seguro se estiver totalmente corrigido e atualizado. Parte disso é apenas um toque de compulsão obsessiva da minha parte.
Nos últimos sete meses, fizemos uma grande reescrita em nosso software. Descontinuamos o framework Xaraya, que era lento e essencialmente morto como produto, e convertido para Cake PHP. (Escolhemos o Cake porque nos deu a chance de fazer uma reescrita muito rápida do nosso software e um aumento de desempenho suficiente sobre o Xaraya para fazer valer a pena.)
Implementamos o teste de unidade com o SimpleTest e seguimos todas as convenções de nomenclatura de arquivos e bancos de dados, etc.
O bolo agora está sendo atualizado para 2.0. E, não parece haver um caminho de migração viável para uma atualização. As convenções de nomenclatura para arquivos mudaram radicalmente e descartaram o SimpleTest em favor do PHPUnit.
Isso nos forçará a permanecer no ramo 1.3 porque, a menos que haja algum tipo de ferramenta de conversão, não será possível atualizar o Cake e, gradualmente, melhorar nosso código legado para colher os benefícios da nova estrutura do Cake . Então, como sempre, vamos acabar com uma estrutura antiga em nosso repositório Subversion e corrigi-la conforme necessário.
E é isso que me emociona toda vez. Muitos produtos de código aberto não facilitam o suficiente para manter os projetos baseados neles atualizados. Quando os desenvolvedores começarem a brincar com um novo brinquedo brilhante, alguns patches críticos serão feitos para ramificações mais antigas, mas a maior parte do foco será na nova base de código.
Como você lida com mudanças radicais nos projetos de código aberto que você usa? E, se você estiver desenvolvendo um produto de código aberto, mantenha os caminhos de atualização em mente ao desenvolver novas versões?