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

freebsd-src

The FreeBSD src tree publish-only repository. Experimenting with 'simple' pull requests....

122Distinct people
189Mentions
1Explicit recommenders
9.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The FreeBSD src tree publish-only repository. Experimenting with 'simple' pull requests....

GitHub

Where it is used

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

What people are saying

My favorite piece of man trivia is from the source of the tunefs BSD man page, which contains: .\" Take this out and a Unix Daemon will dog your steps from now until .\" the…

beej71 used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

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, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year189 dated mentions

Observed mentions: 2012-05-14 23:44:07 UTC to 2026-10-26 20:08:28 UTC.

01020302012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20122013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 16 mentions; 1 submissions, 15 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 17 mentions; 0 submissions, 17 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 14 mentions; 1 submissions, 13 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 28 mentions; 2 submissions, 26 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 20 mentions; 1 submissions, 19 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 24 mentions; 0 submissions, 24 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 23 mentions; 0 submissions, 23 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 10 mentions; 2 submissions, 8 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 10 mentions; 1 submissions, 9 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 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
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC101
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC202
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC707
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC808
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC404
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC16115
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC17017
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC14113
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC28226
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC20119
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC24024
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC23023
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC1028
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC1019
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC505

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
FreeBSD Source: This is the top level of the FreeBSD source directory. FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices. For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information. The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), FreeBSD handbook on building userland, and Handbook for kernels for more information, including setting make(1) variables. For information on the CPU architectures and platforms supported by FreeBSD, see the FreeBSD website's Platforms page. For official FreeBSD bootable images, see the release page. Source Roadmap: Directory Description bin System/user commands. cddl Source code for third-party software under the Common Development and Distribution License. contrib Source code for third-party software. crypto Source code for cryptographic libraries and commands (see crypto/README). etc Template files for /etc. include System include files. kerberos5 Build system for Kerberos 5 (Heimdal). krb5 Build system for Kerberos 5 (MIT). lib System libraries. libexec System commands intended to be executed by other commands or daemons. packages Base system packages. release Makefiles and scripts used for building releases and VM images. rescue Build system for statically linked /rescue commands. sbin System commands. secure Build system for cryptographic libraries and commands (excluding Kerberos). share Shared resources. stand Boot loader sources. sys Kernel sources (see sys/README.md). targets Support for experimental DIRDEPS_BUILD tests Tests which can be run by Kyua. See tests/README for additional information. tools Ancillary utilities and tests (not included in the build). usr.bin User commands. usr.sbin System administration commands. For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see FreeBSD Handbook.
Read the full README on GitHub

What Hacker News says

