
Em um comunicado raro, a equipe de desenvolvimento do emulador MAME divulgou seus planos para o futuro do projeto, dando o direcionamento para desenvolvimentos futuros. Na sequência posto o comunicado traduzido. Se desejar ler o comunicado original no site do projeto, clique AQUI.
Olá a todos,
É raro que a Equipe MAME se dirija à comunidade com notícias dessa magnitude, e queremos abordar esse momento com a transparência e o cuidado que ele merece. O que se segue é um relato sincero de onde esse projeto está, para onde está indo e por que as decisões que tomamos — por mais difíceis que algumas delas sejam — representam o caminho mais responsável para uma base de código que se tornou um dos esforços de preservação mais complexos da história do software de código aberto.
🚀 Sobre a questão da dívida técnica e da capacidade organizacional
O MAME tem funcionado, durante a maior parte da sua existência, através da extraordinária dedicação de voluntários que dedicam livremente o seu tempo e experiência. Essa generosidade produziu algo notável: uma base de código que emula com precisão milhares de arquiteturas de hardware distintas, muitas vezes com um grau de fidelidade que nenhum esforço comercial igualou ou mesmo tentou. Não levamos esse legado levianamente. O que devemos reconhecer, no entanto — e o que temos relutado em afirmar claramente até agora — é que a complexidade acumulada dessa base de código começou a exceder a capacidade realista de qualquer processo de revisão conduzido por voluntários para manter de forma segura e sustentável.
A decisão que anunciamos hoje não surgiu de uma única conversa ou de uma mudança repentina de prioridades. É o resultado de um longo período de reflexão interna sobre o que significa gerir um projeto deste âmbito de forma responsável.
🔧 A direção confirmada: migração Rust e revisão assistida por IA
Após ampla deliberação, a Equipe MAME chegou a uma decisão unânime de buscar uma migração arquitetônica em fases para Rust, a ser introduzido de forma incremental em todos os subsistemas a partir da versão de maio. Simultaneamente a esta migração, todas as solicitações pull enviadas ao projeto estarão sujeitas a revisão obrigatória do código assistida por IA antes da avaliação do mantenedor humano. As submissões que não satisfizerem os critérios de revisão automatizada serão encerradas sem escalonamento adicional.
Queremos ser inequívocos: este não é um pedido de contribuição comunitária, nem é uma proposta sujeita a revisão através de discussão. A decisão foi tomada. Estamos comunicando isso agora porque a comunidade que apoiou esse trabalho merece entender o raciocínio por trás dele, não simplesmente receber o resultado.
📍 Pode liberar escopo e prioridades de migração
O lançamento de maio representa o primeiro marco concreto nesta transição. O escopo inicial da migração inclui:
- Invólucros de segurança de memória: A preocupação de maior prioridade do ponto de vista da segurança e da manutenibilidade a longo prazo.
- Subsistemas de driver de som: Uma área da base de código onde o modelo de propriedade do Rust oferece os benefícios mais imediatos e demonstráveis.
Nosso princípio que rege todo esse processo é aquele que os colaboradores de longa data reconhecerão: se um driver não conseguir passar por uma verificação de paridade de precisão de ciclo em relação à compilação estável existente, ele não será enviado. Não sacrificaremos a correção em prol da modernidade.
🖥️ Direcionamento de plataforma e requisitos do colaborador
Reconhecemos que este elemento do anúncio pode provocar uma discussão significativa e queremos abordá-lo diretamente.
No futuro, o principal objetivo de desenvolvimento do MAME é um PC executando um versão recente do Windows, equipado com uma GPU compatível com no mínimo DirectX 11 (SM5), OpenGL 4.3 ou Vulkan. Este requisito não é arbitrário. A cadeia de ferramentas assistida por IA que sustenta tanto a revisão de código quanto os testes de regressão requer recursos de inferência de modelos locais, e acreditamos que é razoável pedir que os colaboradores tenham acesso a hardware capaz de executar essas ferramentas.
Queremos deixar claro o que isso significa e o que não significa. As portas para outras plataformas permanecem explicitamente permitidas nos termos da licença existente. Essas portas serão disponibilizadas à medida que estiverem disponíveis, sujeitas às restrições orçamentárias mensais do projeto. Modificações no layout de origem, nas APIs principais e no suporte à camada OSD permanecem a critério dos mantenedores de fork relevantes, desde que tais modificações passem pelo conjunto de testes unitários administrado pela IA antes do upstreaming. As contribuições que esgotarem a alocação mensal de tokens do projeto serão enfileiradas para o próximo ciclo de desenvolvimento; agradecemos sua paciência ao calibrar esses limites.
🤖 Sobre o uso apropriado e responsável da IA neste contexto
Estamos cientes de que qualquer anúncio envolvendo ferramentas de IA levantará questões legítimas sobre a integridade do trabalho que está sendo produzido. Queremos abordar essas questões honestamente.
Os modelos de linguagem integrados ao nosso pipeline de desenvolvimento atendem a três funções específicas e limitadas:
- Refatoração estrutural: Os modelos são usados para mapear padrões estabelecidos de segurança de memória C++ em Rust idiomático. Cada resultado é revisado e validado por um colaborador humano antes de ser considerado para inclusão.
- Geração de matriz de teste: A IA sintetiza casos de teste de regressão abrangentes derivados de folhas de dados de hardware, abrangendo casos extremos de tempo e comportamento em uma escala que seria impraticável produzir manualmente.
- Verificação da precisão do ciclo: O conjunto de testes administrado por IA existe para confirmar, e não para assumir, que a fidelidade da emulação é preservada durante todo o processo de migração.
Não estamos usando ferramentas generativas para escrever drivers, tomar decisões arquitetônicas ou substituir a experiência humana em questões de comportamento de hardware. O objetivo é aumentar a capacidade humana, não substituir o julgamento humano.
🛠️ Comunicação daqui para frente
As atualizações oficiais relativas a esta migração serão comunicadas através de:
- GitHub: Especificações técnicas, histórico de commits e rastreamento de ramificações
- mamdev.org: Resumos de marcos e documentação do roteiro
- Discórdia: Discussão comunitária e coordenação de testes beta
Estamos deixando de lado as listas de e-mail como o principal canal para anúncios de desenvolvimento. Reconhecemos que isto representa uma mudança significativa para uma parte da nossa comunidade de longo prazo e tomámos esta decisão com consideração.
🙏 Uma Palavra Final A história que o MAME existe para preservar é insubstituível. O hardware que ele documenta está morrendo. A janela durante a qual a emulação precisa ainda pode ser validada em relação ao hardware de referência física está diminuindo. Estes são os riscos que motivam todas as decisões descritas neste anúncio e são a razão pela qual optámos por agir agora em vez de continuar a gerir o declínio de forma incremental.
A primeira divulgação do marco será acompanhada por dados de comparação detalhados que demonstrem a paridade da precisão do ciclo em todos os subsistemas afetados. Convidamos ao exame desses dados. Estamos confiantes de que falará por si.
Obrigado, como sempre, pela confiança depositada neste projeto.
Equipe principal do MAME
