How to Troubleshoot Apps for the Modern Connected Worker
BSD For Linux Users: An Overview of BSD Operating Systems
1. BSD For Linux Users
Dru Lavigne
Chair, BSD Certification Group
Ontario LinuxFest 2009
2. This presentation will cover...
What is this BSD you speak of? (frame of
reference)
How is it different? (will I like it?)
Release engineering? (behind the scenes)
Any features unique to BSD? (am I missing
out on anything cool?)
Books (some recommended reading)
8. Back to BSD....
Since we only have 45 minutes.....
We'll start with an overview of the BSD
projects
Then concentrate on some differences
between the BSD and Linux way of doing
things
9. Back to BSD....
Differentiated by focus:
NetBSD: clean design and portability (57
supported platforms)
FreeBSD: production server stability and
application support (20,715 apps)
OpenBSD: security and dependable release
cycle
Dragonfly BSD: filesystem architecture
PC-BSD: anyone can install and use BSD
22. Release Engineering
Complete operating system, not kernel +
distro: one source for security advisories,
less likelihood of incompatible libraries
Integration of features not limited by
copyleft: e.g. drivers and features are built-
in
High “bus factor”
Consistent separation between operating
system and third party and between BSD
and GPL'd code
23. Release Engineering
● While each BSD project has a separate
focus, the communities share ideas/code
● FreeBSD 408 commit bits
● NetBSD 259 commit bits
● OpenBSD 122 commit bits
● plus thousands of contributors for
software, docs, translations, bug fixes, etc
● Linux has 1 committer, 547 maintainers
24. Release Engineering
Principles used by the BSD projects reflect
their academic roots:
● well defined process for earning a
“commit bit” includes a period of working
under a mentor
● code repository from Day 1 and can
trace original code back to CSRG days
● no “leader”, instead well defined release
engineering, security, and doc teams
25. Release Engineering
● development occurs on CURRENT which is
frozen in preparation for a RELEASE
● nightly builds (operating system and
apps) help ensure that upgrades and
installs don't result in library
incompatibilities (safe for production)
● documentation considered as important
as code