1. BSD For Linux Users
Dru Lavigne
Community Manager, PC-BSD Project
OCLUG, December 7, 2010
2. This presentation will cover...
What exactly is BSD?
How is it different from Linux?
Does release engineering matter?
Any features unique to BSD?
Additional Resources
7. What is BSD?
Began as a series of patches and
contributed applications for Unix from the
University of Berkeley
Forked into several projects when Berkeley
stopped working on BSD
Twenty Years of Berkeley Unix: From AT&T-
Owned to Freely Redistributable
http://oreilly.com/catalog/opensources/
book/kirkmck.html
8. What is BSD?
Projects originally differentiated by focus:
NetBSD: clean design and portability (57
supported platforms)
FreeBSD: production server stability and
application support (22,431 apps)
OpenBSD: security and dependable
release cycle
Dragonfly BSD: filesystem architecture
PC-BSD: anyone can install and use BSD
21. 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
22. Release Engineering
● commit bit indicates write permission to
code repository
● FreeBSD 446 commit bits
● NetBSD 264 commit bits
● OpenBSD 132 commit bits
● plus thousands of contributors for
software, docs, translations, bug fixes, etc
● Linux has 1 committer, 638 maintainers
23. 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
24. 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
45. Additional Resources
How the FreeBSD Project Works
http://2007.asiabsdcon.org/papers/
P08-slides.pdf
FreeBSD Development
http://www.freebsd.org/projects/index.html
The NetBSD Way
http://www.fosslc.org/drupal/content/
netbsd-way-0
NetBSD Development
http://www.netbsd.org/developers/