2 Punkte von GN⁺ 2025-08-07 | 1 Kommentare | Auf WhatsApp teilen
  • Ich habe festgestellt, dass die Claude Desktop-Software von Anthropic die von mir entwickelte Open-Source-Eingabesimulationsbibliothek enigo verwendet
  • enigo läuft auf Windows, macOS, BSD und Linux sowie weiteren Betriebssystemen und wird in der Electron-basierten Version von Claude Desktop zentral eingesetzt
  • Ich habe mich bei Anthropic beworben, bekam aber eine Absage mit der Begründung, dass es dem Team an Kapazitäten zur Prüfung weiterer Bewerbungen fehle
  • enigo steht unter der MIT-Lizenz und kann kostenlos von jedem genutzt werden; daher erhalte ich keinen direkten finanziellen Gewinn, sondern nur Reputation
  • Der Autor drückt seinen Stolz darüber aus, Claude gewissermaßen ‚Arme und Beine‘ gegeben zu haben, und gleichzeitig Enttäuschung darüber, im Bewerbungsprozess trotz dieser Leistung abgelehnt worden zu sein

Vorwort

Im Oktober 2024 stellte Anthropic die Funktion "Claude Computer Use" vor. Diese Funktion ermöglicht es einer KI, einen Rechner zu steuern, sodass beispielsweise das Kopieren von Daten aus einem Webbrowser in ein Spreadsheet möglich wird. Als Maintainer einer Bibliothek für die Computerkontrolle war ich sehr interessiert an Anthropics Ansatz und wollte diesen analysieren und lernen. Anthropic gilt bei einer Unternehmensbewertung von über 60 Milliarden US-Dollar (Stand März 2025) als einer der führenden KI-Anbieter.

Die enigo-Bibliothek und Claude Desktop

Ich habe festgestellt, dass Anthropic in der Desktop-Variante von Claude die von mir entwickelte Bibliothek enigo verwendet. Für die macOS-Version von Claude Desktop lässt sich prüfen, ob enigo genutzt wird, mit dem folgenden Befehl:

$ 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

Beispielausgabe:

  • /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/enigo-0.2.1/src/macos/macos_impl.rs
  • Auf dieselbe Weise konnte ich auch bestätigen, dass Windows-Varianten von Claude enigo nutzen

enigos Eigenschaften:

  • Unterstützung für verschiedene Plattformen wie Windows, macOS, BSD und Linux (wayland, X11, libei)
  • In Rust geschrieben, mit Speichersicherheit und hoher Performance
  • Keine Root-Rechte erforderlich
  • Über 300.000 Downloads auf crates.io und über 1200 Stars auf GitHub
  • Input-Simulation ist ein besonders schwieriges Feld, unter anderem wegen abweichender Eingabemethoden zwischen Betriebssystemen und mangelhafter Dokumentation
  • De-facto die einzige Rust-Bibliothek, die plattformübergreifende Eingabesimulation implementiert

Open Source und Vergütungsmodell

enigo wird unter der MIT-Lizenz veröffentlicht und kann daher kostenlos von jedem genutzt werden. Ich bekomme von Unternehmen oder Nutzern keine direkte finanzielle Vergütung. Im Gegenzug erhalte ich Community-Aufmerksamkeit wie GitHub-Sterne und downloads auf crates.io.

Electron-App und die Ironie fehlender Linux-Unterstützung

Obwohl Claude Desktop auf Electron basiert, wird offiziell nur macOS und Windows unterstützt. Trotz der Multiplattform-Fähigkeit von Electron fehlt dabei eine Linux-Version. In der Nutzer-Community wurden Linux-Ports über eigenständig erstellten Stub-Code versucht. (Beispiel: claude-desktop-linux-flake etc.)
Interessanterweise war für diese Umgehungslösungen noch nötig, obwohl enigo Linux tatsächlich unterstützt.

Bewerbung bei Anthropic und Absageerlebnis

