2 pontos por GN⁺ 2025-08-07 | 1 comentários | Compartilhar no WhatsApp
  • Descobri que o software Claude Desktop da Anthropic utiliza a biblioteca open source de simulação de entrada enigo que desenvolvi
  • O enigo funciona em vários sistemas operacionais, incluindo Windows, macOS, BSD e Linux, e é usado de forma central no Claude Desktop baseado em Electron
  • Enviei uma candidatura para a Anthropic, mas recebi uma recusa por causa de falta de pessoal na equipe
  • O enigo é licenciado sob MIT, portanto é gratuito para qualquer pessoa usar; assim, não recebo ganho financeiro direto, apenas reputação
  • Mesmo tendo dado ‘braços e pernas’ ao Claude, expresso arrependimento e, ao mesmo tempo, satisfação por ser recusado no processo de contratação

Introdução

Em outubro de 2024, a Anthropic lançou a funcionalidade "Claude Computer Use". Ela permite que a IA controle um computador, tornando possível, por exemplo, copiar dados em um navegador e transferi-los para uma planilha. Como mantenedor de uma biblioteca para controle de computador, fiquei interessado na abordagem da Anthropic e quis analisá-la e aprender com isso. Em março de 2025, a Anthropic era uma empresa líder em IA com valor de mercado acima de US$ 60 bilhões.

Biblioteca enigo e Claude Desktop

Descobri que a Anthropic utiliza a biblioteca enigo, que eu desenvolvi, no Claude Desktop. No macOS, é possível verificar se o enigo está em uso no Claude Desktop com o seguinte comando:

$ 7z x Claude.dmg
$ perl -nle 'print $& while /.{0,67}enigo.{0,30}/g' Claude/Claude.app/Contents/Resources/app.asar.unpacked/node_modules/claude-native/claude-native-binding.node

Exemplo de saída:

  • /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/enigo-0.2.1/src/macos/macos_impl.rs
  • Da mesma forma, também confirmei o uso do enigo no Claude para Windows

a caraterísticas do enigo:

  • Suporta muitas plataformas (Windows, macOS, BSD, Linux (wayland, X11, libei))
  • Escrito em Rust, oferece segurança de memória e alto desempenho
  • Não requer privilégios de root
  • Mais de 300 mil downloads no crates.io e mais de 1200 stars no GitHub
  • A simulação de entrada é uma área bastante difícil, devido às diferenças nos métodos de entrada entre os vários sistemas e à falta de documentação
  • É a única biblioteca em Rust que implementa simulação de entrada multiplataforma de forma prática

Código aberto e remuneração

enigo é distribuído sob licença MIT, então qualquer pessoa pode usá-lo gratuitamente. Não recebo compensação financeira direta de empresas ou usuários por meio dele. Em vez disso, o retorno vem na forma de reconhecimento na comunidade, como estrelas no GitHub e downloads no crates.io.

Electron apps e a ironia da ausência de Linux

O Claude Desktop é baseado em Electron, mas oficialmente só oferece suporte a macOS e Windows. Mesmo com o ponto forte do Electron de ser multiplataforma, não existe uma versão para Linux. A comunidade de usuários tentou portar para Linux usando código Stub, por exemplo: claude-desktop-linux-flake etc.
Curiosamente, mesmo com o suporte real a Linux no enigo, esse caminho alternativo ainda foi necessário.

Candidatura à Anthropic e experiência de recusa

Soube, por meio de um contato, que a Anthropic estava contratando para uma vaga interna de desenvolvimento de novos recursos no time do Claude Desktop. Como esse time usa o enigo de forma central, achei que era uma oportunidade ideal e enviei meu currículo.

  • O e-mail de resposta automática informou que o time estava sem pessoal suficiente para revisar novas candidaturas
  • Semanas depois, recebi uma mensagem de recusa e a contratação não avançou

