Top
Best
New

Posted by chwtutha 19 hours ago

Vouch(github.com)
https://x.com/mitchellh/status/2020252149117313349

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

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

493 points | 217 comments
tmp10423288442 19 minutes ago|
What's the plan to avoid a Bluesky-like bubble from forming around Vouch projects? Say what you want about wanting to avoid politically disagreeable people, but Bluesky has been shrinking gradually since the 2024 election, as people interested in political effectiveness or even avoiding a hugbox have drifted away. Or think about how new projects are generally not started as GPL anymore (except if they want to charge money by making their open source version AGPL), due to similar viral dynamics discouraging potential contributors.
dayvid 3 minutes ago||
The project author has the choice of which set of projects vouches to use or to have a project-specific vouching system. People could still object to the vouch system via Issue/Pull-request Tool and off platform. Enough votes would highlight it.
mhuffman 6 minutes ago||
>What's the plan to avoid a Bluesky-like bubble from forming around Vouch projects?

Perhaps that is the plan?

femto113 2 hours ago||
Users already proven to be trustworthy in one project can automatically be assumed trustworthy in another project, and so on.

I get the spirit of this project is to increase safety, but if the above social contract actually becomes prevalent this seems like a net loss. It establishes an exploitable path for supply-chain attacks: 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). If this sort of cross project trust ever becomes automated then any account that was ever trusted anywhere suddenly becomes an attractive target for account takeover attacks. I think a pure distrust list would be a much safer place to start.

tgsovlerkhgsel 2 hours ago||
Based on the description, I suspect the main goal isn't "trust" in the security sense, it's essentially a spam filter against low quality AI "contributions" that would consume all available review resources without providing corresponding net-positive value.
mitchellh 45 minutes ago|||
I think this fear is overblown. What Vouch protects against is ultimately up to the downstream but generally its simply gated access to participate at all. It doesn't give you the right to push code or anything; normal review processes exist after. It's just gating the privilege to even request a code review.

Its just a layer to minimize noise.

Fnoord 32 minutes ago|||
That is indeed a weakness of Web of Trust.

Thing is, this system isn't supposed to be perfect. It is supposed to be better, while worth the hassle.

I doubt I'll get vouched anywhere (tho IMO it depends on context), but I firmly believe humanity (including me) will benefit from this system. And if you aren't a bad actor with bad intentions, I believe you will, too.

Only side effect is genuine contributors who aren't popular / in the know need to put in a little bit more effort. But again, that is part of worth the hassle. I'll take it for granted.

theshrike79 54 minutes ago|||
And then they become distrusted and BOOM trust goes away from every project that subscribed to the same source.

Think of this like a spam filter, not a "I met this person live and we signed each other's PGP keys" -level of trust.

It's not there to prevent long-con supply chain attacks by state level actors, it's there to keep Mr Slopinator 9000 from creating thousands of overly verbose useless pull requests on projects.

stavros 2 hours ago||
It's just an example of what you can do, not a global feature that will be mandatory. If I trust someone on one of my projects, why wouldn't I want to trust them on others?
andai 2 hours ago||
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.

nl 13 minutes ago||
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.

_puk 54 minutes ago|||
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.

Bewelge 1 hour ago|||
> 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.

lelandbatey 1 hour ago||
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.

Bewelge 57 minutes ago||
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.

k8sToGo 2 hours ago|||
If you want me to read your comment, please pay me $1 first... if I find your comment interesting I might refund.
hermanb 2 hours ago|||
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.

Fnoord 36 minutes ago||
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...
jt2190 2 hours ago|||
The market currently values your reading of HN comments at $0.
ramon156 1 hour ago||
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).

Fnoord 22 minutes ago|||
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.
sdenton4 24 minutes ago||||
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.

kurtis_reed 29 minutes ago||||
You get it refunded
Nevermark 14 minutes ago||
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

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.

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

oldpersonintx 59 minutes ago|||
[dead]
Halan 3 hours ago||
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.

arcologies1985 3 hours ago||
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)
buovjaga 2 hours ago|||
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.

swordsith 1 hour ago||
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?
qmarchi 3 hours ago|||
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.

Halan 3 hours ago||
So basically we are back at tagging stuff as good for first contributors like we have been doing since the dawn of GitHub
lelandbatey 53 minutes ago||
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.

brikym 53 minutes ago||
It seems like dating apps to me. You have a large population of highly motivated undesirables to filter out. I think we'll see the same patterns: pay to play, location filtering, identity verification, social credit score (ELO etc).

I even see people hopping on chat servers begging to 'contribute' just to get github clout. It's really annoying.

