Normalmente, quando alguém pede para se afastar de algo amplamente difundido, testado e verificado em muitas plataformas, é uma expressão externa de um problema subjacente conhecido como "cheiro de código" e o acúmulo descontrolado de "dívida técnica" ou "código" dívida". O arquivo GNU havia acumulado uma quantidade bastante grande de dívida de código ao longo dos anos e, quando uma base de código não é mantida adequadamente, pode atingir um ponto de ruptura (código legado e até mesmo código legado mórbido).
Normalmente, seria realizado um processo de reengenharia e refatoração em intervalos para manter isso sob controle. Portanto, a verdadeira questão que está sendo colocada aqui é se uma versão refatorada do coreutils foi desenvolvida. Isso, é claro, inclui a possibilidade de uma substituição definitiva (como um caso especial) - assim como Wayland está sendo lançado para o X ... muitos de seus desenvolvedores saindo diretamente do campo X.
Minha sugestão é realmente entrar e refatorar coreutils. Alguém tem que fazer isso. E quem levanta a questão da substituição do coreutils - a sua ideia é o seu projeto.
Para esse fim, tire proveito de qualquer automação que você possa encontrar: mecanismos de refatoração, como o cscout, ou qualquer coisa que aplique métodos mais avançados de análise / síntese (por exemplo, redes formais de conceito). Mas a análise profunda ainda é uma área relativamente nova e aberta da pesquisa ativa - e passa para a Inteligência Artificial. (Um engenheiro de software de robô.)
A maioria dos utilitários já deve ter suítes de testes, para que a validação possa ser feita com mudanças passo a passo progressivas + etapas de teste de regressão automatizada; o que pode ser bastante rápido (por exemplo, 10 ou mais atualizações de revisão / dia). Uma complicação desse processo ocorre se houver dependências de hardware ou software de baixo nível em qualquer lugar do conjunto de software; já que isso implica validação em várias plataformas. Não sei muito disso no coreutils; deve haver algum tipo de separação entre as camadas de hardware ou software de baixo nível (por exemplo, o número de lugares onde o coreutils sabe que tipodo sistema de arquivos em que ele está deve ser mínimo ou, melhor, zero.) Os emuladores e máquinas virtuais, utilizados para fins de teste em várias plataformas, têm limitações. Por exemplo, o Mac OS X foi projetado especificamente para obstruir a capacidade de emular ou fazer a VM.