The Framebuffer People: I Cloned Every OS on r/osdev and Found Five Real Ones

Two Months of git clone¶
For two months, every time someone posted an operating system on r/osdev, I cloned it. Then I ran the code through an analyzer. Not vibes. Tooling.
Here is what came out the other end:
- Projects with a genuinely different architecture: I can count them on one hand.
- Everything else: a reskin of a reskin, which was itself based on Linux.
- Projects that boot on real hardware: almost none. They live in QEMU. They were born in QEMU. They will die in QEMU.
I also talked with the authors. Most of the time they could not explain what they were building. I watched 20-year-olds implement ISA slots that were obsolete before they were born. Hand-rolled SHA256 “because the library is bloated.” Feature roadmaps with PCMCIA support, Motorola modem support, and USB 1.1, generated by a model that clearly pulled its ambitions from a 1997 Packard Bell.
On Discord I ran a small experiment. I baited one of these authors: “Ah, you forgot the SCSI and PATA drivers.” His answer came back instantly: “Planned. Already have it in mind.” I found out later he was born the same year PATA was deprecated. He had no IDEa what I was talking about.
My favorite artifact: a commit that said “this computer has no BIOS, skipping this,” pushed to GitHub, followed by a revert two minutes later. That is an AI hallucinating mid-task, and a human rubber-stamping the hallucination into version control without reading it.
What is actually missing from the hobby OS world is drivers. Nobody writes drivers, because everyone lives in a framebuffer. Not one OS posted in that sub has a WiFi or Bluetooth stack. But they have websites. Beautiful websites. Discord servers. Some have Patreon.
So I posted the findings. 115 upvotes, 137 comments, and several public meltdowns later, I learned that the reactions were more diagnostic than the code.
The thread is here if you want to watch it live.
The Five Defenses¶
Every reply fell into one of five buckets. Save this taxonomy. You will see it in every hobby community that AI touches.
1. “Stop gatekeeping my hobby”¶
The most popular one. Note what I actually asked for: nothing. No bans, no rule changes, no fork of the community. I published an observation. The people who felt attacked self-selected.
If you play GTA V, you don’t tell people your hobby is racing and heists. You tell them your hobby is gaming. If you play Call of Duty, you don’t claim you went to war or plotted a strategy. It’s the same map, over and over, with the same enemies that want to mount your mom, ten thousand times. There is nothing wrong with either. Just don’t confuse the simulator with the real thing.
2. “Old man yells at cloud”¶
Fine. But one commenter asked the question that none of the cloud-yelling accusations could survive: if this is your hobby, why do you outsource it to an AI? Nobody outsources their guitar practice. Nobody hires someone to do their jogging.
The answer, once you strip the noise: the hobby is the attention. The OS is just the costume. They all want to be Terry Davis without the schizophrenia, and it turns out the schizophrenia was the part writing the compiler.
3. “It’s creepy that you cloned our repos”¶
Someone genuinely argued that running git clone on publicly posted repositories, the thing the entire open source ecosystem is built on, was creepy behavior. Public code, posted publicly, for the stated purpose of being seen. Reading it closely was the violation.
This tells you what the repository actually is. It is a poster, and I committed the crime of checking whether the movie exists.
4. “Share YOUR project then”¶
The credentialism reflex. My work lands in proper operating systems. I have commits in Linux, in FreeBSD, in DragonFly BSD. Small fixes, uncredited on any landing page, with no Discord server attached.
I have none in NetBSD or OpenBSD. NetBSD runs on some of my NASes and OpenBSD sits in my firewall, but I don’t live in them daily, so I don’t have the knowledge to contribute there yet. Notice the word yet. Yesterday I finished reading FreeBSD Device Drivers. It took around 200 days, exactly as I predicted when I started. That is what the on-ramp to contribution actually looks like: 200 days of reading before you touch a subsystem, and the honesty to say “not yet” about systems you merely operate. That is the friction the framebuffer people skipped.
5. “This post was written by an LLM”¶
The best one. In a subreddit drowning in AI-generated kernels, the accusation that finally landed on me was that my prose was too structured to be human.
No bro. You have it backwards. The LLM writes like me. Structure is what non-native English speakers learned so English people would understand us. I can’t speak like Eminem, but I can write with spaces (I’m not Dutch or German, gluing words together until the line breaks), and I know when to press Enter. The models trained on people like us, the ones who had to be clear because we could not afford to be casual. Trained by us too: the labeling farms were in Africa and India because we were the cheap labor. The A and I in AI stand for Africa and India. You are allergic to structure, and your allergy is now a detector that fires on humans.
That is the real damage of the flood. Ordinary people can no longer tell, so they accuse everyone, and the accusation costs nothing. Meanwhile the actual generated repos get upvotes because they have nice READMEs.
The Friction Thesis¶
Here is the part that matters beyond one subreddit.
Think about muscles. You spend five years in the gym and gain ten kilos of muscle. Then a 19-year-old shows up, pumps steroids like you drink preworkout, and doubles your size in months. He still can’t lift without nausea when the drugs wear off. Worse: now everyone assumes you are on the same drugs. People pull you aside and ask which brand you take.
That is what happened to “OS developer” as a label, and before that to “crypto,” which used to mean someone doing high-end mathematics and now means scammer. The word degrades because the friction that gave it meaning is gone.
Before LLMs, when you hit a problem in kernel land, you spent ten to fifty hours in it. Reading specs. Reading forums from 2004. Being wrong. Your brain came out the other side actually shaped by the problem. Linux From Scratch users never flooded forums showing off their distros, because the friction filtered for people who wanted the understanding rather than the artifact.
Now I watch people send one prompt, “make it perfect,” and a model produces a todo list that reads plausibly and thinks in nothing. The adrenaline hits when Claude finishes its turn. The learning never happens, because learning was always the friction, and the friction is exactly what got optimized away.
An AI-generated code stub for enabling the A20 line that tries three known methods, then starts writing random words to the VGA buffer. On QEMU: harmless. On old real hardware: potentially permanent damage. This is what shipping without understanding looks like at ring 0.
Implementation Is Not Invention¶
One more distinction the thread kept tripping over.
Writing “I built my own filesystem: exFAT in Rust” is a false sentence. exFAT is a Microsoft specification. You implemented it. You could rewrite it in JavaScript and it would still be exFAT. Translating The Lord of the Rings into Zulu does not make you Tolkien.
There is nothing wrong with implementing a spec. Implementing specs is most of real engineering. The dishonesty starts when “implemented” gets marketed as “authored,” and a scheduler transcribed from the OSDev wiki becomes “my revolutionary scheduling engine” on a landing page with a Ko-fi button.
The one project in that thread I will defend is MOROS. Its author spent five years on it. Bought cheap old hardware to test drivers. Bought more cards to make sure the code was generic. Got it running across multiple generations of ThinkPads and eventually ported DOOM to it. And the README says, in the Linus tradition: just a hobby, won’t be big and professional.
Five years, real silicon, honest labels. That is the entire difference. Nobody in that thread with a feature list longer than the Star Wars intro was angry at MOROS. They were angry at the mirror.
Why Metal Is the Test¶
QEMU is a wonderful tool. It is also a lie by construction. It emulates the documented, well-behaved, average-case machine. Real hardware ships with errata sheets, broken firmware, timing quirks, and devices that violate their own specs. The emulator forgives everything the silicon punishes.
All the learning in OS development is in talking to the silicon, because the silicon is the one that will see reality. An OS that only runs under another OS’s emulator has an operating system, and it is the host. That is why every serious OS in history, down to TempleOS, one guy and a divine mandate, booted on metal. It is the boundary between building a thing and cosplaying the building of it.
If everyone had to boot their OS on metal before posting, the slop would end in a week. Metal does not read your README.
This Is Not About Operating Systems¶
r/commandline and r/selfhosting already went through this and had to write new rules. Open source maintainers are closing their doors over it. The pattern repeats everywhere: a craft community built on friction gets flooded by artifacts that have the shape of the craft with none of its substance, the honest members get accused of gatekeeping when they notice, and the vocabulary that let people identify each other stops working.
The people this post targeted know exactly who they are, because they are the ones who felt targeted. Everyone building a toy kernel with a spec sheet open and honest labels on the tin: you were never in the blast radius. Post your framebuffer. Tell me it only runs in QEMU. Tell me you learned what a GDT is the hard way.
That sentence has friction in it. That is how I know a human wrote it.
🔗Interstellar Communications
No transmissions detected yet.Be the first to establish contact!
Related Posts
How to Build an OS Without Being a Degenerate
The follow-up to The Framebuffer People. Half the angry comments asked the same question underneath the anger: okay, so what should I build? Here is the long answer. Eleven rules for building an operating system that teaches you something, with your dignity still attached at the end.
OpenSourceShit Part 4: The Closing
MongoDB closed to fight AWS in 2018. Elastic closed to fight AWS in 2021, then reopened in 2024 once the fight was over. Ghostty, tldraw, NetBSD, and QEMU closed in January 2026, and there's no company to make peace with this time. Two different closings, two different endings.
OpenSourceShit Part 3: The Impersonators
Parts 1 and 2 were about people who at least pretend to contribute. This one isn't. Cloned repos, faked commit history, blockchain-rotated malware C2, and a takedown that got re-squatted within a day. The impersonators don't want your codebase. They want your reputation.