max_ 6 minutes ago||
If you like this, you may love Robin Hansons similar idea of vouching [0]

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

adeebshihadeh 4 hours ago||
"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)

jgauth 1 hour ago||
Cool to see you here on HN! I just discovered the openpilot repository a few days ago and am having a great time digging through the codebase to learn how it all works. Msgq/cereal, Params, visionipc, the whole log message system in general. Some very interesting stuff in there.
ngcazz 3 hours ago|||
When there's time, you review, when there isn't you trust...
999900000999 3 hours ago|||
That's the issue here.

Even if I trust you, I still need to review your work before merging it.

Good people still make mistakes.

stavros 1 hour ago||
What is the definition of trust if you still have to verify? How does "trust" differ from "untrust" in that scenario?
adeebshihadeh 1 hour ago|||
What's the rush? Building good things takes time.
rafram 4 hours ago||
[flagged]
BowBun 3 hours ago|||
Why? I don't appreciate comments that cast doubt on decent technical contributors without any substance to back it up. It's a cheap shot from anonymity.
8n4vidtmkvmk 3 hours ago|||
I'm not the parent but if you know you want to merge a PR "within a few seconds" then you're likely to be merging in bad changes.

If you had left it at know you want to reject a PR within a few seconds, that'd be fine.

Although with safety critical systems I'd probably want each contributor to have some experience in the field too.

colinmcdermott 2 hours ago|||
Sounds like you misunderstood. They didn't say they are merging PRs after a few seconds. Just that the difference between a good one and a bad is often obvious after a few seconds. Edit: typos
adeebshihadeh 1 hour ago|||
Exactly, every PR starts with:

1. What’s the goal of this PR and how does it further our project’s goals?

2. Is this vaguely the correct implementation?

Evaluating those two takes a few seconds. Beyond that, yes it takes a while to review and merge even a few line diff.

stavros 1 hour ago|||
I'm not sure there are many ways to interpret "I know whether I want to merge a PR within a few seconds".
jeremyjh 1 hour ago||
Yet I also agree with GP.
theshrike79 48 minutes ago|||
"*WANT* to close or *WANT* to merge". Not WILL close or WILL merge.

You look at the PR and you know just by looking at it for a few seconds if it looks off or not.

Looks off -> "Want to close"

Write a polite response and close the issue.

Doesn't look off -> "Want to merge"

If we want to merge it, then of course you look at it more closely. Or label it and move on with the triage.

latency-guy2 3 hours ago|||
What kind of things would you like to hear? The default is you hear nothing. Most black boxes work this way. And you similarly have no say in the matter.
stephantul 17 hours ago||
IMO: trust-based systems only work if they carry risk. Your own score should be linked to the people you "vouch for" or "denounce".

This is similar to real life: if you vouch for someone (in business for example), and they scam them, your own reputation suffers. So vouching carries risk. Similarly, if you going around someone is unreliable, but people find out they actually aren't, your reputation also suffers. If vouching or denouncing become free, it will become too easy to weaponize.

Then again, if this is the case, why would you risk your own reputation to vouch for anyone anyway.

ashton314 16 hours ago||
> Then again, if this is the case, why would you risk your own reputation to vouch for anyone anyway.

Good reason to be careful. Maybe there's a bit of an upside to: if you vouch for someone who does good work, then you get a little boost too. It's how personal relationships work anyway.

----------

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…

joecool1029 3 hours ago|||
> 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)

buckle8017 3 hours ago||
Biggest issue was always the fiat transfers.
HumanOstrich 15 hours ago||||
If we want to make it extremely complex, wasteful, and unusable for 99% of people, then sure, put it on the blockchain. Then we can write tooling and agents in Rust with sandboxes created via Nix to have LLMs maintain the web of trust by writing Haskell and OCaml.
tempaccount420 3 hours ago|||
Well done, you managed to tie Rust, Nix, Haskell and OCaml to "extremely complex, wasteful, and unusable"
refulgentis 2 hours ago|||
Zig can fix this, I'm sure.
nine_k 3 hours ago||||
I don't think that trust is easily transferable between projects, and tracking "karma" or "reputation" as a simple number in this file would be technically easy. But how much should the "karma" value change form different actions? It's really hard to formalize efficiently. The web of trust, with all intricacies, in small communities fits well into participants' heads. This tool is definitely for reasonably small "core" communities handling a larger stream of drive-by / infrequent contributors.
JoshTriplett 3 hours ago||
> I don't think that trust is easily transferable between projects

Not easily, but I could imagine a project deciding to trust (to some degree) people vouched for by another project whose judgement they trust. Or, conversely, denouncing those endorsed by a project whose judgement they don't trust.

