// the find
torvalds/linux
Linux kernel source tree
The Linux kernel — the OS kernel running on everything from your phone to cloud servers to supercomputers. If you're writing device drivers, studying OS internals, or doing security research on the actual software that runs the world, this is the source. Not a learning project; this is production infrastructure for billions of devices.
The contributor tooling is unusually mature for a project this size: get_maintainer.pl, checkpatch.pl, and the MAINTAINERS file mean you can actually figure out who owns what and how to submit a patch correctly. The documentation structure finally got a serious overhaul — role-based entry points (new developer, hardware vendor, security researcher) make it far less overwhelming than it was five years ago. Rust support is now a first-class option for new drivers, with .clippy.toml and .rustfmt.toml checked in. The ABI stability guarantees are real and enforced — the ABI/ directory with stable/testing/obsolete/removed categorization is something most projects never bother with.
The email-based patch workflow is a genuine barrier in 2026 — no PRs, no web review, you configure your mail client from a doc and pray it doesn't mangle whitespace. Build times are brutal even for subsystem-only builds; you need a powerful machine and ccache just to iterate at a reasonable pace. The Kconfig system has 35 years of accumulated options and inter-dependencies that are essentially undocumented except by reading code and asking on mailing lists. If you hit a regression, bisecting across a kernel that ships 10,000+ commits per release cycle is not fun.