zlacker

Vouch

submitted by chwtut+(OP) on 2026-02-08 03:09:28 | 851 points 385 comments
[view article] [source] [go to bottom]

https://x.com/mitchellh/status/2020252149117313349

https://nitter.net/mitchellh/status/2020252149117313349

https://github.com/ghostty-org/ghostty/pull/10559


NOTE: showing posts with links only show all posts
2. someon+62[view] [source] 2026-02-08 03:34:59
>>chwtut+(OP)
Hope github can natively integrate something in the platform, a relevant discussion I saw on official forums: https://github.com/orgs/community/discussions/185387
◧◩
6. matthe+45[view] [source] [discussion] 2026-02-08 04:12:30
>>someon+62
We'll ship some initial changes here next week to provide maintainers the ability to configure PR access as discussed above.

After that ships we'll continue doing a lot of rapid exploration given there's still a lot of ways to improve here. We also just shipped some issues related features here like comment pinning and +1 comment steering [1] to help cut through some noise.

Interested though to see what else emerges like this in the community, I expect we'll see continued experimentation and that's good for OSS.

[1] https://github.blog/changelog/2026-02-05-pinned-comments-on-...

◧◩◪
15. sparky+Pd[view] [source] [discussion] 2026-02-08 06:25:52
>>ashton+xc
Close, but it's "Butlerian". Easy to remember if you know it's named after Samuel Butler.

https://en.wikipedia.org/wiki/Erewhon

21. ashton+ag[view] [source] 2026-02-08 07:04:22
>>chwtut+(OP)
Fediverse link: https://fosstodon.org/@mitchellh@hachyderm.io/11603152931120...
◧◩
25. igor47+An[view] [source] [discussion] 2026-02-08 08:22:40
>>ashton+2d
Man, I'm a huge fan of Anathem (and Stephenson in general) but this short excerpt really reminded me of https://xkcd.com/483/
◧◩◪
28. drewst+rs[view] [source] [discussion] 2026-02-08 09:19:49
>>ashton+ed
Ethos is already building something similar, but starting with a focus on reputation within the crypto ecosystem (which I think most can agree is an understandable place to begin)

https://www.ethos.network/

29. amadeu+YC[view] [source] 2026-02-08 11:34:20
>>chwtut+(OP)
Why isn't the link directly to the github repository[1]?

[1]: https://github.com/mitchellh/vouch

30. tmvnty+8H[view] [source] 2026-02-08 12:17:02
>>chwtut+(OP)
Are we seeing forum moderations (e.g., Discourse trust levels^[1]) coming to source code repositories?

[1]: https://blog.discourse.org/2018/06/understanding-discourse-t...

53. jprose+Rz1[view] [source] 2026-02-08 18:26:00
>>chwtut+(OP)
Prior art? https://en.wikipedia.org/wiki/Advogato
◧◩
60. ramses+UB1[view] [source] [discussion] 2026-02-08 18:40:13
>>dom96+Iz1
It's similar to old Usenet "killfiles" - https://en.wikipedia.org/wiki/Kill_file

...or spam "RBL" lists which were often shared. https://en.wikipedia.org/wiki/Domain_Name_System_blocklist

61. adeebs+1C1[view] [source] 2026-02-08 18:41:03
>>chwtut+(OP)
"Open source has always worked on a system of trust and verify"

Not sure about the trust part. Ideally, you can evaluate the change on its own.

In my experience, I immediately know whether I want to close or merge a PR within a few seconds, and the hard part is writing the response to close it such that they don't come back again with the same stuff.

