2 puntos por GN⁺ 2025-08-07 | 1 comentarios | Compartir por WhatsApp
  • Descubrí que el software Claude Desktop de Anthropic utiliza mi biblioteca de código abierto de simulación de entrada enigo.
  • enigo funciona en varios sistemas operativos, incluyendo Windows, macOS, BSD y Linux, y se utiliza de forma central en Claude Desktop, que se basa en Electron.
  • Envié mi solicitud a Anthropic, pero recibí una notificación de rechazo por la falta de personal en el equipo.
  • enigo se distribuye bajo licencia MIT, por lo que cualquiera puede usarla de forma gratuita, y eso deja al autor sin beneficios económicos, pero con reconocimiento público.
  • Aunque le di “brazos y piernas” a Claude, el autor siente decepción y al mismo tiempo satisfacción por el rechazo recibido en el proceso de contratación.

Prólogo

En octubre de 2024, Anthropic lanzó la función "Claude Computer Use". Esta función permite que una IA controle una computadora, lo que hace posible, por ejemplo, copiar datos desde un navegador web y moverlos a una hoja de cálculo. Como mantenedor de una biblioteca para control de computadoras, al autor le despertó interés este enfoque y quiso analizarlo y aprender de él. A marzo de 2025, Anthropic es una compañía líder en IA con una valoración superior a los 60 mil millones de dólares.

La biblioteca enigo y Claude Desktop

Descubrí que Anthropic usa la biblioteca enigo, desarrollada por mí, en la versión de escritorio de Claude. Puedes comprobar si Claude Desktop para macOS usa enigo con los siguientes comandos.

$ 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

Ejemplo de salida:

  • /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/enigo-0.2.1/src/macos/macos_impl.rs
  • De la misma forma confirmé que Claude para Windows también usa enigo.

enigo:

  • Soporta múltiples plataformas, incluyendo Windows, macOS, BSD y Linux (wayland, X11, libei).
  • Al estar escrito en Rust, ofrece seguridad de memoria y bajo consumo.
  • No requiere permisos de root.
  • Más de 300,000 descargas en crates.io y más de 1200 estrellas en GitHub.
  • La simulación de entradas es un campo bastante complejo debido a las diferencias entre métodos de entrada de distintos sistemas operativos y a la falta de documentación.
  • Es, de hecho, la única biblioteca de Rust que implementa simulación de entradas multiplataforma.

Código abierto y compensación

enigo se distribuye con licencia MIT, por lo que cualquiera puede usarla gratuitamente. No recibe compensación económica directa de empresas o usuarios que lo utilicen. A cambio, lo que se obtiene es el reconocimiento dentro de la comunidad, como el número de estrellas en GitHub o las descargas en crates.io.

Aplicaciones Electron y la ironía de no soportar Linux

Aunque Claude Desktop se basa en Electron, oficialmente solo se da soporte para macOS y Windows. Aunque una de las principales ventajas de Electron es la compatibilidad multiplataforma, no hay versión para Linux.

La comunidad de usuarios intentó portar de forma independiente usando código Stub para lograr compatibilidad con Linux (por ejemplo: claude-desktop-linux-flake y otros).

Curiosamente, a pesar de que enigo sí soporta Linux, aun así fue necesario este enfoque indirecto.

Postulación en Anthropic y experiencia de rechazo

El autor se enteró, a través de un contacto, de que Anthropic estaba reclutando para un cargo confidencial de desarrollo de nuevas funciones en el equipo de Claude Desktop. Dado que ese equipo usa enigo de forma central, consideró que era un puesto adecuado y envió su solicitud.

  • En el correo automático de respuesta se indicó que, por la situación del equipo, faltaba personal para revisar más solicitudes.
  • Tras unas semanas, recibió un correo de rechazo y la contratación no se concretó.

Si hubiera entrado con éxito:

  • Quería desarrollar más una función similar al Computer Use de Claude Desktop.
  • Tenía experiencia que podía aportar especialmente a la portabilidad de Claude Desktop a Linux.
  • Podría haber ayudado mucho a perfeccionar y completar más el proyecto enigo.

Conclusión y reflexión

El autor expresa orgullo porque enigo fue adoptada en Anthropic Claude Desktop. Al mismo tiempo, toma con humor la situación de ser rechazado en el proceso de contratación por una empresa que usa sus ‘brazos y piernas’. Como cierre, incluso bromea con que, por ahora, se siente a salvo del escenario de castigo de Roko's Basilisk (escenario de una superinteligencia artificial futura).

