1. BSD For Linux UsersDru LavigneCommunity Manager, PC-BSD ProjectOCLUG, 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
3. What exactly is BSD?
4. aka What exactly is Linux?
7. What is BSD?Began as a series of patches andcontributed applications for Unix from theUniversity of BerkeleyForked into several projects when Berkeleystopped working on BSDTwenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributablehttp://oreilly.com/catalog/opensources/book/kirkmck.html
8. What is BSD?Projects originally differentiated by focus:NetBSD: clean design and portability (57supported platforms)FreeBSD: production server stability andapplication support (22,431 apps)OpenBSD: security and dependablerelease cycleDragonfly BSD: filesystem architecturePC-BSD: anyone can install and use BSD
9. How is BSD different from Linux?
10. Gnome on Ubuntu
11. KDE on PC-BSD
12. device names
13. startup (no runlevels)
14. one config file philosophy
15. kernel configuration
16. consistent layout (man hier)
17. BSD vs GNU switches
18. working examples
19. Release Engineering?
20. Release EngineeringComplete operating system, not kernel +distro: one source for security advisories,less likelihood of incompatible librariesIntegration of features not limited bycopyleft: e.g. drivers and features are built-inHigh “bus factor”Consistent separation between operatingsystem and third party and between BSDand GPLd code
21. 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
22. Release EngineeringPrinciples used by the BSD projects reflecttheir 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
23. 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 dont result in library incompatibilities (safe for production)● documentation considered as important as code
24. Features unique to BSD?
26. FreeBSD jails
27. NetBSD build.sh
29. PC-BSD PBIs
30. VuXML and portaudit or pkg_admin audit for pkgsrc systems