189 sources
Thanks, so glad people like the code! I keep looking for ways to make it simpler and more obvious. > - noticed krn_main() ends with `while (1);` [1]. I would've expected a "schedule" call or something. I assume there's no real busy loop burning CPU, maybe it's never meant to reach this code? Yeah, `gui_main()` takes over and is not supposed to return, so the code is unreachable. The loop is just an old idiom used in such places (e.g. [1]), though I've now replaced it with a comment and a call to `halt()` to better convey the intention. > - I'm reminded of the "bare metal OS" when I see one of the apps call `krn_*` functions directly [2]. Yeah... but at least the kernel doesn't call the apps... which it could ;^) [1] https://github.com/freebsd/freebsd-src/blob/main/sys/x86/x86...
In Show HN: GentleOS – A pair of hobby OSes for vintage 32-bit and 16-bit PCs
NetBSD has had getenv_r() for ages, [0] and I believe FreeBSD has very recently copied it. [1] If FreeBSD has it, macOS might eventually adopt it too. People tried already to get it into both glibc and POSIX, and it was rejected, but if it becomes more common on other platforms, that increases the chance they’ll both eventually accept it. [0] https://man.netbsd.org/getenv_r.3 [1] https://github.com/freebsd/freebsd-src/commit/873420ca1e6e8a...
In Environment variables are a legacy mess: Let's dive deep into them
Outwith the world where only Debian and other Linux distributions exist, though, this isn't really systemd doing bad things to poor old Debian. To a wider world it is Debian and other Linux distributions exceedingly slowly reinventing things from Unix. AIX had /usr/sbin/skulker from at least as early as version 1.2. For AT&T System 5, Fielder and Hunter were popularizing a similar utility named rmtrash that is run nightly. Fielder and Hunter exemplify traditional Unix thinking in their 1986 book on Unix system administration, which includes rmtrash: > By putting all temporary files in one or two directories, it is easy to clean them all out at regular intervals. For this reason, it's a good idea to encourage users to use /tmp for all files they need only a short while. skulker is not in the old comp.unix.aix Usenet FAQ document, but give
Read the rest
n the number of times "That's what skulker does, and you should be running it daily." seems to have been the answer over the years, it probably should have been. (-: To old hands, this is not a systemd novelty at all. The novelty, to old hands, is the idea of doing this not using a script. I remember the war stories from the 1990s and turn of the 21st century when users did things like include LF in the names of temporary files, and administrators suddenly learned the utility of find -print0 and xargs -0 or find -exec rm {} +. Stéphane Chazelas for one has had a lot to say on the subject over the years. That said, mtree (from 1989) already existed at the point that systemd-tmpfiles was invented, and already had the idea of working from a specification file with names and owners and permissions and whatnot. It is surprising that no-one ever apparently tried mtree for completely wiping /tmp. The BSDs are using find to this day in the several places with they auto-delete stuff in /tmp including the daily periodic, although they did spot that their own find had a -delete option in 1999. (-: Hell, even I am still using find. https://github.com/freebsd/freebsd-src/blob/main/usr.sbin/pe...
In Debian 13 “Trixie”
> Most open source software packages are also compiled for BSD variants, they switched to 64 bit time_t a long time ago and reported back upstream any problems. * NetBSD in 2012: https://www.netbsd.org/releases/formal-6/NetBSD-6.0.html * OpenBSD in 2014: http://www.openbsd.org/55.html For packaging, NetBSD uses their (multi-platform) Pkgsrc, which has 29,000 packages, which probably covers a large swath of open source stuff: * https://pkgsrc.org On FreeBSD, the last platform to move to 64-bit time_t was powerpc in 2017: * https://lists.freebsd.org/pipermail/svn-src-all/2017-June/14... but amd64 was in 2012: * https://github.com/freebsd/freebsd-src/commit/8f77be2b4ce5e3... with only i386 remaining: * https://man.freebsd.org/cgi/man.cgi?query=arch * https://github.com/freebsd/freebsd-src/blob/main/share/man/m...
In Debian switches to 64-bit time for everything
Here is a short list: https://graphics.stanford.edu/~seander/bithacks.html It is not on the list, but #define CMP(X, Y) (((X) > (Y)) - ((X) < (Y))) is an efficient way to do generic comparisons for things that want UNIX-style comparators. If you compare the output against 0 to check for some form of greater than, less than or equality, the compiler should automatically simplify it. For example, CMP(X, Y) > 0 is simplified to (X > Y) by a compiler. The signum(x) function that is equivalent to CMP(X, 0) can be done in 3 or 4 instructions depending on your architecture without any comparison operations: https://www.cs.cornell.edu/courses/cs6120/2022sp/blog/supero... It is such a famous example, that compilers probably optimize CMP(X, 0) to that, but I have not checked. Coincidentally, the expansion of CMP(X, 0) is on the bit hacks list. Ther
Read the rest
e are a few more superoptimized mathematical operations listed here: https://www2.cs.arizona.edu/~collberg/Teaching/553/2011/Reso... Note that the assembly code appears to be for the Motorola 68000 processor and it makes use of flags that are set in edge cases to work. Finally, there is a list of helpful macros for bit operations that originated in OpenSolaris (as far as I know) here: https://github.com/freebsd/freebsd-src/blob/master/sys/cddl/... There used to be an Open Solaris blog post on them, but Oracle has taken it down. Enjoy!
In A leap year check in three instructions
Just install the binary package from whatever distro you use? Why do you need to build it? But if it matters, FreeBSD has a pretty trivial BSDmake build of it: https://github.com/freebsd/freebsd-src/blob/main/lib/libzstd... https://github.com/freebsd/freebsd-src/blob/main/usr.bin/zst... You could easily do something similar in GNU make or whatever without the dependencies on the FBSD build system. It's basically just the classic "cc -c a bunch of C files, then link them."
In Bzip3: A spiritual successor to BZip2

Showing the 15 most recent of 189 sources. Enable JavaScript to search and browse every indexed mention.

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.