1 comentarios

 
GN⁺ 2025-08-07
Opinión de Hacker News
  • Soy el autor del post del blog, gracias por la recomendación; si tienes dudas, no dudes en preguntar, y también me gustaría recibir feedback sobre el texto. Como es uno de mis primeros posts, quiero mejorar mi forma de escribir.
    • Creo que sería mejor cambiar la licencia a AGPL o a una "licencia personalizada" (si requiere información sobre pago, me contactan), y enlazar la razón. Cuando no es una licencia viral como la GPL, las empresas se quedan con las ganancias del trabajo de desarrolladores open source sin devolver nada. La AGPL está hecha para proteger a las personas, no a empresas ("tres abogados con abrigo trenchcoat"), y no para beneficiar a las corporaciones. Las empresas se benefician de que su código se use en enterprise y al mismo tiempo dejan de lado al desarrollador. Yo hice esa misma elección y administro mis proyectos con AGPL; si necesitan condiciones personalizadas, pueden escribirme.
    • Me da curiosidad qué sintió Claptrap (enlace de YouTube), hiciste un gran esfuerzo. Me da pena que te hayan rechazado, pero esto me recuerda la historia de un desarrollador de Homebrew que fue rechazado en Google (enlace relacionado).
    • Quiero decir que hiciste un trabajo increíble. La verdad es que muchos desarrolladores open source tienen historias parecidas, y yo también tengo la experiencia de que Mojang usó mi motor voxel.
    • Como este tema está generando conversación en Hacker News, espero que algún día alguien de Anthropic lo vea y haga una disculpa auténtica y te haga una oferta de trabajo, ojalá termine en un final feliz. Te deseo una buena vuelta de tuerca, en serio.
    • Me pregunto si al cambiar a AGPL tendrás más compensación, reconocimiento y oportunidades de contratación de las que tienes ahora.
  • Gracias a una referencia de un amigo supe que en Anthropic había una vacante abierta para implementar una función nueva y privada de Claude Desktop con enigo, y postulé. Recibí un correo automático diciendo que "solo se contactará a quienes pasan la selección" y, tras semanas sin respuesta, pensé que quizá ya habían contratado a alguien más. La verdad: desde hace 10 años, en general no recibo comunicación de grandes empresas al postular; siempre fue así. La única excepción fue JaneStreet, donde bastó con que escribiera una breve presentación de mi área de interés para que me respondieran enseguida. Aun así, si te recomiendan, en Google o Apple es mucho más fácil conseguir entrevista.
    • En mis seis empleos, en ninguna ocasión recibí respuesta por haber enviado currículum en un portal; siempre tuve que encontrar a una persona en persona y que me presentara. Recomiendo usar ese camino aquí también. No hay razón para que Anthropic no aproveche a alguien tan capaz como tú. Si puedes, conecta con un amigo de un amigo y luego hablen por teléfono.
    • Lo de JaneStreet como excepción me parece curioso: si una compañía elige OCaml como lenguaje principal, parece que usa cualquier método para captar talento.
  • Si te preguntas por qué no pagaron: ya el desarrollador les construyó gratis la función que pedían, y aunque lo ignoraran, eso no hace que la reputación de la empresa mejore.
    • Quisiera proponer una nueva licencia: si una empresa usa una librería mía y gana más de 100 millones de dólares al año sin contratar al autor original, la cuota comercial debería ser equivalente a la compensación total de un director o principal engineer gestionando 50+ personas, tomando el nivel salarial más alto de la empresa. Si el proyecto de open source tiene varios autores, ese pago iría al fondo que lo mantiene, y si una librería crítica como ffmpeg usada por big tech usara esta licencia, podrían recibirse millones de dólares; incluso así, seguiría siendo más barato que desarrollarla internamente.
    • Si la empresa lo contrata directamente:
      • Podrá decidir más fácil qué tareas asignarle.
      • Tendrá la certeza de que ya ama ese trabajo y es capaz.
      • La compañía obtendrá sus entregables y ganará ventaja competitiva.
      • Y además, al final casi no les costará.
    • Hoy este proyecto es un hobby y tiene muchos bugs; no trae ingresos, así que no puedo invertir más tiempo. Si me contratan, podría enfocarme totalmente en corrección de bugs y avanzar mucho más rápido.
    • Si esa herramienta es realmente clave para la empresa, ¿por qué no contratar al desarrollador con más experiencia en ese campo? Y si ese puesto se abrió para él, menos razón tiene para no hacerlo. Si un competidor lo contrata y se adelanta tecnológicamente, la brecha será grande; incluso si la herramienta no cumple, la empresa ganaría un ingeniero muy fuerte.
    • Porque la compañía puede priorizar que se implementen primero las funcionalidades que ella necesita. Muchas empresas contratan a autores principales de open source por esta misma razón.
  • Si el autor hubiera pedido a un amigo de un amigo una introducción cálida y directa, probablemente habría logrado un mejor resultado sin pasar por el proceso de postulación. Esa es, en la práctica, la cultura de contratación en TI.
    • Yo también lo veo así. Creo que si el OP hubiera publicado antes que su librería se usa en Claude y la hubiera dado a conocer en HN, Reddit y otras comunidades, podría haber generado interés y desembocado en una contratación; aunque no sea Anthropic, un competidor podría interesarse.
    • Al final, si estás dentro de una red de contactos, esta realidad no es tan mala: es mucho más segura. Contratar solo con CV y horas de entrevista es una gran apuesta, y aunque la persona encaje, después puede ser difícil despedirla.
    • En mi experiencia con Anthropic y OpenAI, las referencias internas no eran un criterio decisivo. Los que finalmente contrataban eran mayormente bastante junior y todos los candidatos tenían que resolver en la primera ronda un problema básico de Python —el tipo que hace un ingeniero con 1-2 años—; si no lo implementaban en el acto, salían sin más discusión. Eso perjudica mucho a perfiles senior y es distinto a Meta, donde cuanto más senior, más preguntas profundas se hacen y participa un manager en la entrevista. El proceso de contratación de Anthropic se parece a una forma amateur de excluir seniores, y aun con referencia interna, lo clave era pasar la prueba de código.
  • Francamente, creo que llega una época en la que la elección de licencia ya no importa tanto. Si una gran empresa de tecnología quiere una librería open source, puede pedirle a un agente que la reescriba "al estilo de Guerra y Paz"; incluso hay casos recientes como Cheatingdaddy/Pickle de copiar sin reescritura.
    • Me pregunto si hay evidencia de que big tech haya hecho eso de “copiar solo cambiando el estilo”, y si eso puede sostenerse legalmente. Aunque el entrenamiento de IA se considere uso justo, no creo que la IA sea una caja mágica que elimine derechos de autor.
    • Si esto fuera técnicamente posible, el costo de crear librerías bajaría mucho y mantener open source se podría hacer con mucho menos esfuerzo.
  • Esto muestra claramente la dinámica de contratación de este verano 2025: es muy probable que CV y cover letter no los leyeran y te descartaran automáticamente. Decir “el equipo no tiene capacidad para revisar más aplicaciones” suena a que no hicieron ningún esfuerzo. Me cuesta creer que ni siquiera supieran cuánto encajaba tu perfil con el puesto.
    • De hecho, una respuesta de “ni siquiera revisaron tu CV” se siente más esperanzadora y además te permite probar diferentes versiones del currículum.
    • Desde la perspectiva de Anthropic, quizá es razonable. Es una empresa tan popular que podrían recibir decenas de miles de postulaciones globalmente, y la prensa sigue alimentando esa presión con contratos de 100 millones por un talento de IA.
    • Otra práctica de contratación en AI este verano es que Mark Zuckerberg está dando ofertas de más de 100 millones a desarrolladores conocidos; con esto, si además agregas en LinkedIn "autor de la librería de interacción de computadora de Anthropic", te llenaría un garaje de Ferraris.
    • La época en que contribuir a open source te llevaba a ser contratado como un ingeniero hot en una tech company ya se fue. Si nadie interno lo recomienda, por más código clave que hayas escrito, al hiring manager no le importa. Ya no quiero invertir tiempo en open source por ese camino. También tengo casa que mantener y facturas que pagar, y no parece una buena inversión entregar mi tiempo a una gran empresa para que te traicione. A veces me entra tristeza al ver que el mundo cambió.
    • Si Anthropic es empresa de IA, debería filtrar CVs con IA; pero que terminen perdiendo a alguien así demuestra que su filtro de IA tampoco sirve.
  • Me pregunto si será un tema geográfico: Anthropic está en San Francisco y el autor en Múnich, y en este momento puede que no quieran contratar fuera de EE. UU.; con el tema de visas, es bastante posible.
    • Mi empresa es mucho más chica y aun así contrata en varios países. No hace falta necesariamente una oficina física; en la mayoría de países, no lo creo como requisito.
    • Pasa lo mismo en Londres.
  • Pienso que la contratación TI hoy es contradictoria: las empresas no contratan si no tienes proyectos en el portafolio, pero en cuanto empezas a reunir estrellas en GitHub ya usan ese trabajo para sus objetivos y luego te dicen que no quieren contratarte.
    • Siento que en este proceso difícil de conseguir empleo uno se inventa estas tramas para justificar el razonamiento.
    • En mi caso, quitar casi todo el portafolio y destacar solo la experiencia me funcionó mejor.
  • No sé si mi opinión es correcta, pero creo que es mala idea que un dev independiente use licencias de open source demasiado permisivas. Las empresas usan ese software gratis y no contribuyen; si ese software no existiera, igual contratarían o externalizarían a un dev. Gracias al open source, las empresas ahorran personal y eso reduce el valor del ingeniero enterprise. No hay un historial sustentado con datos de que subir open source y luego ser contratado sea la norma.
    • Estoy de acuerdo: si quieres hacerlo por convicción pura, entonces una licencia obligatoriamente abierta como GPL es lo correcto; si no, hay que aceptar que se ofrece gratis a las grandes corporaciones sin ninguna expectativa. En términos de copyright, tampoco hay cláusula de compensación garantizada para el autor.
  • Al leer lo de “me enteré de la vacante abierta de Anthropic por un amigo de un amigo”, creo que en ese caso sería más efectivo no escribir una cover letter y aplicar, sino encontrarte cara a cara y tomar un café como con un amigo para hablar. En la contratación, lo más importante es probar que “somos las personas con las que queremos trabajar juntos”; no basta con tener solo los requisitos formales.
    • Es clave aplicar una estrategia para que tu nombre no entre en la cola oficial de postulaciones. Hay que hacer que RRHH lo revise manualmente por dentro. Si la empresa te necesita, será ella la que se acerque primero y podrás saltarte todo el proceso engorroso.