← Back to context

Comment by pentamassiv

4 months ago

I am the maintainer of a library to simulate keyboard and mouse input. I didn't start the project but took over the maintenance and have since rewritten pretty much all of the code. I recently found out that Anthropic is shipping it in Claude Desktop for some unreleased feature which is probably like "Computer Use". I noticed they had an open position in exactly the team responsible for the implementation and applied. A few months later I received a rejection. The letter said that the team doesn't have the time to review any more candidates. The code is under MIT so everything is perfectly fine. It is great that a company like Anthropic is using my code, but it would have been nice to benefit from it. I wrote a slightly longer blog post about the topic here:

https://grell.dev/blog/ai_rejection

Did you apply through the website/job posting?

I’d strongly recommend trying again and reaching out to the friend of a friend who informed you of the role and asking for a more direct intro to the hiring manager. Unfortunately, it’s really really easy to slip through the cracks as a resume, and one feels no remorse rejecting a pdf file. Even without the warm contact, some way of directly reaching the hiring manager (notably: not the recruiters!) would mean that “I wrote that library!@ becomes front-and-center, not buried as a line item. I’ve seen so much more success with myself and the people I know in cold or warm outreach than through job application portals. In fact, I’ve yet to get a callback from a single job I’ve ever applied to online!

As an aside, does anyone know why the AI labs have such bad recruiters? I successfully got a job at one and am currently working there, but I still have many many complaints about the process.

  • Anthropic has a tough alignment interview. Like I aced the coding screener but got rejected after a chat about values. I think they want intense people on the value/safety side as well as the chops.

  • Don’t be naive, these companies don’t care about talent they care about prestige and credentials. <username>@standford will always beat “did actual work relevant to the project”.

    Just look at the background of some of the names in this at these places. As always it’s “who you know and where you’ve been” not “what you know and what you’ve built”

    edit: You can downvote if you like, but it doesn’t change the fact that high stakes tech has never been a meritocracy and AI companies are no different.

I would rather assume your application didn't reach anyone in the team but got filtered out by some broken process below.

Needs a GNU GPLJ license. You can use this for commercial purposes only if you offer the copyright holder a job.

  • As it stands right now, if the code was under a GPL license, nothing stops them paying the author to get it under another license.[1]

    Sure, they could offer a job as payment for said license, or just pay cash.

    This approach would be "necessary" (for some definition of necessary) for GPL code, but isn't necessary for MIT code.

    [1] this assumes there's 1 (or nearly 1) copyright owner. If there are multiple contributors, and no CUA in place, this approach is generally not possible.

    Personally, and different people have strong feelings on this both ways, with GPL code I'd get contributors to sign a CUA. It keeps the door open for commercial opportunities like this, especially if the code is "mostly yours".

  • I almost believed that was a thing, but I don't see any indication that it is. Not a bad idea IMO

    • It would be very, very hard to make this work in practice.

      What does it mean to offer a job? Can they offer a job that pays a dollar a year and call it a day? Or can you force them to offer you a job that pays a billion dollars a year?

      Can they offer you a job, but only in Antarctica? What about visa sponsorship?

      Of course, you can write whatever ill conceived terms you want in your license. But if your license is badly written, any decent company lawyer would strongly advice staying away from your code. And if that's the outcome you want: you might as well open source it with a 'non-commercial use only' license.

      2 replies →

  • It is probably a bit late for that, as the company could simply use an earlier release, that was still under MIT license and develop it from there. They would have to maintain it of course, but if they are truly unwilling to hire, they might just do that. Nevertheless it would be a good move to move to a copyleft libre license.

Interesting, considering that Anthropic spends a lot of resourced to build ethics checks into their AI. I wonder if this hiring process was ever put through its own ethics check.

  • When you apply, you have to confirm that you did not generate the application with AI. As soon as you send of the application, you get an automatic email confirming your application. They also say they don't reach out, if you are not a good match and that they only contact the people they want to hire. Maybe they changed their mind on that policy, because I received a rejection letter a few months later. It was very well written. The people I showed it to said it is one of the nicest rejection letters they have seen.

  • There's no ethical principle which requires them to hire somebody if they use OSS from that person. Maybe they missed out on a good hire, c'est la vie.

    • There are ethical principles like that, but they just may not be in our mainstream corporate or open source software culture.

      The permaculture ethical principle of “fair share” would apply here, if a group were using those.