Über einen Bekannten erfuhr ich, dass Anthropic im Claude-Desktop-Entwicklungsteam eine vertrauliche Stelle für neue Feature-Entwicklung sucht. Da dieses Team enigo intensiv nutzt, hielt ich die Position für passend und reichte eine Bewerbung ein.

  • Laut der automatisierten Antwort-E-Mail war das Team personell nicht in der Lage, zusätzliche Bewerbungen zu prüfen
  • Nach einigen Wochen erhielt ich eine Absage-Mail, die Bewerbung verlief nicht erfolgreich

Bei einer Zusage hätte ich:

  • Die Weiterentwicklung von Funktionen vorantreiben wollen, die mit der Computer-Use-Funktion von Claude vergleichbar sind
  • Insbesondere meine Expertise für den Linux-Port von Claude Desktop einbringen können
  • Die Weiterentwicklung und Reife von enigo deutlich verbessern und das Projekt stark unterstützen können

Fazit und Reflexion

enigo wurde in Anthropic Claude Desktop integriert, und darauf bin ich stolz. Gleichzeitig nehme ich es mit Humor, dass mich ein Unternehmen, das meine ‚Arme und Beine‘ nutzt, im Bewerbungsprozess trotzdem abgelehnt hat. Zum Schluss schließe ich mit einem Scherz: ich sei wohl selbst sicher vor dem Roko's Basilisk (Szenario der Vergeltung durch eine zukünftige Super-KI).