Se eu tivesse sido contratado:

  • Queria evoluir recursos semelhantes ao Computer Use do Claude Desktop
  • Eu tinha expertise para contribuir com a portabilidade do Claude Desktop para Linux
  • Eu poderia ter ajudado bastante no amadurecimento e na consolidação do projeto enigo

Conclusão e reflexões

e sinto orgulho de ver o enigo adotado pelo Anthropic Claude Desktop. Ao mesmo tempo, recebo com bom humor a situação de ter sido recusado por uma empresa que utiliza os ‘braços e pernas’ que eu construí. Para finalizar, brinco que, com isso, estou seguro contra o Roko's Basilisk (cenário de punição de uma futura super IA).

1 comentários

 
GN⁺ 2025-08-07
Comentário do Hacker News
  • Sou o autor do texto do blog; obrigado por recomendar. Se tiver qualquer dúvida, pode perguntar quando quiser, e também queria ouvir feedback do post. Como esse é um dos meus primeiros textos, quero melhorar minha escrita.

    • Acho que seria melhor mudar a licença para AGPL ou uma “licença customizada (entre em contato para consulta de pagamento)”, e seria bom incluir um link com o motivo. Se não for uma licença viral como a GPL, acaba acontecendo que empresas lucram só com os desenvolvedores open source sem devolver nada. O ideal da GPL é para pessoas, não para empresas (“coisa de três advogados de sobretudo”), não para corporações; a empresa avalia que o código do desenvolvedor é bom o suficiente para usar no enterprise e ainda assim ignora quem criou. Já fiz essa escolha e gerencio todos os meus projetos com AGPL; se precisar de condições customizadas, pode me acionar.
    • Fiquei curioso sobre o que o Claptrap sentiu (link do YouTube). Você se esforçou muito, parabéns de coração. A recusa foi uma pena, mas isso me lembra a história do desenvolvedor do Homebrew que foi rejeitado pelo Google (link relacionado).
    • Queria elogiar o ótimo trabalho. Na verdade, muitos desenvolvedores open source têm histórias parecidas. Também já aconteceu comigo quando a Mojang usou meu motor voxel.
    • Como esse post está ganhando repercussão no Hacker News, espero que um dia alguém da Anthropic leia, se desculpe de verdade e faça uma oferta de contratação, num final feliz. Tomara que dê tudo certo.
    • Fico curioso se mudar para AGPL não traria mais recompensa, reconhecimento e oportunidades de emprego.
  • Por indicação de um amigo, soube de uma vaga aberta na Anthropic para a equipe que implementa uma funcionalidade nova e fechada do Claude Desktop com enigo e me candidatei. O e-mail automático disse que só contatam aprovados, e como não tive resposta por semanas, imaginei que já tivessem contratado outra pessoa. Na prática, há 10 anos eu não aplico para grandes empresas, porque nunca tinha retorno algum. A única exceção foi a JaneStreet, onde, ao escrever uma apresentação breve da minha área de interesse, já recebi contato. Já via recomendação de amigo, fica muito mais fácil conseguir entrevista na Google ou Apple.

    • Durante minha carreira, passei por 6 empresas; nunca recebi resposta enviando currículo pelo site. Sempre tive que encontrar alguém real e pedir indicação. Recomendo o mesmo aqui: não há motivo para a Anthropic não usar alguém tão qualificado quanto você. Conectar por um amigo de amigo e depois conversar por telefone vale muito.
    • O fato de a JaneStreet ter sido exceção é interessante; se uma empresa escolhe OCaml como linguagem principal, parece que ela usa qualquer estratégia para atrair talentos.
  • Se a pergunta é por que não pagar: esse desenvolvedor já entregou de graça a feature que a empresa queria. Ignorá-lo não parece melhorar a reputação deles.

    • Uma licença alternativa que eu sugeriria: se uma companhia ganha mais de US$ 100 milhões por ano de receita e não contrata quem fez a biblioteca, seria cobrado em licença comercial uma taxa igual ao pacote total de remuneração de um diretor ou principal engineer (que gerencia 50+ pessoas, no teto de custo da empresa) ao autor original. Em projetos open source com múltiplos autores, esse valor iria para a fundação que mantém o projeto; se um projeto central usado por todo big tech como ffmpeg usasse essa licença, o retorno seria de milhões de dólares, e ainda assim saindo bem menos caro do que desenvolver internamente.
    • Se a empresa contratar esse dev diretamente,
      • fica fácil decidir quais tarefas pedir;
      • você sabe que ele já ama esse tipo de trabalho e é competente;
      • ganha-se propriedade do que ele entrega e uma vantagem competitiva;
      • e no fim, quase não custa nada.
    • Hoje esse projeto é só meu hobby e ainda tem muitos bugs; sem receita, não posso aumentar tempo dedicado. Se me contratassem, eu focaria totalmente em correções de bug e avançaria bem mais rápido.
    • Se essa ferramenta for realmente central para a empresa, por que não contratar o dev com mais experiência nesse campo? Ainda mais se a vaga foi aberta para encaixar esse profissional. Se um concorrente o contratar e ficar com a tecnologia, o gap pode ser grande; mesmo se a ferramenta não atender às expectativas, a empresa ainda ganha um engenheiro excelente a mais.
    • Porque assim a empresa pode pedir para esse dev implementar em prioridade as funcionalidades que deseja; e é justamente por isso que a maioria das empresas contrata autores de open source.
  • Acho que, se o autor tivesse pedido diretamente uma indicação calorosa a um amigo de amigo, teria tido um resultado melhor sem passar pelo processo de candidatura; na prática, é assim que funciona a cultura de contratação em TI.

    • Eu também penso assim. Se o OP tivesse publicado cedo no blog que sua biblioteca era usada no Claude e a promovido para ganhar destaque no HN, Reddit etc., provavelmente teria surgido mais interesse e até uma contratação, mesmo que não fosse pela Anthropic — sempre pode haver uma empresa concorrente interessada.
    • No fim, estar dentro de uma rede de contatos não é necessariamente ruim: é bem mais seguro. Contratar apenas por documentos e entrevista de poucas horas é uma grande loteria, e mesmo se não for exatamente o esperado pode ser difícil despedir depois.
    • Pela minha experiência na Anthropic e na OpenAI, recomendação interna nunca foi critério importante. Os contratados eram, em geral, bem juniores, e todos os candidatos precisavam fazer uma questão bem básica de Python no primeiro round — aquela que um engenheiro júnior de 1-2 anos já resolveria. Se não entregassem a resposta correta na hora, não passava nem com discussão. Esse formato é bastante desfavorável para seniores, diferente da Meta, onde quanto mais sênior, perguntas mais profundas, com manager junto na entrevista. O processo da Anthropic é meio amador nesse sentido, quase rejeitando sêniores; reforço que mesmo com networking interno, passar no teste de codificação é crucial.
  • Acho que estamos caminhando para uma era em que a escolha de licença não faz tanta diferença: se uma big tech quiser um open-source library, pode mandar uma IA “reescrever no estilo de Guerra e Paz”; no caso recente Cheatingdaddy/Pickle, até houve cópia sem reescrever.

    • Fico curioso se alguém já pediu para uma IA criar um projeto complexo completo do zero até o fim.
    • Quero saber se há provas de que big techs realmente fazem esse “copiar só mudando o estilo”, e se isso seria legalmente aceitável. Mesmo que treinamento de IA possa ser fair use, não acho que IA seja uma caixa mágica que elimina direitos autorais.
    • Se isso for tecnicamente viável, o custo de desenvolver bibliotecas cai drasticamente, e manteredores de open source podem escrever com menos esforço.
  • Isso parece retratar as práticas de contratação do verão de 2025: muito provável que currículo e cover letter tenham sido descartados sem leitura por filtro automático; dizer que “o time não tem tempo para revisar mais candidaturas” é, basicamente, dizer que não houve esforço nenhum. Pareceu até improvável que sequer perceberam o quanto a vaga e o candidato combinavam.

    • Para mim, uma resposta dizendo “nem revisamos os documentos” até parece mais esperançosa, porque aí você consegue testar versões diferentes de currículo.
    • Do ponto de vista da Anthropic, faz sentido, porque vão receber uma avalanche de candidaturas globais. Sendo uma empresa tão cobiçada, dá para imaginar dezenas de milhares; e a mídia segue vendendo a ideia de contratos de US$ 100 milhões para um talento de IA, o que torna tudo ainda mais pesado.
    • Outra prática de contratação em IA neste verão é o Mark Zuckerberg estourar mais de US$ 100 milhões em ofertas para desenvolvedores famosos. O OP, nesse contexto, se adicionar no LinkedIn “autor da biblioteca de interação com computador usada pela Anthropic”, teria garagem de Ferrari até a borda.
    • Acho que a época em que contribuir para open source aumentava a chance de ser contratado por uma tech “quente” já passou. Se ninguém de dentro recomendar ao decisor, por melhor que você escreva o código core, o hiring manager nem liga. Não sinto mais vontade de investir tempo em open source: preciso cuidar da casa, pagar contas, e não vejo retorno bom em entregar meu tempo para big corp e ser traído depois. Às vezes fico deprimido ao perceber como isso mudou.
    • A Anthropic é empresa de IA, então naturalmente deveria filtrar currículos com IA; perder talentos desse nível é só prova de que o filtro de IA deles não agrega.
  • Fico pensando se não é por causa da região; a Anthropic é de São Francisco e o autor é de Munique, talvez eles não queiram contratar fora dos EUA no momento — considerando a questão de visto nos EUA, isso é bem plausível.

    • Minha empresa é bem menor e ainda contrata pessoas em vários países; não é necessário ter escritório físico, e acho que a maioria dos países não tem essa restrição.
    • Em Londres também é igual.
  • Penso que o mercado de TI está contraditório: as empresas não contratam quem não tem muito projeto no portfólio, mas, quando o candidato acumula algumas estrelas no GitHub, a empresa já usou aquele trabalho no seu objetivo e depois diz “sem interesse em contratar”, o que desanima.

    • Parece que eu mesmo construo esse cenário na cabeça para racionalizar a dificuldade de conseguir emprego.
    • No meu caso, curiosamente, apagar o portfólio e destacar só a carreira deu resultados bem melhores.
  • Não sei se minha opinião está certa, mas acho que não é bom um dev independente usar licença open source excessivamente permissiva. As empresas aproveitam o software sem pagar nada nem contribuir; se esse software não existisse, elas contratariam pessoas ou terceirizariam o trabalho, mas com open source elas poupam headcount e, no fim, desvalorizam o engenheiro de big tech. Não há histórico com dados que comprove que publicar open source leva à contratação.

    • Concordo. Se a intenção é fazer open source de coração, faz sentido usar uma licença obrigatoriamente aberta como GPL; caso contrário, é preciso aceitar que está entregando de graça para big techs ricas sem expectativa. Não existe cláusula de direitos autorais garantindo remuneração do autor.
  • Ao ler “fiquei sabendo de uma vaga aberta da Anthropic via amigo de amigo”, parece que, em vez de mandar cover letter, seria mais eficaz encontrar a pessoa e bater um papo como amigos tomando café. O mais importante no processo de contratação é provar que “somos pessoas com quem vale a pena trabalhar juntos”, não só ser elegível no formulário.

    • É importante ter uma estratégia para evitar que seu nome entre na fila oficial de candidatura, fazendo o RH revisá-lo manualmente por dentro. Se a empresa precisar de você, ela é que vem até você primeiro, e assim você pula todo o processo chato de recrutamento.