Introduction to OpenBSD


About OpenBSD

The OpenBSD project produces a freely available, multi-platform 4.4BSD-based UNIX-like operating system. Its goals emphasize correctness, security, standardization, and portability.

Reasons to use it include broad hardware support, a full system available in source and binary form at no charge, integrated security technology suitable for firewalls and network services, and a base that just works, minimizing the need for tweaking.

Is OpenBSD really free?

Yes: binaries, source, and every part of the system carry copyright terms permitting free redistribution. See the copyright policy for details.

What's included in the base system?

Along with much home-grown software, OpenBSD ships third-party products such as X.org, LLVM/Clang, GCC, Perl, NSD and Unbound, ncurses, binutils, gdb, libfido2, Expat and zlib, often patched for security or quality. Additional applications are available as packages.

Why is/isn't ProductX included?

Inclusion follows the wishes of the developers and compatibility with the goals of the project. Licensing is often the deciding factor: OpenBSD must remain usable by any person anywhere in the world for any purpose.

When is the next release?

A new release comes approximately every six months, targeting May and November. See here for the development cycle.

Hardware Support

OpenBSD runs on many platforms, including amd64, arm64, i386, riscv64, sparc64, powerpc64, and others. Hardware details are on the respective platform pages.

Manual Pages

Man pages are the authoritative documentation: developers update them alongside code changes, and users are expected to check them before asking for help. They ship with the system, in the man79.tgz file set, and online.

Useful pages for new users include afterboot(8), help(1), hier(7), man(1), adduser(8), syspatch(8), sysupgrade(8), dmesg(8), doas(1), tmux(1), ifconfig(8) and sendbug(1).

Read a page with man command. To find one, search titles with man -k something and select the section with man n command:

$ man -k cron
cron(8) - clock daemon
crontab(1) - maintain crontab files for individual users
crontab(5) - tables for driving cron
$ man 5 crontab

Mailing Lists

The project runs several lists: announce (releases and advisories), bugs, misc (user questions), ports, source-changes and tech. Check the archives before posting, and always include a full dmesg(8) for hardware questions.

Details are on the mailing list page; subscriptions are managed via the web interface.

Migrating to OpenBSD

If you know Unix from any of the good books, OpenBSD will feel familiar. Common differences from other variants:

Reporting Bugs

Bug reports need detail: what happened, the exact system configuration, a dmesg(8), and how to reproduce the problem. Prefer sendbug(1), which needs working outbound email. Full instructions are on the reporting page.

Mail may take a while to be accepted due to greylisting; please be patient. After submitting, developers may contact you for details or test patches.

Supporting the Project

If you find OpenBSD useful, contribute back: