← Back to context

Comment by torben-friis

2 days ago

I'm not sure I follow the reasoning here, sorry.

Why not keep that internal version as a dev branch separate from main? I can see the appeal of keeping things out of master/main for a while, but not why you would keep that part of development hidden.

But most importantly, why let out the binary and not the source? presumably if something is not ready for public use, the artifact being out is worst of both worlds - unready code is out and the public can't check what it does.

Not trying to argue mind you, but if this was not a deliberate attempt to hide the binary's behavior I think I'm missing the alternative upsides that justify that flow.

The dev process carries over from when we constantly rewrote the codebase from scratch every few weeks[0]. We ran many experiments, most of which we threw away. A small number became part of "pgrust". It didn't seem worth it to maintain public branches with all of our development effort when we knew 80% of it was going to be thrown away

[0] https://malisper.me/postgres-in-rust-regression-suite/

  • But you can make the branch public without committing to maintaining an experimental branch, this doesn't make sense.

    • It makes sense. Just because one can do a thing doesn’t mean they must want to do it.

      It’s like everyone who squash merges for a clean timeline. You want you dev process to look prestine and communicate what changes were kept, not every experiment that failed.

      3 replies →