1 Kommentare

 
GN⁺ 2025-08-07
Hacker News Kommentar
  • Danke für das Teilen, ich bin der Verfasser des Blogbeitrags. Stell Fragen, wenn du welche hast, und ich freue mich auch über Feedback zum Beitrag; es ist einer meiner ersten Artikel, deshalb möchte ich gerne besser schreiben.
    • Es wäre sinnvoll, die Lizenz auf AGPL oder eine „Custom License (bei Zahlungsanfragen bitte nachfragen)“ umzustellen und dafür die Begründung zu verlinken. Ohne eine virale Lizenz wie die GPL kann es passieren, dass Unternehmen nur profitieren, ohne den Open-Source-Entwicklern etwas zurückzugeben. Die Intention der GPL ist für Menschen gedacht, nicht für Unternehmen („die drei Anwälte im Trenchcoat“). Wenn ein Unternehmen den Code eines Entwicklers für den Enterprise-Einsatz als gut genug einstuft, lässt es den Entwickler jedoch außen vor. In diesem Fall verwalte auch ich alle meine Projekte unter AGPL; für individuelle Bedingungen kannst du dich gerne melden.
    • Ich würde gern wissen, was Claptrap dabei gefühlt hat (YouTube-Link); große Arbeit hast du geleistet. Schade, dass du abgelehnt wurdest. Es erinnert mich an die Geschichte des Homebrew-Entwicklers, der von Google abgelehnt wurde (verwandter Link).
  • Ich möchte sagen, dass du großartige Arbeit geleistet hast. Tatsächlich haben Open-Source-Entwickler wirklich oft solche Geschichten; ich habe selbst erlebt, dass Mojang meine Voxel-Engine genutzt hat.
  • Dieser Beitrag wird auf Hacker News Aufmerksamkeit bekommen – ich hoffe, eines Tages liest ihn jemand bei Anthropic, entschuldigt sich aufrichtig und macht dir ein Jobangebot, sodass es ein Happy End gibt. Ich wünsche dir hierdurch viel Gutes im Universum.
  • Ich bin neugierig, ob ein Wechsel auf AGPL dir mehr Gegenwert, Anerkennung oder Stellenchancen bringen würde?
  • Ich habe über eine Empfehlung eines Freundes erfahren, dass Anthropic eine offene Stelle im Team hat, das eine neue private Funktion von Claude Desktop mit enigo umsetzt, und mich beworben. In der automatischen Antwortmail stand, dass nur mit den Zusagen für das Vorstellungsgespräch auf den Bewerber zugegriffen wird. Nach einigen Wochen ohne Antwort dachte ich daher, dass sie wohl schon jemand anderen eingestellt hatten. Ich bewerbe mich übrigens seit zehn Jahren nicht bei großen Konzernen, weil ich nie eine Antwort bekam; die einzige Ausnahme war Jane Street, wo sie sich direkt meldeten, nachdem ich kurz mein Interessensgebiet beschrieben hatte. Mit einer Freundes-Empfehlung sind die Chancen auf Interviews bei Google oder Apple jedoch deutlich besser.
    • In meiner Laufbahn habe ich sechs Jobs durchlaufen und nie einmal nur durch eine Onlinebewerbung auf einer Karriereseite ein Gespräch bekommen. Immer musste ich irgendwie einen echten Kontakt bekommen, der mich vorstellt. Ich würde diesen Weg auch hier empfehlen; Anthropic hat keinen Grund, jemanden von deiner Qualität nicht zu nutzen. Versuch es über das Netzwerk eines Freundes, dann nimmst du später direkt telefonisch Kontakt auf.
    • Interessant, dass Jane Street die Ausnahme war. Bei Unternehmen, die OCaml als Hauptsprache einsetzen, scheinen sie für die Rekrutierung von Entwicklern sehr proaktiv zu sein – egal mit welcher Methode.
  • Wenn die Frage ist, warum man ihm nicht bezahlt, liegt es daran, dass dieser Entwickler die gewünschte Funktion bereits kostenlos gebaut hat. Dass man ihn ignoriert, verbessert den Ruf des Unternehmens sicher nicht.
    • Mein Vorschlag für eine neue Lizenz: Wenn ein Unternehmen eine von mir erstellte Bibliothek nutzt, mich aber nicht einstellt und über 100 Millionen US-Dollar Jahresumsatz erzielt, sollte es eine kommerzielle Gebühr zahlen, die der Gesamtkompensation eines Directors oder Principal Engineers (Verantwortung für 50+ Teammitglieder, oberes Gehaltsband) entspricht. Bei Open-Source-Projekten mit mehreren Autoren würden die Gebühren an die Organisation gehen, die das Projekt betreibt; wenn ein zentraler Kern wie ffmpeg, den Big Tech überall einsetzt, diese Lizenz nutzen würde, käme es auf Millionen von Dollar, was trotzdem deutlich günstiger wäre als eine eigene Neuentwicklung.
    • Wenn das Unternehmen ihn direkt einstellt:
      • lässt sich klarer festlegen, welche Arbeiten er übernehmen soll;
      • garantiert man, dass er wirklich leidenschaftlich dabei ist und genug Können besitzt;
      • kann man die Ergebnisse als Wettbewerbsvorteil behalten;
      • und es kostet das Unternehmen dabei praktisch kaum etwas.
    • Das Projekt ist im Moment ein Hobby und hat noch viele Bugs. Da es kein Einkommen bringt, kann ich meine investierte Zeit nicht erhöhen; bei einer Anstellung könnte ich mich ganz auf Bugfixes konzentrieren und es viel schneller vorantreiben.
    • Wenn dieses Tool für das Unternehmen wirklich essenziell ist, warum sollte man nicht den Entwickler einstellen, der hier die meiste Erfahrung hat? Und wenn eine Stelle sogar auf genau diesen Entwickler zugeschnitten ist, umso mehr. Wenn ein Wettbewerber ihn einstellt und die Technologie vorab sichert, entsteht ein großer Vorsprung. Selbst wenn das Tool hinter den Erwartungen zurückbleibt, bleibt der Zusatznutzen: Das Unternehmen hat einen zusätzlichen starken Entwickler.
    • Weil man ihn dann direkt anweisen kann, die vom Unternehmen priorisierten Features zuerst umzusetzen. Genau dieser Grund führt dazu, dass viele Firmen Open-Source-Hauptautoren einstellen.
  • Ich denke, wenn der Autor direkt ein warmes Intro zu einem Freund seines Freundes eingeworben hätte, wäre das Ergebnis ohne klassisches Bewerbungsverfahren wahrscheinlich besser gewesen; in der Realität ist das so die Rekrutierungskultur der Branche.
    • Ich sehe es ähnlich. Hätte OP früh bemerkt, dass seine Bibliothek in Claude genutzt wird und den Beitrag früher auf HN/Reddit platziert, um Aufmerksamkeit zu erzeugen, wäre es möglicherweise über verschiedene Kontakte zu einer Anstellung gekommen – vielleicht nicht bei Anthropic, aber zumindest bei einem Wettbewerber, der Interesse entwickelt.
    • Wenn man im Netzwerk ist, ist das nicht zwingend schlecht, sondern sogar deutlich sicherer. Eine Entscheidung nur auf Basis von Unterlagen und ein paar Stunden Interview ist ein großes Glücksspiel; selbst wenn es nicht ganz ideal läuft, ist es nicht trivial, jemanden wieder zu entlassen.
    • Bei meinen Erfahrungen bei Anthropic und OpenAI war interne Empfehlung keine relevante Einstellungskriterien; die tatsächlich Eingestellten waren meist sehr junior. Alle Bewerber mussten in der ersten Runde ein sehr einfaches Python-Coding-Problem lösen, wie es ein 1- bis 2-jähriger Junior-Engineer geben würde, und wer die richtige Lösung nicht sofort implementierte, fiel ohne Diskussion durch. Dieses Verfahren benachteiligt Senior Engineers deutlich und unterscheidet sich von Meta, wo Senioren eher tiefere Fragen bekommen und auch ein Hiring Manager im Interview dabei sitzt. Der Einstellungsprozess bei Anthropic ist wie ein Amateuransatz, der Senioren konsequent abschreckt; selbst mit internen Kontakten bleibt das Bestehen des Coding-Tests entscheidend.
  • Ehrlich gesagt glaube ich, dass es eine Zeit geben wird, in der die Lizenzwahl kaum noch eine Rolle spielt. Wenn große Tech-Konzerne Open-Source-Bibliotheken wollen, können sie einem Agenten sagen: „Schreibe es komplett im Stil von War and Peace neu“. Im Cheatingdaddy/Pickle-Fall gab es sogar Beispiele für blindes Kopieren ohne Rewriting.
    • Hast du schon einmal eine komplexe Arbeit von Anfang bis Ende von KI schreiben lassen?
    • Gibt es Belege, dass große Tech-Firmen solche „Copy-and-paste nur mit geändertem Stil“-Techniken wirklich eingesetzt haben und ob das juristisch überhaupt Bestand hätte? Auch wenn KI-Training als Fair Use gilt, glaube ich nicht, dass KI automatisch Urheberrechte entfernt.
    • Wenn das technisch möglich wäre, würden die Kosten für Bibliotheksentwicklung deutlich sinken, und Open-Source-Maintainer könnten mit wenig Aufwand Beiträge erstellen.
  • Das ist für mich das beste Beispiel für die Praktiken der KI-Bewerbungen im Sommer 2025. Es ist sehr wahrscheinlich, dass der Lebenslauf und das Anschreiben nicht gelesen und automatisch aussortiert wurden; die Aussage „Das Team hat keine Kapazität, weitere Bewerbungen zu prüfen“ bedeutet in der Praxis praktisch keine Mühe. Ich kann mir kaum vorstellen, dass sie nicht einmal erfasst haben, wie gut die Position zu diesem Kandidaten passt.
    • Eine ehrliche Antwort wie „Wir haben die Bewerbung nicht geprüft“ klingt für mich eher hoffnungsvoller; sie erlaubt immerhin, mit verschiedenen Lebenslaufversionen zu experimentieren.
    • Aus der Sicht von Anthropic erscheint es nachvollziehbar, dass weltweit massenhaft Bewerbungen eingehen – bei so einer beliebten Firma können leicht Zehntausende kommen. Die Berichterstattung über 100-Millionen-Dollar-Verträge für einzelne KI-Talente macht das nur noch heftiger.
    • Ein weiterer Recrutierungstrend im KI-Umfeld diesen Sommer ist, dass Mark Zuckerberg hunderte Millionen für berühmte Entwickler ausgibt. Für OP wäre es womöglich schon hilfreich, wenn er nur „Author der von Anthropic genutzten Computer-Interaction-Library“ in sein LinkedIn-Profil aufnimmt; dann hätte er locker eine Garage voller Ferraris.
    • Ich glaube, die Zeit, in der sinnvolle Open-Source-Beiträge automatisch zu guten Jobs in angesagten Tech-Firmen führten, ist schon lange vorbei. Wenn kein interner Fürsprecher in der Entscheidungsinstanz vorhanden ist, wird selbst der Autor von Kerncode nicht ernst genommen. Vielleicht habe ich deshalb weniger Motivation, Zeit in Open Source zu investieren. Ich muss mein Zuhause managen, Rechnungen bezahlen – meine Zeit Großkonzernen zu schenken und dafür betrogen zu werden ist keine gute Investition. Manchmal macht mich dieser Wandel traurig.
    • Da Anthropic ein KI-Unternehmen ist, müssten sie sowieso KI einsetzen, um Bewerbungen zu filtern. Dass sie genau so einen Kandidaten übersehen, zeigt, dass ihre KI-Filterung keinen Wert hat.
  • Vielleicht liegt es an der Region? Anthropic sitzt in San Francisco und der Autor ist in München; vielleicht vermeiden sie derzeit bewusst die Einstellung außerhalb der USA. Angesichts der US-Visasituationen erscheint mir das plausibel.
    • Unser Unternehmen ist viel kleiner und stellt trotzdem in vielen Ländern ein. Ein physisches Büro ist dafür nicht zwingend nötig; ich gehe davon aus, dass die meisten Länder solche Restriktionen nicht haben.
    • Dasselbe gilt für London.
  • Die heutige IT-Rekrutierung wirkt widersprüchlich: Firmen wollen keine Lücken im Portfolio sehen, aber sobald ein paar Sterne auf GitHub stehen, nutzen sie die Arbeit intern, und dann heißt es plötzlich: „Kein Interesse an einer Einstellung“ – frustrierend.
    • Ich habe das Gefühl, ich bastle mir gerade diese Erklärungen, um meinen harten Bewerbungsprozess rational zu machen.
    • In meinem Fall war es sogar besser, das Portfolio schlank zu halten und mich auf meine Berufserfahrung zu konzentrieren; die Resultate waren deutlich besser.
  • Ich bin mir nicht sicher, ob meine Ansicht korrekt ist, aber ich finde, dass unabhängige Entwickler keine zu nachsichtigen Lizenzen für Open Source nutzen sollten. Firmen verwenden die Software ohne Gegenleistung und ohne beizutragen; ohne diese Open-Source-Lösung hätten sie den Entwickler eingestellt oder ausgelagert. Offenbar werden dadurch Personalkosten eingespart und der Wert von Engineers bei Big Tech sinkt. Dass Open Source tatsächlich zu Einstellungsentscheidungen führt, ist historisch nicht belegt.
    • Zustimmung. Wenn du Open Source aus reiner Motivation machen willst, passt eine verpflichtende Offenheit wie GPL. Oder du akzeptierst, dass du großen Unternehmen etwas kostenlos gibst, ohne Gegenleistung. In Lizenzverträgen gibt es keine Klausel, die eine Vergütung des Autors sicherstellt.
  • Als ich den Satz „Ich habe über einen Freund eines Freundes von der offenen Position bei Anthropic erfahren“ las, denke ich, dass es in diesem Fall effizienter ist, statt eines klassischen Bewerbungsschreibens direkt persönlich einen Kaffee anzubieten und darüber zu reden. Im Einstellungsprozess geht es am Ende darum zu zeigen: „Wir wollen wirklich mit dieser Person zusammenarbeiten.“ Es ist nicht genug, nur die Mindestvoraussetzungen zu erfüllen.
    • Strategisch wichtig ist, den formalen Bewerbungsworkflow möglichst nicht zu triggern und dafür zu sorgen, dass die Personalabteilung eine manuelle interne Prüfung vornimmt. Wenn du für das Unternehmen relevant bist, sollte es selbst auf dich zukommen und dich so einen großen Teil der lästigen Recruiting-Prozesse überspringen lassen.