In general, it seems like a web of trust could cross projects in various ways.

drewstiff 13 hours ago||||
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/

refulgentis 2 hours ago||||
I'm unconvinced, to my possibly-undercaffeinated mind, the string of 3 posts reads like this:

- a problem already solved in TFA (you vouching for someone eventually denounced doesn't prevent you from being denounced, you can totally do it)

- a per-repo, or worse, global, blockchain to solve incrementing and decrementing integers (vouch vs. denounce)

- a lack of understanding that automated global scoring systems are an abuse vector and something people will avoid. (c.f. Black Mirror and social credit scores in China)

atmosx 2 hours ago||||
Sounds like a black mirror episode.
moodyScarf 1 hour ago||
isnt that like literally the plot in one of the episodes? where they get a x out of 5 rating that is always visble.
smoyer 16 hours ago|||
Look at ERC-8004
mlinsey 3 hours ago|||
> Then again, if this is the case, why would you risk your own reputation to vouch for anyone anyway.

The same as when you vouch for your company to hire someone - because you will benefit from their help.

I think your suggestion is a good one.

__turbobrew__ 16 hours ago|||
> Then again, if this is the case, why would you risk your own reputation to vouch for anyone anyway.

Maybe your own vouch score goes up when someone you vouched for contributes to a project?

skeptic_ai 13 hours ago|||
Think Epstein but in code. Everyone would vouch for him as he’s hyper connected. So he’d get a free pass all the way. Until all blows in our faces and all that vouched for him now gets flagged. The main issue is that can take 10-20 years for it to blow up.

Then you have introverts that can be good but have no connections and won’t be able to get in.

So you’re kind of selecting for connected and good people.

dzink 2 hours ago|||
Excellent point. Currently HN accounts get much higher scores if they contribute content, than if they make valuable comments. Those should be two separate scores. Instead, accounts with really good advice have lower scores than accounts that have just automated re-posting of content from elsewhere to HN.
zbentley 3 hours ago||||
Fair (and you’re basically describing the xz hack; vouching is done for online identities and not the people behind them).

Even with that risk I think a reputation based WoT is preferable to most alternatives. Put another way: in the current Wild West, there’s no way to identify, or track, or impose opportunity costs on transacting with (committing or using commits by) “Epstein but in code”.

pphysch 2 hours ago|||
But the blowback is still there. The Epstein saga has and will continue to fragment and discipline the elite. Most people probably do genuinely regret associating with him. Noam Chomsky's credibility and legacy is permanently marred, for example.
JumpCrisscross 3 hours ago|||
> trust-based systems only work if they carry risk. Your own score should be linked to the people you "vouch for" or "denounce"

This is a graph search. If the person you’re evaluating vouches for people those you vouch for denounce, then even if they aren’t denounced per se, you have gained information about how trustworthy you would find that person. (Same in reverse. If they vouch for people who your vouchers vouch for, that indirectly suggests trust even if they aren’t directly vouched for.)

ares623 14 hours ago||
I've been thinking in a similar space lately, about how a "parallel web" could look like.

One of my (admittedly half baked) ideas was a vouching similar with real world or physical incentives. Basically signing up requires someone vouching, similar to this one where there is actual physical interaction between the two. But I want to take it even further -- when you signup your real life details are "escrowed" in the system (somehow), and when you do something bad enough for a permaban+, you will get doxxed.

dom96 4 hours ago||
Initially I liked the idea, but the more I think about it the more this feels like it just boils down to: only allow contributions from a list of trusted people.
3371 4 hours ago||
Well a lot of useful things are not useful because they are innovative, but well designed an executed.
ramses0 4 hours ago|||
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

rvz 4 hours ago||
This makes a lot more sense for large scale and high profile projects, and it eliminates low quality slop PRs by default with the contributors having to earn the trust of the core maintainers to contribute directly to the project.
verdverm 3 hours ago||
it also increases the barrier to new adopters

why not use ai to help with the ai problem, why prefer this extra coordination effort and implementation?

Rumple22Stilk 3 hours ago|||
That's the whole point. There are many new adopters and few competent ones.
verdverm 3 hours ago||
I mean to well meaning contributors, I understand the goal of vouch, I think it goes too far and you'll turn off said well meaning contributors

I certainly have dropped off when projects have burdensome rules, even before ai slop fest

tristan957 1 hour ago|||
The barrier in the Ghostty project is to simply open a discussion. It's not really hard.
sebastianconcpt 14 minutes ago|
https://www.lewissociety.org/innerring/
More comments...