Keep in mind that they probably use it or at least discovered it explicitly because it's open source. So either you don't release it and they use something else, or you release it and they use it. Option 2 sounds like giving you more exposure and more opportunities in the long run.

  • Sure, it would be hard to monetize and while it took countless hours to iron out many of its bugs, it is definitely not rocket science. I contribute to open source software expecting nothing in return because all software I use is also open source. It's my way of giving back and I love the knowledge that it is useful to people and hearing about their projects. So far I did not have any benefits from it but continue doing it anyways. It makes me happy to see more and more people using it.

  • [flagged]

    • Why so harsh?

      I'm not advocating in doing it for the exposure as a primary reason. And absolutely not to be paid in exposure. 100% agree with the comic there.

      I should not have used that word. It is clearly charged with negativity.

      Of course I wish everyone would be compensated for their work. I feel that for some types of project, publishing as open source is a great way for people to find and use it. This can give new opportunities.

      Exactly which kind of project and under which conditions is up to debate.

      I have worked on a few projects that I regret not being able to open source. Mainly not my choice, stakeholders wanted traditional go to market strategies and failed/ran out of money trying to make sales. I can't help but thinking what other opportunities could have arisen have we chose another strategy.

      1 reply →

How curious! So am I, and that is the project that I am the closest to regretting open sourcing.

I made the mistake of also implementing keyboard and mouse monitoring---you know, so I could write automated tests for the input parts!---and over the years it has turned into an endless source of feature requests, bug reports and also general questions about the Python programming language and its ecosystem.

Input events truly are horrible to provide a platform independent abstraction over, but in the end seeing people use it, make YouTube tutorials and discuss it on Stack Overflow make it worth the time spent.

You should have licensed it under AGPL; Anthropic then would have reached you to negotiate a commercial license or contribute back to the project, since AGPL forces server-side code disclosures when deployed. Without that, they can legally use, modify, and profit from it without sharing improvements or compensating you

  • OP mentioned he took over an existing project. He would then have to track all the people who contributed in order to be able to relicense to AGPL. Even then, Anthropic would probably then write their own.

  • [A]GPL is like kryptonite to corporations. Very few will take the risk of having to open their own code if someone made a mistake in isolating the GPLed code properly, so most ban the use of GPL for their products and services.

    Anthropic would have found a different library or rolled their own, rather than taking that risk. If the library was fundamental, maybe they'd go for a commercial license, but that's usually an option of last resort.

  • what's to stop them from <prompt>Recreate this library so that I can use it in my project without fear of copyright violation.</prompt> in their very own claude code?

    • For small enough codebases, that seems like an inevitable reality, eventually.

      If you have nearly limitless compute to throw at an issue and a good enough model, then it should be able to create enough test cases to cover most aspects of the codebase (iterating thousands of times until it gets it right) and then eventually write a new implementation in a new language or a slightly different tech stack that passes all of the original tests, alongside a few more hundreds of iterations of refactoring.

      I give it a decade until large orgs are doing that to avoid licensing restrictions and other liabilities.

      1 reply →

    • If you feed it the library to recreate then this seems like it would necessarily be a derivative work and thus copyright infringement. Proving that they did it may be a challenge...

Thank you for enigo / all you do and your support when I used the library in my little project!

  • You're welcome, it's nice to hear from people using it. I hope everything is going well with your new startup :-)

> Through a friend of a friend, I found out that Anthropic had an open position in the team implementing the secret, unreleased feature of Claude Desktop using enigo. I wrote a cover letter and sent out my application. An automatic reply informed me that they might take some time to respond and that they only notify applicants if they made it to the next round. After a few weeks without an answer, I had assumed they chose other applicants.

Wait, so, if it was a friend-of-a-friend situation, why did you not try to get a referral?

I've stopped applying to the big companies long time ago precisely because I'd never hear back regardless of the match or the credentials (the only exception has been JaneStreet — they contacted me almost right away after a cold application), yet going the referral route, it's relatively easy to get an interview almost anywhere.

Perhaps you should highlight your work on this library as you apply to their competitors!

(Submit it as a dedicated story here too!)

You're expecting them to hire you because you wrote some code they happen to depend on?

  • I’m unsure if you’re being serious or making a joke. If you depend on something, it is in your best interest to have it continue and remain in good shape. What better way to ensure that then to pay the salary of the creator and world’s utmost expert on the thing? As a bonus, it ensures your specific needs about the thing are addressed in a timely manner.

    • Making something open source has no bearing on your future employment. Certainly, it is great to have something on the resume that is used internally, but to have an _expectation_ that someone would hire you for that reason, is beyond my imagination.

  • It’s weirder because it doesn’t even seem like he initially wrote it, just took over a abandoned project, changed some code, and think he deserves a job because of it.