(I review a lot of PRs for openpilot - https://github.com/commaai/openpilot)

◧◩◪◨
82. mjr00+AG1[view] [source] [discussion] 2026-02-08 19:11:00
>>zozbot+PE1
You're giving way too much credit to the people spamming these slop PRs. These are not good faith contributions by people trying to help. They are people trying to get pull requests merged for selfish reasons, whether that's a free shirt or something to put on their resume. Even on the first page of closed ghostty PRs I was able to find some prime slop[0]. It is a huge waste of time for a maintainer to nicely tell people like this they need to refactor. They're not going to listen.

edit; and just to be totally clear this isn't an anti-AI statement. You can still make valid, even good PRs with AI. Mitchell just posted about using AI himself recently[1]. This is about AI making it easy for people to spam low-quality slop in what is essentially a DoS attack on maintainers' attention.

[0] https://github.com/ghostty-org/ghostty/pull/10588

[1] https://mitchellh.com/writing/my-ai-adoption-journey

◧◩◪
83. joecoo+gH1[view] [source] [discussion] 2026-02-08 19:15:32
>>ashton+ed
> I'm pretty skeptical of all things cryptocurrency, but I've wondered if something like this would be an actually good use case of blockchain tech…

So the really funny thing here is the first bitcoin exchange had a Web of Trust system, and while it had it's flaws IT WORKED PRETTY WELL. It used GPG and later on bitcoin signatures. Nobody talks about it unless they were there but the system is still online. Keep in mind, this was used before centralized exchanges and regulation. It did not use a blockchain to store ratings.

As a new trader, you basically could not do trades in their OTC channel without going through traders that specialized in new people coming in. Sock accounts could rate each other, but when you checked to see if one of those scammers were trustworthy, they would have no level-2 trust since none of the regular traders had positive ratings of them.

Here's a link to the system: https://bitcoin-otc.com/trust.php (on IRC, you would use a bot called gribble to authenticate)

◧◩◪◨
120. mjr00+mP1[view] [source] [discussion] 2026-02-08 20:05:56
>>zbentl+JK1
I didn't mean the "fuck off" part to be quite verbatim... this ghostty PR[0] is a good example of how this stuff should be handled. Notably: there's no attempt to review or provide feedback--it's instantly recognized as a slop PR--and it's an instant ban from repo.

This is the level of response these PRs deserve. What people shouldn't be doing is treating these as good-faith requests and trying to provide feedback or asking them to refactor, like they're mentoring a junior dev. It'll just fall on deaf ears.

[0] https://github.com/ghostty-org/ghostty/pull/10588

◧◩◪
152. BiteCo+pY1[view] [source] [discussion] 2026-02-08 21:10:53
>>jen20+tS1
Under the EU’s GDPR, any processing of personal data (name, contact, identifiers, etc.) generally requires a legal basis (e.g., consent, legitimate interest, contractual necessity), clear purpose, minimal data, and appropriate protection. Doing so without a lawful basis is unlawful.

It is not a cookie banner law. The american seems to keep forgetting that it's about personal data, consent, and the ability to take it down. The sharing of said data is particularly restricted.

And of course, this applies to black list, including for fraud.

Regulators have enforced this in practice. For example in the Netherlands, the tax authority was fined for operating a “fraud blacklist” without a statutory basis, i.e., illegal processing under GDPR: https://www.autoriteitpersoonsgegevens.nl/en/current/tax-adm...

The fact is many such lists exist without being punished. Your landlord list for example. That doesn't make it legal, just no shutdown yet.

Because there is no legal basis for it, unless people have committed, again, an illegal act (such as destroying the pub property). Also it's quite difficult to have people accept to be on a black list. And once they are, they can ask for their data to be taken down, which you cannot refuse.

◧◩
168. boltzm+Y22[view] [source] [discussion] 2026-02-08 21:45:12
>>a-dub+UZ1
Vouch is a good quick fix, but it has some properties that can lead to collapsed states, discussed in the article linked here: >>46938811
◧◩
193. senko+D62[view] [source] [discussion] 2026-02-08 22:09:04
>>a-dub+UZ1
The origin of the problems with low-quality drive-by requests is github's social nature[0]. AI doesn't help, but it's not the cause.

I've seen my share of zero-effort drive-by "contributions" so people can pad their GH profile, long before AI, on tiny obscure projects I have published there: larger and more prominent projects have always been spammed.

If anything, the AI-enabled flood will force the reckoning that was long time coming.

[0] >>46731646

◧◩◪
198. dedzyc+y72[view] [source] [discussion] 2026-02-08 22:15:31
>>jimmas+WH1
i believe he is talking about Twitter(X) and not x11. so a political stance from the x.com in the description. i love running x11 too, wayland is still not there yet sadly, still has a few quirks.

if not mistaken x11 is what mitchell is running rightn ow https://github.com/mitchellh/nixos-config/blob/0c42252d8951a...

209. sebast+qa2[view] [source] 2026-02-08 22:37:59
>>chwtut+(OP)
https://www.lewissociety.org/innerring/
215. max_+Db2[view] [source] 2026-02-08 22:46:25
>>chwtut+(OP)
If you like this, you may love Robin Hansons similar idea of vouching [0]

[0]: https://www.youtube.com/watch?v=rPdHXw05SvU

◧◩
226. dcre+7f2[view] [source] [discussion] 2026-02-08 23:12:29
>>tmp104+L92
“Shrinking since the election”, while technically true, is misleading because the election is when bsky experienced a massive spike in usage that was well over double the average before the election. Usage has been gradually decaying since then to a steady level much higher than it was before the election.

If you zoom out to a few years you can see the same pattern over and over at different scales — big exodus event from Twitter followed by flattening out at level that is lower than the spike but higher than the steady state before the spike. At this point it would make sense to say this is just how Bluesky grows.

https://bsky.jazco.dev/stats

Besides that, the entire point of this project is to increase the barrier to entry for potential contributors (while ideally giving good new people a way in). So I really don’t think they’re worried about this problem.

◧◩◪
236. gruez+qk2[view] [source] [discussion] 2026-02-09 00:03:27
>>dcre+7f2
>At this point it would make sense to say this is just how Bluesky grows.

>https://bsky.jazco.dev/stats

If you zoom out the graph all the way you'll see that it's a decline for the past year. The slight uptick in the past 1-2 months can probably be attributed to other factors (eg. ICE protests riling the left up) than "[filter bubble] is how bluesky grows".

◧◩
241. akerl_+km2[view] [source] [discussion] 2026-02-09 00:19:58
>>femto1+XT1
> attacker "proves" themselves trustworthy on any project by behaving in an entirely helpful and innocuous manner, then leverages that to gain trust in target project (possibly through multiple intermediary projects).

Well, yea, I guess? That's pretty much how the whole system already works: if you're an attacker who's willing to spend a long time doing helpful beneficial work for projects, you're building a reputation that you can then abuse later until people notice you've gone bad.

This feels a bit https://xkcd.com/810/

◧◩◪
245. btown+3n2[view] [source] [discussion] 2026-02-09 00:25:40
>>tgsovl+0V1
Per the readme:

> 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... So, let's move to an explicit trust model where trusted individuals can vouch for others, and those vouched individuals can then contribute.

And per https://github.com/mitchellh/vouch/blob/main/CONTRIBUTING.md :

> If you aren't vouched, any pull requests you open will be automatically closed. This system exists because open source works on a system of trust, and AI has unfortunately made it so we can no longer trust-by-default because it makes it too trivial to generate plausible-looking but actually low-quality contributions.

===

Looking at the closed PRs of this very project immediately shows https://github.com/mitchellh/vouch/pull/28 - which, true to form, is an AI generated PR that might have been tested and thought through by the submitter, but might not have been! The type of thing that can frustrate maintainers, for sure.

But how do you bootstrap a vouch-list without becoming hostile to new contributors? This seems like a quick way for a project to become insular/isolationist. The idea that projects could scrape/pull each others' vouch-lists just makes that a larger but equally insular community. I've seen well-intentioned prior art in other communities that's become downright toxic from this dynamic.

So, if the goal of this project is to find creative solutions to that problem, shouldn't it avoid dogfooding its own most extreme policy of rejecting PRs out of hand, lest it miss a contribution that suggests a real innovation?

◧◩◪◨
253. yencab+uq2[view] [source] [discussion] 2026-02-09 00:54:20
>>dlahod+en2
The issues are still open. >>46535621
279. fouc+7A2[view] [source] 2026-02-09 02:23:59
>>chwtut+(OP)
This reminds me a bit of the basic concepts behind Zed Shaw's Utu idea

https://weblog.masukomi.org/2018/03/25/zed-shaws-utu-saving-...

https://savingtheinternetwithhate.com/

DEFCON presentation: https://www.youtube.com/watch?v=ziTMh8ApMY4

◧◩
287. mijoha+lD2[view] [source] [discussion] 2026-02-09 02:59:45
>>mijoha+LZ1
Looks like he's got a few posts mentioning that he likes nu[0].

Something to keep in mind if I'm ever looking to switch I guess.

[0] https://x.com/mitchellh/status/1907849319052386577

◧◩◪◨⬒⬓
291. Plasmo+OD2[view] [source] [discussion] 2026-02-09 03:04:02
>>Bayko+8y2
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...)
◧◩◪
306. freaky+ZI2[view] [source] [discussion] 2026-02-09 04:01:54
>>Goofy_+GF2
The idea is sound, and we definitely need something to address the surge in low-effort PRs, especially in the post-LLM era.

