Over the last weeks I’ve been trying to line up three things:
-
what Gerrit says about our review backlog,
-
what the activity reports say about recent work (kernel, drivers, apps), and
-
what the forum says about roadmaps and R1/R2.
Put together, the picture looks a bit weird: we’re clearly doing serious work (guarded heap, Beta5, ports, etc.), but the backlog is heavy and old, and there’s no real roadmap that connects all that work into a clear direction.
I’m not writing this to attack anyone; I’m writing it because I’d actually like to see Haiku succeed as more than a perpetual “interesting beta”.
1. Backlog reality in late 2025
If you look at status:open -is:wip on Gerrit (thumbs up for new touchpad support), and cross-check with the recent October 2025 activity report (hrev59050–hrev59110, 61 commits in one month), you can roughly describe the situation like this:
-
Open non-WIP changes: on the order of 150–250 changes sitting in the queue.
-
Ready-to-push changes: around 30–50 of those have Code-Review +2 and passing CI, i.e. they’re effectively “ready to submit” but still open.
-
Average change size: typical changes are small to medium – about 10 files / ~300 lines; a few big ones (kernel rewrites etc.) go up to 1k+ lines, and unsurprisingly those take much longer to review.
-
Age distribution:
-
average age for open non-WIP changes is somewhere around 60–90 days
-
a noticeable chunk (~10–20%) are older than one year
-
some RISC-V / ports / old driver-related changes go back 4+ years and reference APIs that have moved on
-
So we’re pushing code (October alone had 60+ pushes; Beta5 landed with a ton of work in previous months), but the queue is clogged with outdated entries
A few consequences:
-
Average slowness:
-
urgent kernel work can land in about a week,
-
but “normal” small changes often wait 2–3 months for a full review/merge cycle.
-
-
Ready-to-push pile:
- we have a non-trivial list of “green and +2” changes doing nothing, simply because nobody with submit rights had time/energy to push them.
-
Zombie changes:
- old entries (pre-2024 driver hacks, experimental ports, etc.) become technical-debt magnets: nobody wants to touch or abandon them, but they still consume mental space and discourage related, newer work.
It feels like we’re pouring fresh water into a bucket that’s already full of stale water and sediment. New submissions are drops; 98% of what you see in Gerrit is legacy backlog.
2. Yes, progress is real – but it’s not connected to a visible roadmap
To be clear: Haiku is not stagnant. Recent reports and external coverage show very real progress:
-
Kernel guarded heap rewrite, better diagnostics, less memory waste.
-
ACPI thermal data and CPU feature reporting wired all the way through to ActivityMonitor/sysinfo.
-
R1/beta5 shipped in September 2024 with dark mode, FAT rewrite, UFS2, USB audio, .NET experiments, etc., and has been covered positively by Phoronix, Hackaday, OSNews and others
-
Development has been shifting more towards apps and ports as the base system matures
So from the outside you can’t say “nothing’s happening”. There is a lot happening.
The problem is: if you read the forum “Roadmaps and R1” thread and related discussions, the official answer to “what’s the roadmap?” is basically “there isn’t one, beyond Bugzilla”.
Paraphrasing the dev comments:
-
R1 goal is “replacement for BeOS R5.”
-
No new features are supposed to be part of R1; it’s “just” a stable point.
-
The “roadmap” is essentially “tickets marked R1 in the bugtracker; no time-based planning.”
-
Timeframes are avoided on purpose because there aren’t enough people to promise anything.
That’s honest, and I respect the honesty. But it leaves a huge gap:
-
Nothing explains how we get from “BeOS R5 replacement” to a usable 2025 desktop (GPU, multiuser, sandboxing, modern apps, etc.).
-
There’s no visible narrative from kernel → drivers → app_server → userland about where Haiku wants to be in 3–5 years.
-
People keep asking the same questions (“3D accel when?”, “what’s R2 about?”, “is there a plan beyond ‘fix some bugs’?”) because this isn’t documented anywhere.
So we’ve got:
-
Real work going on (guarded heap, Beta5, kernel/app work, ports),
-
A heavy, aging Gerrit backlog, and
-
No public, cohesive roadmap tying those pieces together.
3. How backlog + “no roadmap” feed into each other
My take is that these two issues aren’t separate:
-
When there’s no clear roadmap,
-
every change competes in one giant bucket,
-
reviewers can’t easily tell which changes are strategically important vs. “nice to have”.
-
-
When the backlog is large and old,
-
new contributors see zombie changes and lose motivation,
-
core devs burn review time on ancient patches instead of steering towards big goals.
-
Some concrete frictions this creates:
-
No priority lane for roadmap-aligned work
If we had a public roadmap saying “next 12–24 months we focus on: kernel hardening + compositing app_server + GPU path + key driver gaps”, then changes touching those areas could be clearly prioritized in Gerrit. Right now, it all looks the same instatus:open -is:wip. -
R1 definition doesn’t match user expectations
On paper, R1 is “BeOS R5 replacement, no new features.” On the ground, people expect something closer to “reasonably modern daily driver”. That mismatch means the bugtracker “roadmap” doesn’t answer obvious questions like:-
is GPU acceleration considered pre- or post-R1?
-
is multi-user pre- or post-R2?
-
what’s the plan for modern browsers once current ports get too crusty?
-
-
Zombie changes reflect zombie themes
The very old changes in Gerrit often correspond to areas where there’s no agreed destination (RISC-V, specific drivers, experimental ports, etc.). It’s not just “we didn’t get to it”; it’s “we’re not sure where we’re going with this subsystem, so nobody wants to merge or kill the patch.” (UI changes included)
4. What I’d love to see Haiku do differently
I’m not expecting “corporate Jira roadmaps” from a mostly volunteer project. But I think Haiku could do better with lightweight structure that doesn’t betray the project’s culture.
A. Publish a one-page high-level roadmap
Not dates, not promises – just priorities.
Something like:
-
Kernel & core (next 1–2 years):
-
finish guarded heap integration and hardening,
-
define clear path for GPU/driver model (native vs. leveraging Linux/FreeBSD),
-
ensure stability for Beta6 → R1.
-
-
Drivers & hardware:
-
minimum level of GPU/Wi-Fi/storage support we want to hit,
-
strategy for legacy vs. modern hardware.
-
-
GUI & app_server:
-
position on compositing / GPU usage,
-
direction for R2-level changes (multiuser, sandboxing, etc.).
-
This would anchor expectations and let contributors and reviewers know which patches push the OS towards those points.
B. Add Gerrit health metrics to the website
Even a tiny dashboard would help:
-
number of open non-WIP changes,
-
age buckets (<30, 30–90, 90–180, >180 days),
-
count of ready-to-push changes,
-
monthly merges vs. new submissions.
Make it visible. Once the numbers are public, it’s easier to justify:
-
“backlog triage day” once a month,
-
“focus on clearing ready-to-push changes this week”, etc.
C. Monthly backlog triage for old changes
For changes older than 180 days, run a recurring process:
-
ping authors,
-
decide “merge soon, rework, or abandon”, (
-
actually abandon stuff that clearly has no path forward.
This sounds brutal, but keeping zombie patches around is more brutal to everyone long-term.
D. Tie reviews explicitly to the roadmap
When a reviewer looks at a change, it would help if they could think:
-
“Does this support one of the roadmap themes?”
-
“If yes, push it up the priority list.”
-
“If no, it’s still welcome, but shouldn’t block more strategic work.”
Right now, all reviews are effectively “first come, first served / whoever shouts loudest”.
Closing
From the outside, Haiku in late 2025 looks like this:
-
Technically impressive work is happening (guarded heap, Beta5, kernel & apps improvements).
-
Gerrit’s open queue is large, old, and cluttered; ready-to-push changes sit for months.
-
There is no clear, public roadmap from kernel → drivers → userland aside from “fix R1 bugs”, which doesn’t answer obvious “what next?” questions for people who want to bet on Haiku.
I don’t think the solution is “work harder” or “promise R1 in X months”. I think the solution is:
-
be honest about backlog metrics,
-
be equally honest (and explicit) about where we want Haiku to be in 1–3–5 years,
-
and connect those two with small but concrete process changes.
Lastly @PulkoMandy @waddlesplash and many more,
Thanks!