Sobre o cuidado com os dados do usuário: NeoVim fez com que arquivos de undo do Vim fossem apagados
Uma mudança no recurso de undo persistente do Neovim fez com que ele sobrescrevesse ou apagasse arquivos de histórico de undo existentes, inclusive os criados pelo Vim, levando alguns usuários a perder anos de histórico de edição. Os comentaristas discutem se isso reflete uma falta mais profunda de “dever de cuidado” no software moderno e de código aberto, contrastando avisos legais e a retórica de “presente gratuito” com a expectativa razoável dos usuários de que ferramentas não destruam dados silenciosamente. O tópico se amplia para questões de compatibilidade retroativa, responsabilidade moral versus legal e quanto cuidado os mantenedores de ferramentas gratuitas amplamente usadas devem às pessoas que dependem delas.
Mudança no undo persistente do Neovim e perda de dados
- O Neovim alterou o formato do seu arquivo de undo persistente para suportar eventos de mudança em nível de byte (para tree-sitter, LSP, etc.).
- Ao encontrar um arquivo de undo em formato antigo, o Neovim o apaga e substitui, em vez de migrá-lo ou ignorá-lo.
- Se Vim e Neovim estiverem configurados para compartilhar o mesmo
undodir, isso também destrói o histórico de undo do Vim; por padrão, seus diretórios diferem, então as colisões só acontecem com configuração compartilhada. - Alguns argumentam que o Neovim deveria ter usado um nome de arquivo/diretório diferente, ignorado arquivos antigos ou ao menos avisado ou feito backup; outros dizem que é uma quebra razoável para um formato fundamentalmente defeituoso.
Dever de cuidado vs “é software livre”
- Um lado: mesmo software livre/de código aberto tem o dever moral de não destruir silenciosamente dados do usuário, especialmente dados produzidos por outro programa; avisos e licenças não apagam obrigações éticas.
- Visão oposta: mantenedores que oferecem trabalho não remunerado não devem esse tipo de obrigação além da licença; se você quer comportamento diferente, contribua, faça um fork ou não use.
- Vários rejeitam defesas legalistas: estar “NO ESTADO EM QUE SE ENCONTRA” pode limitar a responsabilidade, mas não protege reputação nem críticas.
- Muitos veem a escolha do Neovim, e sua resposta defensiva inicial às reclamações, como emblemáticas de um declínio mais amplo em software que respeita o usuário.
Expectativas do usuário, semântica do undo e fluxos de trabalho
- Alguns consideram o undo persistente uma rede de segurança leve para travamentos ou saídas acidentais, não um armazenamento de histórico de longo prazo; argumentam que usá-lo como backup é um mau uso e que o correto é usar VCS/backups apropriados.
- Outros observam que o recurso se chama literalmente “persistent undo” e é documentado como preservando histórico; eles tinham fluxos de trabalho que duravam semanas ou meses e se sentiram enganados pela exclusão silenciosa.
- Há debate sobre a localização dos dados: alguns afirmam que undo em
~/.cacheé inerentemente efêmero; outros apontam que a documentação do Neovim o coloca em state e, em qualquer caso, o próprio aplicativo escolheu apagá-lo.
Vim vs Neovim e alternativas
- Alguns se sentem validados por terem permanecido no Vim, citando sua estabilidade e compatibilidade retroativa de longo prazo.
- Outros dizem que o Neovim melhorou padrões, plugins assíncronos e recursos modernos no estilo IDE, e que mudanças que quebram compatibilidade são aceitáveis em nome do progresso.
- Vários sugerem outros editores (Helix, ki, IDEs com histórico local) ou simplesmente usar Git/etckeeper/scripts de backup para versionamento.
Subthread de drama político/social
- Parte da discussão desvia para a controvérsia sobre o uso pelo Neovim e posterior remoção de uma citação de uma figura polarizadora, e acusações de “dar plataforma” a visões políticas extremas.
- Os comentaristas se dividem entre ver isso como um comportamento exagerado de “multidão” e vê-lo como uma preocupação válida sobre quem os projetos escolhem endossar.