Regarding your points:

"Threat Actors compromising an account..." You're spot on. A vouch-based system inevitably puts a huge target on high-reputation accounts. They become high-value assets for account takeovers.

"Threat actors creating fake chains of trust..." This is already prevalent in the crypto landscape... we saw similar dynamics play out recently with OpenClaw. If there is a metric for trust, it will be gamed.

From my experience, you cannot successfully layer a centralized reputation system over a decentralized (open contribution) ecosystem. The reputation mechanism itself needs to be decentralized, evolving, and heuristics-based rather than static.

I actually proposed a similar heuristic approach (on a smaller scale) for the expressjs repo a few months back when they were the first to get hit by mass low-quality PRs: https://gist.github.com/freakynit/c351872e4e8f2d73e3f21c4678... (sorry, couldn;t link to original comment due to some github UI issue.. was not showing me the link)

◧◩
328. dang+nP2[view] [source] [discussion] 2026-02-09 05:19:45
>>fcanto+8o2
"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."

https://news.ycombinator.com/newsguidelines.html

◧◩
338. throwa+1U2[view] [source] [discussion] 2026-02-09 06:18:15
>>moogly+S41
This is untrue.

Look here: https://github.com/mitchellh/vouch/blob/main/CONTRIBUTING.md

It explains how to get vouched. You need to have a person vouch for you after you open an issue with your proposed change. After you are vouched, you may raise a PR.

