Vouch

2026-02-083:091077486github.com

A contributor trust management system based on explicit vouches to participate. - mitchellh/vouch

A project trust management system. People must be vouched for before interacting with certain parts of a project (the exact parts are configurable to the project to enforce). People can also be explicitly denounced to block them from interacting with the project.

The implementation is generic and can be used by any project on any code forge, but we provide GitHub integration out of the box via GitHub actions and the CLI.

The vouch list is maintained in a single flat file using a minimal format that can be trivially parsed using standard POSIX tools and any programming language without external libraries.

Vouch lists can also form a web of trust. You can configure Vouch to read other project's lists of vouched or denounced users. This way, projects with shared values can share their trust decisions with each other and create a larger, more comprehensive web of trust across the ecosystem. Users already proven to be trustworthy in one project can automatically be assumed trustworthy in another project, and so on.

Warning

This is an experimental system in use by Ghostty. We'll continue to improve the system based on experience and feedback.

Open source has always worked on a system of trust and verify.

Historically, the effort required to understand a codebase, implement a change, and submit that change for review was high enough that it naturally filtered out many low quality contributions from unqualified people. For over 20 years of my life, this was enough for my projects as well as enough for most others.

Unfortunately, the landscape has changed particularly with the advent of AI tools that allow people to trivially create plausible-looking but extremely low-quality contributions with little to no true understanding. Contributors can no longer be trusted based on the minimal barrier to entry to simply submit a change.

But, open source still works on trust! And every project has a definite group of trusted individuals (maintainers) and a larger group of probably trusted individuals (active members of the community in any form). So, let's move to an explicit trust model where trusted individuals can vouch for others, and those vouched individuals can then contribute.

Who and how someone is vouched or denounced is left entirely up to the project integrating the system. Additionally, what consequences a vouched or denounced person has is also fully up to the project. Implement a policy that works for your project and community.

Integrating vouch into a GitHub project is easy with the provided GitHub Actions. By choosing which actions to use, you can fully control how users are vouched and what they can or can't do.

For an example, look at this repository! It fully integrates vouch.

Below is a list of the actions and a brief description of their function. See the linked README in the action directory for full usage details.

Action Trigger Description
check-pr pull_request_target Check if a PR author is vouched on open or reopen. Bots and collaborators with write access are automatically allowed. Optionally auto-close PRs from unvouched or denounced users.
manage-by-discussion discussion_comment Let collaborators vouch, denounce, or unvouch users via discussion comments. Updates the vouched file and commits the change.
manage-by-issue issue_comment Let collaborators vouch or denounce users via issue comments. Updates the vouched file and commits the change.

The CLI is implemented as a Nushell module and only requires Nushell to run. There are no other external dependencies.

This is Nushell, so you can get help on any command:

use vouch *
help add
help check
help denounce
help gh-check-pr
help gh-manage-by-issue

Check a user's vouch status:

Exit codes: 0 = vouched, 1 = denounced, 2 = unknown.

Add a user to the vouched list:

# Preview new file contents (default)
vouch add someuser # Write the file in-place
vouch add someuser --write

Denounce a user:

# Preview new file contents (default)
vouch denounce badactor # With a reason
vouch denounce badactor --reason "Submitted AI slop" # Write the file in-place
vouch denounce badactor --write

Requires the GITHUB_TOKEN environment variable. If not set and gh is available, the token from gh auth token is used.

Check if a PR author is vouched:

# Check PR author status (dry run)
vouch gh-check-pr 123 --repo owner/repo # Auto-close unvouched PRs (dry run)
vouch gh-check-pr 123 --repo owner/repo --auto-close # Actually close unvouched PRs
vouch gh-check-pr 123 --repo owner/repo --auto-close --dry-run=false # Allow unvouched users, only block denounced
vouch gh-check-pr 123 --repo owner/repo --require-vouch=false --auto-close

Outputs status: skipped (bot/collaborator), vouched, allowed, or closed.

Manage contributor status via issue comments:

# Dry run (default)
vouch gh-manage-by-issue 123 456789 --repo owner/repo # Actually perform the action
vouch gh-manage-by-issue 123 456789 --repo owner/repo --dry-run=false

Responds to comments from collaborators with write access:

  • vouch — vouches for the issue author
  • vouch @user — vouches for a specific user
  • vouch <reason> — vouches for the issue author with a reason
  • vouch @user <reason> — vouches for a specific user with a reason
  • denounce — denounces the issue author
  • denounce @user — denounces a specific user
  • denounce <reason> — denounces the issue author with a reason
  • denounce @user <reason> — denounces a specific user with a reason

Keywords are customizable via --vouch-keyword and --denounce-keyword.

Outputs status: vouched, denounced, or unchanged.

The module also exports a lib submodule for scripting:

use vouch/lib.nu *

let records = open VOUCHED.td
$records | check-user "mitchellh" --default-platform github # "vouched", "denounced", or "unknown"
$records | add-user "newuser" # returns updated table
$records | denounce-user "badactor" "reason" # returns updated table
$records | remove-user "olduser" # returns updated table

The vouch list is stored in a .td file. See VOUCHED.example.td for an example. The file is looked up at VOUCHED.td or .github/VOUCHED.td by default.

# Comments start with #
username
platform:username
-platform:denounced-user
-platform:denounced-user reason for denouncement
  • One handle per line (without @), sorted alphabetically.
  • Optionally specify a platform prefix: platform:username (e.g., github:mitchellh).
  • Denounce a user by prefixing with -.
  • Optionally add details after a space following the handle.

The from td and to td commands are exported by the module, so Nushell's open command works natively with .td files to decode into structured tables and encode back to the file format with comments and whitespace preserved.

Note

