BSD For Linux Users


Dru Lavigne
Editor, Open Source Business Resource
Ohio LinuxFest 2009
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)
What is this BSD you
     speak of?
aka What is this Linux
    you speak of?
kernel?
distro?
Ubuntu?
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 (mostly) PC-BSD and (mostly)
Ubuntu
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
How is it different?
Gnome vs.
KDE
device names
startup (no runlevels)
one config file philosophy
kernel configuration
consistent layout (man hier)
BSD vs GNU switches
working examples
Release Engineering?
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 are built-in
High “bus factor”
Consistent separation between operating
system and third party and between BSD
and GPL'd code
Release Engineering
●   While each BSD project has a separate
    focus, the communities share ideas/code
●   Mentorship process to earn commit bit
●   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
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
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
Features unique to
      BSD?
Features Unique to BSD
●   system securelevels
●   FreeBSD jails
●   NetBSD build.sh for crosscompiling
●   pkgsrc for cross-platform pkg mgmt
●   PC-BSD PBIs for one-click installing
●   VuXML or audit-packages
●   NetBSD veriexec file integrity subsystem
●   binary emulation (linux, solaris, sco, etc.)
●   FreeBSD netgraph networking framework
Features Unique to BSD

●   ZFS and dtrace support (FreeBSD)
●   CARP for failover redundancy
●   FreeBSD superpages for speed
●   BSM audit framework (Solaris compatible)
●   freebsdupdate (working snapshots)
●   ALTQ for QoS
●   Dragonfly HAMMER for high availability
Books:

BSD Hacks
Best of FreeBSD Basics
Definitive Guide to PC-BSD (early 2010)
Absolute BSD
Absolute FreeBSD
Absolute OpenBSD
Questions:




          dru@osbr.ca


Stop by the BSD booth and say hi!

BSD for Linux Users

  • 1.
    BSD For LinuxUsers Dru Lavigne Editor, Open Source Business Resource Ohio LinuxFest 2009
  • 2.
    This presentation willcover... 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)
  • 3.
    What is thisBSD you speak of?
  • 4.
    aka What isthis Linux you speak of?
  • 5.
  • 6.
  • 7.
  • 8.
    Back to BSD.... Sincewe only have 45 minutes..... We'll start with an overview of the BSD projects Then concentrate on some differences between (mostly) PC-BSD and (mostly) Ubuntu
  • 9.
    Back to BSD.... Differentiatedby 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
  • 11.
    How is itdifferent?
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
    one config filephilosophy
  • 18.
  • 19.
  • 20.
    BSD vs GNUswitches
  • 21.
  • 22.
  • 23.
    Release Engineering Complete operatingsystem, not kernel + distro: one source for security advisories, less likelihood of incompatible libraries Integration of features not limited by copyleft: e.g. drivers are built-in High “bus factor” Consistent separation between operating system and third party and between BSD and GPL'd code
  • 24.
    Release Engineering ● While each BSD project has a separate focus, the communities share ideas/code ● Mentorship process to earn commit bit ● 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
  • 25.
    Release Engineering Principles usedby 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
  • 26.
    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
  • 27.
  • 28.
    Features Unique toBSD ● system securelevels ● FreeBSD jails ● NetBSD build.sh for crosscompiling ● pkgsrc for cross-platform pkg mgmt ● PC-BSD PBIs for one-click installing ● VuXML or audit-packages ● NetBSD veriexec file integrity subsystem ● binary emulation (linux, solaris, sco, etc.) ● FreeBSD netgraph networking framework
  • 29.
    Features Unique toBSD ● ZFS and dtrace support (FreeBSD) ● CARP for failover redundancy ● FreeBSD superpages for speed ● BSM audit framework (Solaris compatible) ● freebsdupdate (working snapshots) ● ALTQ for QoS ● Dragonfly HAMMER for high availability
  • 30.
    Books: BSD Hacks Best ofFreeBSD Basics Definitive Guide to PC-BSD (early 2010) Absolute BSD Absolute FreeBSD Absolute OpenBSD
  • 31.
    Questions: dru@osbr.ca Stop by the BSD booth and say hi!