◧◩
368. Naraci+W73[view] [source] [discussion] 2026-02-09 08:31:44
>>dncnmc+k63
It seems it's a 3 state system already, with exit code 2 being the "not vouched / neutral" state.

https://github.com/mitchellh/vouch?tab=readme-ov-file#local-...

Local Commands

Check a user's vouch status:

vouch check <username>

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

381. Aachen+Be3[view] [source] 2026-02-09 09:36:08
>>chwtut+(OP)
I've thought about making such a system before, but never considered making it a single flat file¹. How are you going to identify who keeps inviting these bad actors?

Assuming the list is under source control, the commit history can answer this question but it's manual work whereas a tree/graph system shows you directly who is making the bad judgement calls (may be intentional or not, so this person can keep contributing so long as those contribs are good, but not invite further people). I don't understand the added value of a bunch of software around what is essentially an allowlist where the commit history already shows why someone was added or removed

¹ https://github.com/mitchellh/vouch?tab=readme-ov-file#vouche...

◧◩◪
382. boltzm+Te3[view] [source] [discussion] 2026-02-09 09:39:16
>>Kronis+jd3
pay-to-commit has been discussed in the article linked here

>>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.

◧◩◪◨
384. boltzm+hh3[view] [source] [discussion] 2026-02-09 10:05:21
>>miki12+Y63
> 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:

>>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:

>>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.

[go to top]