When I used to play Screeps[1], a MMO strategy game where you programmed to control your units and buildings, a group of us setup a player that was managed in this exact way called Quorum[2].
If anyone wants to run their own project in this way I open sourced the code to do so under the GitConsensus[3] project. There's a Github App (which may not still work, but if there's interest I'll restart it) and a "run it yourself" python library and CLI you can run from Github Actions[4].
I kind-of want to see an experiment going the other way.
Have a repo that has a committee of AI models deciding what to merge. Inform them of the goals of the project and that they should only allow positive changes but people are allowed to make adversarial PRs.
It can be more active because the committee can meet on demand. Then people and AI's can attempt to bend the project to their wills.
Says anyone who has tried to do anything requiring the smallest amount of computer science or computer engineering. These models are really great at boilerplate and simple web apps. As soon as you get beyond that, it gets hairy. For example, I have a clone of HN I've been working on that adds subscriptions and ad slot bidding. Just those two features required a lot of hand holding. Figma Design nailed the UX, but the actual guts/business logic I had to spend time on.
I expect that this will get easier as agentic flows get more mature, though.
Then the only place that novelty will occur is in the actual study of computer science. And even then, a well contexted agentic pipeline will speed even R&D development to a great degree.
One very bad thing about these things is the embedded dogma. With AI ruling the roost in terms of generation (basically an advanced and opinionated type-writer, lets be honest) breaking away from the standards in any field will become increasingly difficult. Just try and talk to any frontier model about physics that goes against what is currently accepted and they'll put up a lot of resistance.
I’ve been pleasantly surprised how useful it is for writing low level stuff like peripheral drivers on imbedded platforms. It’s actually-simple- stuff, but exactingly technical and detail oriented. It’s interesting that it can work so well, then go wildly off the rails and be impossible to wrestle back on unless you go way back in the context or even start a completely new context and feed in only what is currently relevant (this has become my main strategy)
Still, it’s amazingly good at wrestling the harmony of a bunch of technical details and applying them to a tried and true design paradigm to create an API for new devices or to handle tricky timing, things like that. Until it isn’t and you have to abort the session and build a new one because it has worked itself into some kind of context corner where it obsesses about something that is just wrong or irrelevant.
Still, it’s a solid 2x on production, and my code is arguably more maintainable because I don’t get tempted to be clever or skip clarifying patterns.
There is a level of wholistic complexity that kills it though. The trick is dividing the structure and tasks into self contained components that contain any relevant state within their confines to the maximum practical extent, even if there is a lot of interdependent state going on inside. It’s sort a mod a meta-functional paradigm working with inherently state-centric modules.
> a clone of HN I've been working on that adds subscriptions and ad slot bidding
Wut, what's the purpose of that? Is this just a toy learning project? Would it be to make money off of people who don't know that an ad-free version of HN exists at news.ycombinator.com? Will you try to sell it to Ycombinator?
I am hoping they are developing it as a satirical art project, otherwise... yikes; needing a credit card and an ad blocker to use HN would be very depressing and is counter to everything I enjoy about this forum.
Not a developer by trade. But incidentally, today I took my first stab at "vibe coding". I wrote a little gui program to streamline a process that I've been doing for years. The code is an absolute wreck. But the program works and does what it's meant to do. I wouldn't ever expect anyone to maintain it, but for what it is, I can't complain. The alternative would have been for the tool to have not been written at all. The level of effort was so low that a) it passed the threshold of it being worth my time, and b) if it needs to be re-vibe-coded over again, then no worries.
Cool social experiment. It's interesting how narrow the scope of all top voted PRs are: change this or that detail in the voting (daily, count down votes etc), or make it more efficient (rust).
I wonder if this has the potential to build a "community" that will take this into a completely different direction, or if it will neatly stay within the initial boundaries.
Oh man, I was going to try and find that to link to it. I can’t believe it was 10 years ago…
I really enjoyed following that for a while. Thanks for making it.
> The website IS the repo. The repo IS the website.
I wonder if we get something productive by end of 2026 from this repo. Who knows, maybe we solve AGI
Wikipedia basically works this way. And instead of it being directly public, it goes through a voting process. One might argue it's actually much more curated than Wikipedia :P
> One might argue it's actually much more curated than Wikipedia
Well duh. It's vastly more "curated" since Wikipedia isn't curated at all, almost anyone can change anything at any time but changes are supposed to reflect consensus (in theory, but there are numerous rogue agents who violate the rules) and it's a single instance with a linear set of changes that only occur once a week, whereas WP is a seething mass of constant change--but with a tight fitness function due to the (again theoretical) requirement that all changes must reflect reliable sources, not the whims of the editors--totally the opposite of OC. (There are additional policies and various governing groups but these make WP even less like OC). It's beyond absurd to liken OC to WP.
Are guardrails, CI/CD, to make code at least compile-able and require minimal quality standards also possible to change via PR or managed somewhere else? With this possibility, it might went into oblivion indeed!
Maybe Firefox is prescient, just waiting for someone to create a problematic pull request that does something untoward while simultaneously locking everyone else from submitting pull requests (and get a bunch of bots to upvote it in the last second before the merge window closes).
A lot of engineering disciplines are a mixture of math, art, and science. Programming was no different, but I do think some people built up an identity that reinforced a difference that wasn't there to begin with.
Yes, this could end up either turning into a Linux or like when Microsoft released Tay and Twitter users taught it to be a Nazi. Or anywhere in between, really.
It really can't for numerous reasons, one of them being that PRs have to be fairly low effort, and this will be even more so if the popular "merge daily" PR is voted in. People talk about this "evolving", but it's nothing like biological evolution or genetic algorithms. It's just a linear sequence of small changes, and without either planning and central authority or some stable fitness function (the ecological environment in biological evolution) the changes are directionless.
That has nothing to do with a stable fitness function ... an external set of factors that determine which changes allow offspring to survive. This thing doesn't have offspring (or always has exactly one offspring and then the parent dies) and it survives until the whole thing collapses.
And I think they already have what you describe or something like it ... PRs have to build and survive CI.
It should have been abundantly clear that wasn't the way the word "evolution" was being used here to being with. (Actually the comment you replied to used the word "metamorphosis" so what are you even going on about?)
Nonetheless, if you're going to quibble that it isn't ahckchtually evolution because it's missing a fitness function then I'm going to counter that you can form a loose analogy so long as you have some fitness apparatus that's conceptually and operationally separable from the implementation itself. I think some unit tests and a CI pipeline is sufficient.
> It should have been abundantly clear that wasn't the way the word "evolution" was being used here to being with.
My whole point was that the sort of evolution that this will undergo isn't like biological evolution so it won't be effective the way biological evolution is. That should have been abundantly clear.
> Actually the comment you replied to used the word "metamorphosis" so what are you even going on about?
Did you ever bother to look upthread? I wrote "People talk about this "evolving"", and that comment was not a response to the one mentioning metamorphosis. See the title: "Open Chaos: A self-evolving open-source project"
I'm not quibbling and that's an offensive accusation as is your "ahckchtually" mocking as well as the rude tone of your clueless whooshes above so I will only respond you this once. Biological evolution has powerful mechanisms that this lacks ... in fact the biggest lack is that there's just one "organism" here, not a population, and just one change at a time. And your fitness function only determines whether something compiles and runs; it gives no direction to the "evolution" ... it's not being fit to anything that drives its progress (the choices come from the PRs, not from the fitness function, and they are independent of each other or at best loosely coupled--thus they aren't stable) which I explicitly pointed out previously when I mentioned the fitness function. So your "loose analogy" fails miserably and this thing is going to be directionless, as I said, and so it won't build up something like a Linux kernel or AGI (both of these have been mentioned, but hey, not in the comment that used the word "metamorphosis" -- apparently I have to say this).
If anyone wants to run their own project in this way I open sourced the code to do so under the GitConsensus[3] project. There's a Github App (which may not still work, but if there's interest I'll restart it) and a "run it yourself" python library and CLI you can run from Github Actions[4].
1. https://screeps.com/
2. https://github.com/ScreepsQuorum/screeps-quorum
3. https://www.gitconsensus.com/
4. https://pypi.org/project/gitconsensus/
reply