What is .td? This stands for "Trustdown," a play on the word "Markdown." I intend to formalize a specification for trust lists (with no opinion on how they're created or used) so that software systems like this Vouch project and others can coordinate with each other. I'm not ready to publish a specification until vouch itself stabilizes usage more.


Read the original article

Comments

  • By andai 2026-02-0820:2115 reply

    It should just be $1 to submit PR.

    If PR is good, maintainer refunds you ;)

    I noticed the same thing in communication. Communication is now so frictionless, that almost all the communication I receive is low quality. If it cost more to communicate, the quality would increase.

    But the value of low quality communication is not zero: it is actively harmful, because it eats your time.

    • By nl 2026-02-0822:387 reply

      This thought pattern leads to crypto.

      In that world there's a process called "staking" where you lock some tokens with a default lock expiry action and a method to unlock based on the signature from both participants.

      It would work like this: Repo has a public key. Submitted uses a smart contract to sign the commit with along with the submission of a crypto. If the repo merges it then the smart contract returns the token to the submitter. Otherwise it goes to the repo.

      It's technically quite elegant, and the infrastructure is all there (with some UX issues).

      But don't do this!!!!

      I did some work in crypto. It's made me realize that the love of money corrupts, and because crypto brings money so close to engineering it corrupts good product design.

      • By miki123211 2026-02-098:235 reply

        The "money goes to the repo part" is the problem here, as it incentivizes maintainers to refuse legitimate pull requests.

        Crypto has a perfect way to burn money, just send it to a nonexistent address from where it can never be recovered. I guess the trad fi equivalent are charitable donations.

        The real problem here is the amount of work necessary to make this viable. I bet Visa and Mastercard would look at you funny if your business had such a high rate of voluntary transaction reversals, not to mention all the potential contributors that have no access to Visa/MC (we do want to encourage the youth to become involved with Open Source). This basically means crypto, and crypto has its own set of problems, particularly around all the annoying KYC/AML that a normie has to get through to use it.

        • By cortesoft 2026-02-0917:12

          > I bet Visa and Mastercard would look at you funny if your business had such a high rate of voluntary transaction reversals

          Plenty of businesses do the “your credit card will be charged $1 and then reversed” as a verification method that I don’t think it would be a major issue. I do wonder how much those companies are paying for that, though… I am guessing they lose some of that $1.

        • By sethammons 2026-02-0911:061 reply

          You can reduce the transactions with payment providers. Instead of money exchanging from contributor to maintainer, have a token exchange. Contributors fund tokens with real money, and pull requests cost and refund tokens. Like an escrow account. But the money never goes to the target system. There are no perverse incentives to steal tokens. If you get a reputation of not refunding tokens (which have no value to a maintainer), then contributors will dry up.

          "TrustTokens" or "EscrowTokens"

          • By MichaelZuo 2026-02-0913:38

            Probably just making it non refundable works almost as well (since time really is expended reading it), without the hassle of spinning up an intermediary layer blockchain.

        • By Wowfunhappy 2026-02-0912:36

          > I bet Visa and Mastercard would look at you funny if your business had such a high rate of voluntary transaction reversals

          …you might be right, but I do wonder if the situation would be different if “your business” was “Microsoft”. Obviously they would discuss this plan ahead of time.

        • By boltzmann-brain 2026-02-0910:05

          > The "money goes to the repo part" is the problem here, as it incentivizes maintainers to refuse legitimate pull requests.

          That's not true. The issue is that the system the comment you're replying to described is escrow. Escrow degenerates in the way that you describe. I explain it a bit more in this comment elsewhere on this post:

          https://news.ycombinator.com/item?id=46943416

          A straight up non-refundable participation payment does not have this issue, and creates a different set of incentives and a different economy, while there also exist escape hatches for free-of-charge contributions.

          > The real problem here is the amount of work necessary to make this viable.

          Not necessarily. This article mentions Tezos, which is capable of doing such things on-chain already:

          https://news.ycombinator.com/item?id=46938811

          > all the annoying KYC/AML that a normie has to get through to use it.

          There are always escape hatches. If your code is so great that people will want to pull it, then you don't pay to push. If it's not really that great, then what are we talking about? Maybe it disincentivizes mid code being pushed. So be it.

          You can make friends, you can make a name for yourself, you can make a fork that's very successful and upstream will want to pull it in, you can exert social pressure / marketing to get your code merged in. Lots of options that do not involve KYC/AML.

          For everyone else, I'd say KYC/AML are a good idea because of the increasing amount of supply chain exploits being pushed out into repos. If pushing by randos is gated by KYC/AML, then there's at least some method of chasing the perps down and taking them to justice.

          That's a win-win-win-win situation. Less mid code, less exploits, earnings for maintainers, AI slop blocked. Absolutely amazing.

        • By toddmorrow 2026-02-1016:12

          right, the ethereum gets spent whether the transaction is cancelled or not. and that's an issue

      • By AlexCoventry 2026-02-090:59

        > because crypto brings money so close to engineering it corrupts good product design.

        Amen.

      • By rifty 2026-02-090:251 reply

        It feels like the problem here comes from the reluctance to utilize a negative sum outcome for rejection. Instead of introducing accidental perverse incentives, if rejected your stake shouldn't go to the repo, 50% could be returned, and 50% deleted. If it times out or gets approved you get 100% back. If a repo rejects too often or is seen doing so unfairly reputation would balance participation.

        • By nl 2026-02-092:494 reply

          No, the perverse incentive is that there will be RepoCoin, and the people involved will be incentivized to make the price of that as high as possible.

          • By AnthonyMouse 2026-02-095:071 reply

            > No, the perverse incentive is that there will be RepoCoin, and the people involved will be incentivized to make the price of that as high as possible.

            Isn't this problem unrelated to cryptocurrency?

            There will be the US dollar, and the people involved will be incentivized to keep its value high, e.g. by pressuring or invading other countries to prevent them from switching to other currencies. Or they'll be incentivized to adopt policies that cause consumer and government debt to become unreasonably excessive to create a large enough pool of debts denominated in that currency that they can create an inordinate amount of it without crashing its value.

            Or on the other side of the coin, there will be countries with currencies they knowingly devalue, either because they can force the people in that country to accept them anyway or because devaluing their currency makes their exports more competitive and simultaneously allows them to spend the currency they printed.

            If anything cryptocurrency could hypothetically be better at reducing these perverse incentives, because if good rules are chosen at the outset and get ossified into the protocol then it's harder for bad actors to corrupt something that requires broad consensus to change.

            • By nl 2026-02-095:542 reply

              Sure, but your average developer doesn't have a lot of agency in if the US invades another country in order to increase the value of the coin they got for having a PR merged.

              But with crypto they do. See for example all the BAGS coins that get created for random opensource projects and the behavior that occurs because of that.

              • By Karrot_Kream 2026-02-098:241 reply

                Just use a stablecoin, don't float a "utility token" those things are stupid. Have a smart contract receive a USDC deposit. If the maintainer "times out" reviewing your PR, the contract returns all the deposit. If the maintainer does not accept your PR, the contract burns 0.5x of the deposit and returns the rest. Maintainers can decide to turn off the time-out for very popular projects where you probably would have devs trying to spam PRs for fame/recognition, but hopefully the deposit price can accurately reflect the amount of spam the project gets.

                Utility tokens are fundamentally equities and you need to firewall equity from an organization the same way companies in most market economies are regulated.

                • By AnthonyMouse 2026-02-0918:15

                  You don't even need to burn it, just send it to someone other than the developers, like the EFF, so the developers aren't given a perverse incentive.

              • By AnthonyMouse 2026-02-097:121 reply

                The average developer also doesn't have a lot of agency with respect to how major chains like Ethereum are run either, but they can use them.

                Creating your own chain just because you can rather than because you actually have a reason to implement the technology in a different way than anybody else should be disfavored and viewed with suspicion.

                • By nl 2026-02-097:55

                  I'm talking about your own coin, not chain.

                  ERC20 tokens are part of Ethereum (and yes I realise there are also non ETH based tokens and that the gas cost of Eth makes them attractive etc etc)

          • By satvikpendem 2026-02-095:361 reply

            But it could just be made a stablecoin.

            • By SR2Z 2026-02-096:071 reply

              It's a huge shame that crypto has been so poorly-behaved as an industry that almost nobody is willing to touch it except for speculation. It could be useful but it's scared away most of the honest people.

              • By backscratches 2026-02-0910:431 reply

                The fact that people around the world are trading hundreds of billions of dollars of stable coins [1], with India, Pakistan, the Philippines and Brazil in the top five countries [2], not least of all for the purpose of "greater monetary stability" [3], I think points toward the revolutionary usefulness of its inherently non-speculative properties (as referenced in positive applications of crypto in above comments).

                It really has been a shitshow of get rich schemes, and yet crypto keeps not dying, instead increasingly getting applied to extremely valuable real world every day use cases, which I think is evidence of the value of the inherent technology.

                [1]https://defillama.com/stablecoins [2]https://www.trmlabs.com/reports-and-whitepapers/2025-crypto-... [3]https://www.goldmansachs.com/what-we-do/goldman-sachs-global...

                • By weedhopper 2026-02-0912:581 reply

                  The greed has ruined it, and the greed and desperation to get rich at all costs keeps it alive.

                  • By backscratches 2026-02-0913:35

                    My point is that despite the incredible greed and desperation it not only doesn't die, its practical uses are growing. The numbers say that the actual value exceeds the grift.

          • By rifty 2026-02-093:18

            Ahh, I see now the angle you were coming at it from, my wrong!

          • By toddmorrow 2026-02-1016:13

            gitcoin lol

      • By chairmansteve 2026-02-0912:551 reply

        "It's made me realize that the love of money corrupts".

        Yep. How about $1 per PR. The submitter gets to choose from a list of charities. No refund if the PR is accepted.

        The goal is to get rid of junk PR's. This would work. There could be a central payment system, which any open source project can integrate with. It could accept payment in say India, of the Indian PPP of $1, so you aren't shutting out poorer developers.

        • By account42 2026-02-0913:223 reply

          I would not pay any amount of money, even a trivial one, for the privilege of being able to do free work for a project - and I don't think I'm an outlier here.

          • By anonymousab 2026-02-0914:361 reply

            Another way to think of it is: paying $1 to have your pr and concerns elevated above the supermajority sea (that which will be ai driven contributions). For that cost, it's a steal of the deal.

            Then, from the perspective of "it's a donation to a project you care about" it becomes even more rational. But the project itself getting the money has all the problems others have outlined already, so that idea's a bit bust.

            • By KawaiiCyborg 2026-02-0917:221 reply

              > "it's a donation to a project you care about"

              But I'm already donating my time by creating a PR, it definitely would disincentivize me to make PRs if I had to also pay in addition to already doing the actual work. Just always such a shame that the good people have to suffer because of the actions of the shitty people...

              • By mring33621 2026-02-0917:431 reply

                Nope. From the POV of the maintainer, you are creating extra, and probably unnecessary, work for them.

                • By KawaiiCyborg 2026-02-0920:43

                  If that's actually the opinion of the maintainer, why even accept PRs at all? At that point, just categorically deny any. I was thinking more of actual community projects that _want_ community PRs. Those seem to have welcomed my contributions in the past, but of course they were not just AI slop or other low effort PRs.

          • By wongarsu 2026-02-0917:171 reply

            Most of my PRs are drive-by PRs: I have an problem, maybe a bug or missing feature, that annoyed me enough to fix it. And because I want to use future versions without the work of maintaining a fork I instead invest the work to upstream the fix. A step that is sometimes more work than the fix itself. At that point I wouldn't mind paying $1 to get that PR looked at and merged.

            But that is not the only type of PR. We clearly need escape hatches for people who engage with a project on a deeper level.

            • By chairmansteve 2026-02-1117:25

              "We clearly need escape hatches for people who engage with a project on a deeper level".

              Yep. The project maintainer can whitelist those people.

          • By chairmansteve 2026-02-1117:21

            The money is going to a charity of your choice.

      • By kaicianflone 2026-02-0914:06

        I think the core insight here is about incentives and friction, not crypto specifically.

        I’m working on an open source CLI that experiments with this at a local, off-chain level. It lets maintainers introduce cost, review pressure, or reputation at submission time without tying anything to money or blockchains. The goal is to reduce low-quality contributions without financializing the workflow or creating new attack surfaces.

      • By awestroke 2026-02-0910:441 reply

        I see no advantage with this over real money transfers. At all. Just use some kind of escrow.

        • By Hendrikto 2026-02-0911:591 reply

          You don’t need a third party, or anybodies permission, nobody can censor you or block your transactions, you don’t need a bank account with everything that entails. The barrier of entry is the same as creating an SSH keypair. It works globally, fast, cheap. You do not need to trust anybody, all the code is open and the ledger is cryptographically verifiable by anyone. There are lots of advantages.

          • By awestroke 2026-02-106:41

            In this scenario, the repo owner can just merge the patch but still refuse to pay back the shitcoin. With escrow, the escrow entity would act as an arbiter

      • By oofbey 2026-02-094:34

        No. Just because you can use crypto for something doesn’t mean you should. In fact you almost never should.

    • By k8sToGo 2026-02-0820:473 reply

      If you want me to read your comment, please pay me $1 first... if I find your comment interesting I might refund.

      • By hermanb 2026-02-0820:512 reply

        I had this idea / pet project once where I did exactly this for email. Emails would immediately bounce with payment link and explanation. If you paid you get credit on a ledger per email address. Only then the mail goes through.

        You can also integrate it in clients by adding payment/reward claim headers.

        • By Fnoord 2026-02-0822:161 reply

          Bill Gates already had this idea. All efforts to change email were already documented 25 years ago. The biggest changes are it is more centralized these days, SPF/DKIM/DMARC, JMAP innovation, oh... and one more thing! It is HUGE!! HTML email is the default...

          • By TurdF3rguson 2026-02-0823:23

            Yeah I remember this from "The Road Ahead" which I chanced upon one time in the 90s. I thought it was a silly idea.

        • By zx8080 2026-02-0823:561 reply

          Scammers (and spammers) always got $1! That's why there's a lot of the scam ads on google, fb, apple.

          So the paywall email firewall will not work as desired.

          • By Dylan16807 2026-02-090:261 reply

            Not many email attacks are worth an entire dollar. It would be very very effective at reducing spam. And too effective at reducing everything else.

            • By zx8080 2026-02-094:091 reply

              Emails to CEOs they do worth.

              • By Dylan16807 2026-02-094:141 reply

                So only CEOs will get spam, and it's effective for 99.9% of people? I would not describe that as "will not work as desired".

                • By AnthonyMouse 2026-02-095:101 reply

                  And it would even still work for the CEO, they would just have to charge more than $1.

                  The real problem is we don't have a low-friction digital payment system that allows individuals to automate sending payment requests for small amounts of money to each other without requiring everyone to sign up for a merchant account with a financial bureaucracy.

                  • By SJC_Hacker 2026-02-096:541 reply

                    > The real problem is we don't have a low-friction digital payment system that allows individuals to automate sending payment requests for small amounts of money to each other without requiring everyone to sign up for a merchant account with a financial bureaucracy.

                    Its called cryptocurrency

                    • By AnthonyMouse 2026-02-097:032 reply

                      First you have to make it low-friction. If I want Joe Average to send me $1 in cryptocurrency, how is he getting $1 in cryptocurrency to send me?

                      • By nobody9999 2026-02-0910:501 reply

                        >First you have to make it low-friction. If I want Joe Average to send me $1 in cryptocurrency, how is he getting $1 in cryptocurrency to send me?

                        Absolutely. You're 1000% correct. Cryptocurrency is way too high friction for stuff like that. When I wish to spend crypto, I need to:

                        [If you don't have an exchange account already, you'll need the 0.x steps too!]

                        0.0 Create an account on an exchange which is legally allowed to operate in your state/country;

                        0.1 Provide all sorts of KYC/AML info including photos of yourself and your government ID;

                        0.2 Wait hours/days/weeks for the exchange to "validate" your KYC/AML info and allow you to purchase crypto;

                        1. Log in to an exchange which is actually allowed to operate in the place where one resides;

                        2. Purchase Bitcoin or other coin the exchange deems appropriate (leaving aside the hefty fee charged for using fiat currency/traditional credit card);

                        3. Wait days/weeks until the exchange allows you to transfer the purchased cryptocurrency out of your exchange-hosted wallet;

                        4. Transfer crypto to a wallet you actually control;

                        5. Convert the crypto purchased on the exchange to the crypto coin required for whatever your purpose may be;

                        6. Transmit the crypto to the destination wallet.

                        Total time (not including setting up the exchange account, which can take anywhere from 1-10 days): 3-10 days.

                        Much too high friction for small payments, IMHO.

                        • By SJC_Hacker 2026-02-0914:323 reply

                          All the setup is no worse than setting up a bank account

                          And technically it can be avoided through back channels if you know someone who already has it - can just pay them cash or whatever and they can send crypto to you

                          Crypto is very easy to transfer once you have a wallet

                          Its the exchange to/from real world currency where the friction is.

                          • By Dylan16807 2026-02-0917:51

                            > All the setup is no worse than setting up a bank account

                            Which is a huge pain in the butt. If someone invented a new lower-spam email ecosystem that required everyone to make a new bank account, very few people would join.

                            I would say something about a combined account but many countries have already figured out free bank transfers without needing crypto so maybe do that?

                          • By nobody9999 2026-02-1116:38

                            Sorry for the late reply.

                            You're correct, as far as it goes.

                            However, we weren't talking about using cryptocurrency in general, but in a very specific way: Making micropayments to devs as a mechanism to limit AI slop PRs to open source projects.

                            Doing that effectively would require broad implementation of some sort of payment scheme.

                            Given the current (as I documented) hoops one needs to jump through to obtain cryptocurrency if one doesn't have any, especially just for a random user to get crypto to send $1 to a github repo with their PR makes exactly zero sense.

                            Yes. Buying drugs and other stuff outside of the mainstream economy is definitely worth the effort. To send $1/PR for escrow to limit spam? Not so much.

                      • By fragmede 2026-02-100:101 reply

                        There is no shortage of apps to do that these days. Venmo and CashApp are pretty mainstream for people in the US.

                        • By zx8080 2026-02-113:45

                          I'll better keep the $1 to myself than go through the crazy 35 steps KYC onboarding form just to send that $1.

      • By jt2190 2026-02-0820:521 reply

        The market currently values your reading of HN comments at $0.

        • By AlexCoventry 2026-02-091:001 reply

          I'm sure astroturfers value it more highly than that.

          • By vasco 2026-02-097:411 reply

            The only way for you to be sure of that is if you're one.

            • By johnnyanmac 2026-02-098:23

              I'm sure there's literature out there on how much astroturfers are paid.

      • By eps 2026-02-109:48

        Who's hit with the transaction fees though?

    • By spruce_tips 2026-02-091:464 reply

      I built a side project to solve this for myself that’s basically an inbox toll system. It funnels emails from unknown senders into a hidden mailbox and auto replies to the sender with a payment link. After the sender pays, the email gets released to recipient’s main inbox. Recipient can set custom toll amounts, whitelist, etc.

      Would be happy to share the code, just lmk!

      • By crazygringo 2026-02-093:492 reply

        Has anyone ever paid you?

        The technical side of this seems easy enough. The human side, that seems more complicated.

        Like, if I were your doctor or contractor or kid's schoolteacher or whoever you hadn't happened to already whitelist, and had sent you something important for you, and got that back as a response... I'm sure as heck not paying when I'm trying to send you something for your benefit.

        • By spruce_tips 2026-02-101:37

          no one paid me but didnt really have this running for very long on my inbox. was really just a poc. and you're right - the human side is weird. surprisingly hard to solve the "real human, not spam, that's also an email address you see for the first time" scenarios, which there are many of - even with LLMs

        • By vasco 2026-02-097:391 reply

          Yeah, meanwhile a scammer will actually pay to have a seal of approval.

          It's a great way to stop receiving anything that benefits yourself and only start receiving mail which could make the sender way more than $1

          • By chmod775 2026-02-0911:21

            > Yeah, meanwhile a scammer will actually pay to have a seal of approval.

            No they won't. Especially not automated spam. They'd just get farmed by people creating millions of fake e-mail addresses.

      • By chasd00 2026-02-093:321 reply

        I’m interested in seeing this too. Heh an agent will gladly pay a dollar of their human’s money if they can declare success.

        • By spruce_tips 2026-02-102:08

          https://github.com/JoeBerg8/tollbooth

          this was part of a little saas tool i was building (since retired it) so spent some time today having an LLM help me pull it into a headless service. far from perfect but sharing anyway. details in readme!

      • By kurtis_reed 2026-02-092:371 reply

        Please do share!

        • By spruce_tips 2026-02-102:08

          https://github.com/JoeBerg8/tollbooth

          this was part of a little saas tool i was building (since retired it) so spent some time today having an LLM help me pull it into a headless service. far from perfect but sharing anyway. details in readme!

      • By Quizzical4230 2026-02-093:021 reply

        Yes please!

        • By spruce_tips 2026-02-102:08

          https://github.com/JoeBerg8/tollbooth

          this was part of a little saas tool i was building (since retired it) so spent some time today having an LLM help me pull it into a headless service. far from perfect but sharing anyway. details in readme!

    • By unfunco 2026-02-095:261 reply

      People with very little to no skill in software development are spending hundreds of dollars on tokens to fix things for clout, will an extra dollar barrier really slow things down noticeably?

      • By tehlike 2026-02-095:29

        There are a lot of _free_ models on opencode.

    • By Bewelge 2026-02-0821:261 reply

      > But the value of low quality communication is not zero: it is actively harmful, because it eats your time.

      But a non-zero cost of communication can obviously also have negative effects. It's interesting to think about where the sweet spot would be. But it's probably very context specific. I'm okay with close people engaging in "low quality" communication with me. I'd love, on the other hand, if politicians would stop communicating via Twitter.

      • By lelandbatey 2026-02-0821:441 reply

        The idea is that sustained and recurring communication would have a cost that quickly drops to zero. But establishing a new line of communication would have a slight cost, but which would quickly drop to zero.

        A poorly thought out hypothetical, just to illustrate: Make a connection at a dinner party? Sure, technically it costs 10¢ make that initial text message/phone call, then the next 5 messages are 1¢ each, but thereafter all the messages are free. Existing relationships: free. New relationships, extremely cheap. Spamming at scale: more expensive.

        I have no idea if that's a good idea or not, but I think that's an ok representation of the idea.

        • By Bewelge 2026-02-0821:54

          Haha yea, I almost didn't post my comment since the original submission is about contributors where a one time "introduction fee" would solve these problems.

          I was specifically thinking about general communication. Comparing the quality of communication in physical letters (from a time when that was the only affordable way to communicate) to messages we send each other nowadays.

    • By phantomathkg 2026-02-097:502 reply

      This means someone with tons of money can spam anyone repo, while the lower income people cannot raise as many PR or speak as much as the filthy rich.

      • By johnnyanmac 2026-02-098:211 reply

        The incentives are way off too. Now you have a financial incentive as a maintainter to throw out normally well meaning PR's as "bad".

        • By judahmeek 2026-02-1022:081 reply

          ...which is balanced out by all the other incentives that have the maintainer currently contributing unpaid time & effort.

          • By johnnyanmac 2026-02-1022:32

            I don't think those are are valued as we think they should be. Hence this whole system to begin with.

      • By collingreen 2026-02-098:19

        Which is true now as well, but at least the cost is more than zero

    • By bastawhiz 2026-02-0822:541 reply

      I'll simply never file PRs, then. I'd say 4 out of every 5 PRs I file never get a response. Some on very large projects, and I like to think my PRs are more useful than docs fixes or pointless refactors. I'm simply not going to spend money to have to float around in the void endlessly because a maintainer lost interest in the project and won't ever look at my PR, I'll simply keep my changes on a downstream fork.

      Moreover, I'm not interested in having my money get handed over to folks who aren't incentivized to refund my money. In fact, they're paying processing costs on the charge, so they are disincentivized to refund me! There could be an escrow service that handles this, but now there's another party involved: I just want to fix a damn bug, not deal with this shit.

      • By zahrevsky 2026-02-0823:151 reply

        The system could be set up to automatically refund, if your PR wasn't checked for over $AVERAGE_TIME_TO_FIRST_REVIEW$ days. The variable is specific to the project, and even can be recalculated regularly and be parameterized with PR size.

        • By bastawhiz 2026-02-1121:32

          I don't think you heard what I said: I don't want to pay money to contribute to someone else's project. If I fixed your bug, I'm not paying you money for you to ignore my PR for _any_ amount of time, I'm simply not going to contribute back.

    • By KronisLV 2026-02-099:221 reply

      > It should just be $1 to submit PR.

      This, but for an escrow so people can show their actual interest in GitHub Issues, instead of just demanding new features or fixes. So if it gets implemented, the devs get the bounty, if not then they're refunded. I sometimes think about how this could help fund open source at least a little bit.

      No comment on making PRs paid, not everyone would react well to that, and some people might be in countries and circumstances where any amount would be problematic.

      • By boltzmann-brain 2026-02-099:39

        pay-to-commit has been discussed in the article linked here

        https://news.ycombinator.com/item?id=46938811

        escrow is a more complex system, and there are multiple possible implementations, but the nice thing is you can skip it and get the same results.

        let's assume for a second that the repo owner spends time on PR review, and that time needs to be reimbursed. let's also assume that the person pushing a PR expects some sort of bounty. then as long as the review price is less than bounty price, there's no need for escrow. the pushing party goes out on a limb paying the reviewer to merge their PR, but also expects (rightly or not) to be remunerated for solving the bounty. whether they really did solve it is in the remit of the bounty originator, who might or might not be part of the group controlling the repository. if there's escrow, then the bounty giver probably has to be part of that group. not having escrow allows for crowd funding by interests outside of the repo controlling party.

        escrow is only usefully different in a situation when there is no bounty, you want to push code, and then you want to say "ok, here's some money, and here's a PR, either accept the PR and give me money or don't accept it and take my money" as a means of skipping the line or getting a shot at pushing in the first place. however, at that point two things are apparent: 1. you expect the reviewer to do work required to implement your desired changes for free and 2. this might start getting abused, with PRs getting rejected (to gain money) but then modified / refactored versions of this code being pushed via commits or from another user who is the repo owner's puppet (refactoring code is becoming super cheap due to AI). so that degenerates escrow-to-push into a scam.

        there are more considerations like that in the article I linked to. I agree that an economy around FOSS pushing would be desirable. it also doesn't preclude free-as-in-money contributions - there are at least two mechanisms that would allow it: 1. you get sponsored by someone who sees your talent (either gives you money to push, or they have push access to that repo and can hand it out free) 2. you create a fork that becomes so good and valuable that upstream pulls from you for free

        ultimately becoming a respected developer with free push access to contended repositories should be something that you can monetize to some extent that's purely within your remit, and it would greatly reduce unserious bullshit coming from third parties (especially all those weird hardware developers) and make it easier to be a FOSS dev.

    • By toddmorrow 2026-02-1016:08

      there are many many examples where paying a nominal fee seems like it would get rid of the clowns. and it would. almost any place where the public can "post". but the challenge is to not inadvertently throw out the good ones.

      once notable policy SQL Server enterprise support used to have was you must be available 24/7 if you submit a critical issue. Microsoft was demanding as much of their time as our time.

      not sure how that could be rolled out to repos but it worked

    • By geysersam 2026-02-096:492 reply

      Or just don't refund it. Most people want to make contributions to open source, and everyone can afford $1. Exceptions can be made for very active contributors.

      • By lejalv 2026-02-098:16

        In fact, we can use an automated schedule: first PR - if rejected, 5€ are drawn from the contributor’s account, then 4€, 3€, etc (plug in your favourite decreasing function, round to 0€ when sufficiently close).

        But, crucially, if accepted, the contributor gets to draw 5€ from the repository’s fund of failed PRs (if it is there), so that first bona fide contributors are incentiviced to contribute. Nobody gets to profit from failed PRs except successful new contributors. Virtuous cycle, does not appeal to the individual self-interest of repo maintainers.

        One thing I am unsure of is whether fly-by AI contributions are typically made with for-free AI or there's already a hidden cost to them. This expected cost of machine-driven contribution is a factor to take into account when coming up with the upside/downside of first PR.

        PS. this is a Gedankenexperiment, I am not sure what introducing monetary rewards / penalties would do to the social dynamics, but trying with small amounts may teach us something.

      • By johnnyanmac 2026-02-098:25

        >everyone can afford $1

        Well that's awfully assumptuous. So now a young college kid needs to spend time and money to be able to help out a project? I also don't like that this model inentivizes a few big PR's over small, lean, readable ones.

        We're completely mixing up the incentives here anyway. We need better moderation and a cost to the account, not to each ccontribution. SomethingAwful had a great system for this 20 years ago; make it cost $10-30 to be an external contributor and report people who make slop/consistently bad PR's. They get reviewed and lose their contributor status, or even their entire account.

        Sure, you can whip up another account, but you can't whip the reputation back up. That's how you make sure seasoned accounts are trustworthy and keep accounts honest.

    • By hamasho 2026-02-090:38

      But one way to get better at communication is try and error. This solution makes trying much harder, and eventually leads less good communicators.

    • By tonymet 2026-02-091:34

      in the 90s, before bayesian spam filtering, Microsoft proposed a proof of work for email along these lines. it would cost the server a few cents per message to sign and send emails, so spammers would not be able to afford spam, but regular senders could handle a small fee per day.

    • By weli 2026-02-0910:141 reply

      $1 might not be a lot to you, but in some countries that's the daily wage. Even in rich countries one dollar for some might be the difference between eating or not eating that day.

      Paywalling without any regional pricing consideration it's just going to incentivize people from poor countries to not participate in your project. Maybe that's okay for you but it's something to consider.

      • By poulpy123 2026-02-0912:223 reply

        I don't like this idea but the people unable to afford $1 don't have time to propose PR

        • By lobsterthief 2026-02-0912:51

          That’s not true—it depends entirely on the country..

        • By weli 2026-02-0913:241 reply

          I'm glad that you are lucky enough to never have had to choose between filling your gas tank or eating. It's sadly the state many people live in.

          • By poulpy123 2026-02-0916:28

            You're right, I'm fortunate enough to not have this experience. But not only both food and gas are much more than 1€, but also people in this situation are too focused on finding a way to make money to care about submitting merge requests

        • By elxr 2026-02-0921:57

          Plenty of teens in poorer countries actively devoting a lot of time to practicing programming. $1 is a lot for a PR.

    • By _puk 2026-02-0821:57

      It's externalisation of cost.

      We've seen it everywhere, in communication, in globalised manufacturing, now in code generation.

      It takes nothing to throw something out there now; we're at a scale that there's no longer even a cost to personal reputation - everyone does it.

    • By ramon156 2026-02-0821:505 reply

      Sorry, but this seems like a privileged solution.

      Let's say you're a one-of-a-kind kid that already is making useful contributions, but $1 is a lot of money for you, then suddenly your work becomes useless?

      It feels weird to pay for providing work anyway. Even if its LLM gunk, you're paying to work (let alone pay for your LLM).

      • By Fnoord 2026-02-0822:292 reply

        It is a privileged solution. And a stupid one, too. Because $1 is worth a lot more for someone in India, than someone in USA. If you want to implement this more fairly, you'd be looking at something like GDP or BBP plus geolock. Streaming services perfected this mechanism already.

        • By strken 2026-02-091:293 reply

          This might be by design. Almost anyone writing software professionally at a level beyond junior is getting paid enough that $1 isn't a significant expense, whether in India or elsewhere. Some projects will be willing to throw collaboration and inclusivity out the window if it means cutting their PR spam by 90% and only reducing their pool of available professional contributors by 5%.

          • By Bayko 2026-02-092:045 reply

            Indian here. You are correct. Expecting any employed Indian software developer to not be able to spare 1$ is stupid. Like how exactly poor do you think we are?!

            • By Plasmoid 2026-02-093:041 reply

              It's not that outrageous. Apparently, 90% of India is living on less than $10 per day (https://ourworldindata.org/grapher/share-living-with-less-th...)

              • By csomar 2026-02-093:17

                I suspect most of these people are not software engineers with a computer?

            • By johnnyanmac 2026-02-098:37

              >Like how exactly poor do you think we are?!

              I get laid off and suddenly I'm poor and am weighing optins. And I'm American.

            • By Fnoord 2026-02-098:251 reply

              You misunderstood the point. The point isn't that you are poor. The point is that the burden of the money lies on average heavier on you than someone from USA. This creates an uneven playing field.

              I like to compare it with donations. If you get a USD donated, that is the same USD regardless of who gave it. Right? Right?!? Either way you don't know how heavy the burden is on the person who donated. You probably don't care. But it matters to the person who donated.

              • By sdenton4 2026-02-1113:331 reply

                Why let the perfect be the enemy of the good?

                A $1 fee is fine for Indian software developers and it kills the spam. If it's a greater burden for people in India than the US, well, not all solutions are perfect, but some are useful.

                • By Fnoord 2026-02-1122:49

                  Because it discriminates a marginalized group which is by tradition very important to the FOSS community: students

                  Also, no it wouldn't kill spam. The spam would be moved to pwned machines where the owner would suddenly have an incentive (financial) to fix the system, if they know.

                  What remains is people who would be so rich that $1 means nothing to them. Ie. white collar criminals who are already rich enough to not care.

            • By strken 2026-02-093:031 reply

              I think the point was that if an aspirational minimum wage worker on a borrowed computer wants to put up a PR then it would cost them less than ten minutes of wages to afford $1USD in the US, while the same worker in India would need to put up about half a day's wages.

              This is very noble in theory, but in practice you're not going to get many high-quality PRs from someone who's never been paid to write software and has no financial support.

              • By johnnyanmac 2026-02-098:39

                so we continue to make the rich richer and the broke students struggle more to get valuable experience. Very easy to point in 10-20 years under the coming "engineer crisis" why 'suddenly' can't support the systems we built.

            • By balgg 2026-02-0910:35

              So only employed software developers are allowed to make PRs?

          • By necovek 2026-02-095:27

            I've contributed almost full time to free software as a student. When I became a professional software developer, suddenly I lost the time to do it.

          • By Fnoord 2026-02-098:221 reply

            Students don't have a lot of money to burn here. They're borrowing money to study. You'll miss out on them. However, you're unlikely to notice. I mean, there is no control group in such experiment.

            • By account42 2026-02-0913:46

              I think the open source ecosystem would definitely notice long-term. Most people who become regular contributors start out in university or earlier - that's wen you have the most time to spend on hobbies like oss.

        • By gogasca 2026-02-093:03

          [dead]

      • By sdenton4 2026-02-0822:271 reply

        Not that word, in the context of contributing to an open source project that you're likely already benefiting from.

        ie, if you want to contribute code, you must also contribute financially.

        • By johnnyanmac 2026-02-098:36

          >contributing to an open source project that you're likely already benefiting from.

          Yes, but many people benefit for free. You see the backwards incentives of making the most interested (i.e. the ones who may provide the most work to your project) pay?

          And none of that even guarantee support. Meanwhile you donate more and you get to tell people what the build. It's all out of what.

      • By kurtis_reed 2026-02-0822:221 reply

        You get it refunded

        • By Nevermark 2026-02-0822:381 reply

          The default could should be to refund.

          That would make not-refunding culturally crass unless it was warranted.

          With manual options for:

          0. (Default, refund)

          1. (Default refund) + Auto-send discouragement response. (But allow it.)

          2. (Default refund) + Block.

          3. Do not refund

          4. Do not refund + Auto-send discouragement response.

          5. Do not refund + Block.

          6. Do not refund + Block + Report SPAM (Boom!)

          And typically use $1 fee, to discourage spam.

          And $10 fee, for important, open, but high frequency addresses, as that covers the cost of reviewing high throughput email, so useful email did get identified and reviewed. (With the low quality communication subsidizing the high quality communication.)

          The latter would be very useful in enabling in-demand contact doors to remain completely open, without being overwhelmed. Think of a CEO or other well known person, who does want an open channel of feedback from anyone, ideally, but is going to have to have someone vet feedback for the most impactful comments, and summarize any important trend in the rest. $10 strongly disincentives low quality communication, and covers the cost of getting value out of communication (for everyone).

          • By zx8080 2026-02-0823:571 reply

            $10 will be a honeypot for scammers.

            • By Nevermark 2026-02-096:33

              I don't think most people are going to pay $10 to get an email through without checking.

              Might be worth strongly suggesting a check, at permission time.

              But I am sure you are right.

              Maybe receivers don't get the money. They just get to burn whoever is sending them email they don't want? A thought anyway.

      • By andai 2026-02-107:55

        It is simple: we simply add a whitelist for the child prodigies.

      • By oldpersonintx 2026-02-0821:53

        [dead]

  • By theredbeard 2026-02-0911:046 reply

    OSS was already brutal for new contributors before AI. You'd spend hours on a good-faith PR and get ignored for months, or get torn apart in review because you didn't know the unwritten conventions. The signal-to-noise ratio sucked but at least maintainers would eventually look at your stuff.

    Now with AI-generated spam everywhere, maintainers have even more reason to be suspicious of unknown names. Vouch solves their problem, but think about what it means for someone trying to break in. You need someone to vouch for you before you can contribute, but how do you get someone to vouch for you if you can't contribute?

    I get why maintainers need this. But we're formalizing a system that makes OSS even more of an insider's club. The cold start problem doesn't really get any warmer like this.

    • By OkayPhysicist 2026-02-0917:231 reply

      Good filters make good communities. Back in the good ol' days of the internet, access to the internet in of itself was a decent filter: you had to want to be online, you needed to be somewhat technical, or at least willing to grapple with technical problems, and you needed to actively seek out communities online which aligned with your interests, and there was little financial motivation to do so in bad faith. As the barrier to entry to the internet writ large dropped to near zero, communities that were built around the bygone era's natural filtering suffered. Communities must now establish filters proactively.

      Ultimately, you need to choose: does your community prioritize its short-term health, or ease of access? If a community never lets anyone in, then it withers and dies eventually, but in the meantime the community can be extremely high-trust. That's what happened to fraternal orders like the Oddfellows and the Free Masons post-Vietnam. If the community has zero barrier to entry, you end up with Twitter: a teeming mass of low-trust members screaming into the void.

      The happy medium is allowing in new members just as fast as you can build trust and community cohesion. University clubs are a good example of this: at a massive turnover rate of 25% per year, they need to form processes to not just recruit that many people, but integrate that big of a chunk of their community without destroying the high-trust environment. That's how you end up with the ritualized "rushing" process.

      • By mrguyorama 2026-02-0921:17

        >Back in the good ol' days of the internet, access to the internet in of itself was a decent filter: you had to want to be online, you needed to be somewhat technical, or at least willing to grapple with technical problems, and you needed to actively seek out communities online which aligned with your interests, and there was little financial motivation to do so in bad faith

        And it was horrifically expensive to be online until the mid 90s, or late 90s depending on where you were.

    • By MattGrommes 2026-02-0918:531 reply

      The comment I read about this that I liked was that they want to push the idea of starting with an Issue and a discussion before going straight to a PR. That way you can build reputation by contributing to a discussion first. Maybe you could "earn" a temporary Vouch like this that lets you start submitting. Still open to attack but the attack is at least more difficult.

      • By judahmeek 2026-02-1022:14

        Agreed. The obvious solution is to lower the barrier of entry for demonstrating good intent, but also lowering the ceiling of effort required to analyze that demonstration for good intent.

        Mandating participation in discussion prior to creating any PR sounds like a perfectly reasonable requirement.

    • By bootsmann 2026-02-0917:20

      Maybe it is because I mostly contribute to projects that have corporate backers but this has not been my experience at all. Usually opening an issue with “I would be willing to fix this” gets good and quick responses from maintainers. Maybe linux kernel devs are different but I doubt many of us have to interact with that as part of our day-to-day business.

    • By iamrobertismo 2026-02-0918:49

      Building projects, especially larger ones, has not been solely about writing code. I don't see how anything you are saying is a bad thing at all. Drive-by PRs and similar practices are bad. A high barrier is a feature, not a bug.

    • By everforward 2026-02-0921:02

      This makes sense to me. Part of me wonders if this system wouldn't work better in reverse, a blocklist instead of a banlist. Blocklists can spread via URL, in the same way that DNS or email blocklists work. Subscribe to the blocklists of people you trust.

      I _think_ this removes the motivation for low-quality PRs. Get on a major blocklist and the GitHub account is basically dead. People could make new GitHub accounts, but then you never get an "impressive" GitHub account.

    • By monegator 2026-02-0912:112 reply

      let's make it even better: why not set up a donation mechanism to get in the list?

  • By Halan 2026-02-0819:046 reply

    How does a potential positive contributor pierce through? If they are not contributing to something already and are not in the network with other contributors? They might be a SME on the subject and legit have something to bring to the table but only operated on private source.

    I get that AI is creating a ton of toil to maintainers but this is not the solution.

    • By arcologies1985 2026-02-0819:22

      In my OSS projects I appreciate if someone opens an issue or discussion with their idea first rather than starting with a PR. PRs often put me in an awkward position of saying "this code works, but doesn't align with other directions I'm taking this project" (e.g. API design, or a change making it harder to reach longer term goals)

    • By mordnis 2026-02-0910:04

      He answered it in the thread: Basically, the system has no opinion on that, but in his projects he will vouch anyone who introduces themselves like a normal human being when opening a PR.

    • By buovjaga 2026-02-0820:101 reply

      One solution is to have a screensharing call with the contributor and have them explain their patch. We have already caught a couple of scammers who were applying for a FOSS internship this way. If they have not yet submitted anything non-trivial, they could showcase personal projects in the same way.

      FOSS has turned into an exercise in scammer hunting.

      • By swordsith 2026-02-0821:072 reply

        I'm not sure if I follow, are the PRs legitimate and they are just being made to buff their resume, or are PRs malicious?

        • By buovjaga 2026-02-097:47

          The patches are not malicious, but the submitters are unable to explain them. We require submitting a non-trivial patch in order for someone to be considered for a FOSS internship. As there is money involved, this attracts scammers now more than ever.

        • By Fogest 2026-02-0823:00

          They are becoming AI slop more and more likely in an attempt to buff their resumes by making it look like they contribute to a bunch of open source. Basically low effort low quality submissions for silly things that just waste maintainers time.

    • By lelandbatey 2026-02-0821:59

      It seems like it depends on how the authors have configured Vouch. They might completely close the project except to those on the vouch list (other than viewing the repo, which seems always implied).

      Alternatively they might keep some things open (issues, discussions) while requiring a vouch for PRs. Then, if folks want to get vouched, they can ask for that in discussions. Or maybe you need to ask via email. Or contact maintainers via Discord. It could be anything. Linux isn't developed on GitHub, so how do you submit changes there? Well you do so by following the norms and channels which the project makes visible. Same with Vouch.

    • By qmarchi 2026-02-0819:151 reply

      Looking at this, it looks like it's intended to handle that by only denying certain code paths.

      Think denying access to production. But allowing changes to staging. Prove yourself in the lower environments (other repos, unlocked code paths) in order to get access to higher envs.

      Hell, we already do this in the ops world.

      • By Halan 2026-02-0819:20

        So basically we are back at tagging stuff as good for first contributors like we have been doing since the dawn of GitHub

    • By anon291 2026-02-096:311 reply

      Honestly, the entire process of open-source contribution is broken. People should just fork and compete on the free 'market'. If you have a good idea / PR, just keep patchsets. People should mix and match the patch sets as they like. Maintainers who want to keep their version active will be forced to merge proper patch sets. The key argument against this is the difficulty integrating patch sets.

      This should be easier with AI. Most LLMs are pretty good at integrating existing code.

      • By judahmeek 2026-02-1022:30

        It already is a free market. Aggregation effects improve value.

HackerNews