HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
openbsd
src
C2016–2026
openbsd / src

src

Read-only git conversion of OpenBSD's CVS src repository. This only includes the main branch; use CVS for -stable or release branches. Send any diffs to the tech@ mailing list.

108Distinct people
146Mentions
0Explicit recommenders
3.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Read-only git conversion of OpenBSD's CVS src repository. This only includes the main branch; use CVS for -stable or release branches. Send any diffs to the tech@ mailing list.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 8:59:20 PM UTC.

A live tree of systemd jobs on the boot console direct repository linkDebated

The discussion centers on a visualization tool for systemd boot jobs, which serves as a catalyst for a broader debate regarding systemd's monolithic architecture versus simpler alternatives like OpenRC or Runit. Participants strongly disagree on whether systemd's complexity and aggressive integration are necessary modernizations or detrimental violations of the Unix philosophy that hinder debugging and flexibility.

145 readable replies · Supporting reply 1 · Supporting reply 2 · Supporting reply 3 · Supporting reply 4

Mentions over time

HN mentions by year146 dated mentions

Observed mentions: 2016-10-17 20:24:05 UTC to 2026-10-20 07:38:05 UTC.

01020302016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 11 mentions; 0 submissions, 11 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 13 mentions; 0 submissions, 13 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 13 mentions; 0 submissions, 13 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 10 mentions; 1 submissions, 9 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 13 mentions; 1 submissions, 12 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 32 mentions; 1 submissions, 31 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 16 mentions; 1 submissions, 15 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 14 mentions; 0 submissions, 14 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 12 mentions; 1 submissions, 11 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC211
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC11011
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC13013
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC13013
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC1019
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC13112
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC32131
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC16115
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC10010
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC14014
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC12111

What Hacker News says

13 sources
OpenBSD has a WIP driver for the NVMe controller on the M1 chip, but AFAIK it's not working 100% reliably yet. https://github.com/openbsd/src/commit/1c31dbaaf6000562ff37f7... https://github.com/openbsd/src/commit/0ccab0b00204b8c23f121d... Patrick Wildt posted an early video of OpenBSD booting on the M1 Mac Mini back in January. A lot of the internal hardware is supported now as of 7.0-beta, such as the Broadcom Gigabit, Wi-Fi and USB. https://twitter.com/bluerise/status/1354216838406823936
In NetBSD Booting on the Apple M1
This is OpenBSD's sshd init script: https://github.com/openbsd/src/blob/master/etc/rc.d/sshd On an archlinux system running systemd I see that the equivalent of the rc_reload function is "ExecReload=/bin/kill -HUP $MAINPID" (which is actually less safe...) I'm not sure if you think that's declarative but to me it's basically as declarative as you can make a shell script. > By default every popular distro before systemd/upstart did. Many services still use them anyways (systemd just generates a shim to run the start/stop/status operations on them) I mean is anyone CURRENTLY using them? Because as far as I'm aware the linux sysvinit situation was a gigantic mess which nobody wanted to bother fixing despite the fact that OpenBSD and other BSDs had already fixed it by that point. I think most linux distros can be taken as an example of how no
Read the rest
t to do things if you want to make your life easier. Nowadays BSDs don't use these awful scripts. OpenRC based systems don't use these awful scripts. Who is using them?
In Systemd: The Good Parts
OpenBSD has no equivalent to FreeBSD's support tiers, but arm64/aarch64 is supported with binary packages and syspatches today. https://www.openbsd.org/arm64.html Amusing seeing people reacting here on HN to the Apple M1 SoC Linux kernel upstreaming, meanwhile in OpenBSD.. FreeBSD hasn't made any public progress yet on M1 support. https://marc.info/?l=openbsd-arm&m=161386122115249&w=2 https://github.com/openbsd/src/search?q=m1&type=commits
In FreeBSD/arm64 becoming Tier 1 in FreeBSD 13
In this case you can just read the previous paper, which explains the caveat that PIE daemons utilizing ASLR must be so-called fork-only services--i.e. forked from a supervisor process. If they're not fork-only than you can't leak the address space layout. The suggested counter measure is to re-exec child processes so their address space is re-randomized. OpenSSH began doing this by default 10 years before the above paper: https://github.com/openbsd/src/commit/5541d005bde289515d9734... Presumably (hopefully) some other common, multi-process network daemons have been refactored to exec child processes. As explained in the paper, nginx, which utilizes an M:N process model, was susceptible. Anybody know if nginx was refactored to fork+exec its worker processes rather than just fork? (EDIT: AFAICT via a cursory examination of ngx_master_proc
Read the rest
ess_cycle, ngx_start_worker_processes, and related the answer is, "no".) EDIT: See also https://lwn.net/Articles/849531/
In 64-Bit Linux Return-Oriented Programming
From looking at the implementation of yes [0], I would say it follows closely the GNU coreutils implementation [1]. It allocates and re-uses a buffer to speed things up [2] and does not implement the old simple version [3] (or the even simpler OpenBSD [4]) [0]: https://github.com/uutils/coreutils/blob/master/src/uu/yes/s... [1]: https://github.com/coreutils/coreutils/blob/master/src/yes.c [2]: http://github.com//coreutils/coreutils/commit/35217221c211f3... [3]: https://github.com/coreutils/coreutils/blob/ccbd1d7dc5189f46... [4]: https://github.com/openbsd/src/blob/master/usr.bin/yes/yes.c
In Debian Running on Rust Coreutils

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.