Q&A: Networking Expert Dru Lavigne

Dru Lavigne wasn’t always interested in networking applications. I recently interviewed her about how she discovered UNIX and launched her career as an OS specialist and technical writer. She also described her “to-do” list, which includes more writing, and her hopes for the future of the BSD OS.—Nan Price, Associate Editor

 

Dru LavigneNAN: What is your current occupation?

DRU: I’m the lead tech writer for iXsystems, a hardware solutions provider and corporate sponsor of the FreeNAS and PC-BSD open-source projects. Since both of these projects publish a comprehensive user’s guide with each software release, most of my time is spent making sure each guide is kept up to date as changes are made to these OSes. I’m also involved in the FreeBSD Documentation Project and I am currently assisting in updating and preparing the FreeBSD Handbook for publication in a two-volume format.

NAN: What is the FreeBSD Foundation?

DRU: The FreeBSD Foundation is a 501.c3 nonprofit that provides financial support and a legal entity for the FreeBSD Project.

The FreeBSD Foundation provides grants so developers can attend conferences and developer summits, sponsors developers to work on specific software projects that would benefit the FreeBSD community, interacts with companies that use FreeBSD to determine their needs, and assists in introducing developers to the community. As a director, I assist in fundraising and advocacy, reviewing project proposals, and developing relationships.

NAN: What is BSD? What is the difference between BSD and Linux?

DRU: BSD is a UNIX-like OS that was originally developed at the University of California Berkeley in the 1970s. When the university stopped developing the OS, several open-source projects began to continue development.

Its lineage differs from Linux as Linux is derived from a different UNIX branch known as SysV. Traditionally, the most noticeable difference is that SysV systems use run levels whereas BSD systems do not. The release engineering process also differs between BSD and Linux. BSD projects release an entire OS with a set of base tools included in the OS’s userland. The entire OS has a release engineering team that is responsible for the release and a security team that is responsible for security advisories until a release reaches its end-of-life (EOL). In contrast, Linux itself is only the kernel. Each distro integrates that kernel into its installer, package management system, and userland to create a complete OS.

NAN: How long have you been using BSD? When and how did you become interested?

DRU: I started using FreeBSD in 1997. I went “cold turkey” by installing it on my only computer and learned how to do what I needed to do as I needed to do it. Once I was comfortable with FreeBSD, I ventured into learning how to use NetBSD and OpenBSD, and when PC-BSD came along, I switched to that as my main desktop system.

NAN: Describe your involvement with the BSD Certification Group.

DRU: I founded the BSD Certification Group to create a community-based and psychometrically valid certification exam for system administrators of BSD OSes. The group is composed of volunteers who have been involved in BSD for quite some time as educators, authors, and/or system administrators. We have worked hard to provide a globally affordable examination that provides real value to employers.

NAN: You’ve written several books, including BSD Hacks, The Best of FreeBSD Basics and The Definitive Guide to PC-BSD. What can readers expect to learn from the books?

DRU: How to be comfortable on a UNIX system and how to think using the logic of a UNIX system.

NAN: Do you consider your books introductory or are they written for more experienced engineers?

DRU: These books are written in the style: “Now that you have BSD, did you know that you can do these cool things?” I’m a hands-on person and I like to know what I can do and to understand what I’m seeing when something I do acts differently than I expected it to.

The great thing about UNIX is that you can learn how to do something useful now, even if you have never seen a UNIX command line before. And, even if you’ve been around forever, there is always something you haven’t come across before or a cool new way to do something that you haven’t thought of before. So, these books can appeal to both the introductory user (the main target audience) as well as the advanced user (who will still pick up a trick or two before passing the book along to an introductory user).

NAN: Are you currently working on or planning any books or projects?

DRU: I do have a to-do list, book-wise. It’s interesting that I currently write the equivalent of three 300ish page books per year, but these are available for free online at doc.freenas.org  and wiki.pcbsd.org.

In addition, my current big project is the two-volume set for the FreeBSD Handbook, which will be a good 900 pages when it is complete. Once that project is finished, next in line is modernizing The Best of FreeBSD Basics for FreeBSD 10.x. Then, I’d like to write a second BSD Hacks-type book.

NAN: What do you consider to be the “next big thing” in the industry?

DRU: Since my expertise is in BSD, I’ll frame my answer from that perspective.
The first is creating usable frameworks for securing/sandboxing existing non-secure applications. FreeBSD is leading the development and research in this area in its Capsicum framework (see the article “Capsicum: Practical Capabilities for UNIX” on the University of Cambridge website).

The second is modern file systems that aren’t limited by the hardware restrictions that were around when most file systems were created. Examples include the OpenZFS storage platform and DragonFly BSD’s HAMMER file system.

NAN: Give us some background information. Where are you located? Where and what did you study?

DRU: I’m a recent transplant to Northwest Arkansas, having lived in Canada for many years. I went back to school in my early 30s to get a technical diploma in Networking and Telecommunications. I also earned the following certifications: MCSE, CNE, CCNA, CCSA, Security+, and probably others, which I have since forgotten.

NAN: How did you become interested in OSes and IT?

DRU: I was working in a dead-end position for a municipal department (low pay, very low glass ceiling) and wanted to expand my horizons. Many of our clients were being referred to a technical college for a networking program at a time when networking was a “hot” topic.

I had no idea what networking was, but figured it couldn’t be any worse than what I was doing, so I negotiated half days with my employer so I could attend classes. I quickly found that the course interested me and I seemed to be good at it.

Toward the end of the program, when I was researching employment opportunities, I noticed that the interesting and well-paying positions wanted UNIX experience. Having no idea what that was, and having no money as a poor student, I did an Internet search for “free UNIX.” The first hit was freebsd.org. I went to the website and my gut told me “this is it.” The rest, as they say, is history.

One thought on “Q&A: Networking Expert Dru Lavigne

  1. Dru/Nan,

    Nice article and I love your desire to give *BSD its due. As one of its developers, UCB grad, member of various UNIX standards committees etc. (I go back to 1975 with UNIX and BSD and am one of the old guys who helped to create this mess). So let me offer some corrections before history gets rewritten or worse yet missunderstood.

    • BSD is not UNIX like – it >>is< had UCB used AT&T’s trade secrets and illegally released the results. [AT&T was required to make the technology available due to the 1956 consent decree] UCB was allowed to released their rewritten implementation of UNIX – but it was defined as UNIX by all sides.
    • During this same period of 10-15 years, the 5th, 6th, 7th, 8th 9th, and 10th editions of UNIX would also move from Bell Labs Research into AT&T’s product teams and would begat the Programmers Work Bench (PWB) that were released to the AT&T “operating companies” for internal use [they could not see computers or SW because of the consent decree].
    • In 1980 Judge Green allowed AT&T to be in the computer business, and AT&T took PWB 3.0 as is. Their marketing folks renamed is “System III” and started to sell it (my copy of the doc still says PWB 3.0 on it – System III was purely a marketing name).
    • Over time, this flavor from AT&T called System V and System V Release 3 or 4 etc came from this development line – also a UNIX but a different code base than BSD.
    • Thus we had the AT&T vs BSD UNIX wars of which was better[IMO: it’s hardly different than today’s Linux wars buts it’s a different group of people chnagng the code base].
    • During the early 1980s, a UNIX User Group (/usr/group) set out to standardize the different flavors of UNIX so applicants developers could have a single target – every firm that sold UNIX or UNIX-like systems that took the had changed things – In 1985 they released the first standard (I was part of that effort).
    • Later that year, we disbanded that standards effort and reconvened under the IEEE cover. This led to IEEE Standard 1003 – aka POSIX which started as an API definition an later included user mode functionality. POSIX or the US Gov version of same (FIPS-151) is neither BSD, System V or anything else. It is a set of compromises but once defined, in fact the source code portability has been tremendous (See today’s post by my former coworker, Tim O’Rielly who is replying to Eric Raymond’s last FOSS post).
    • Also during the 1980s there were a number of teams across the globe who also tried to write UNIX-like systems to remove any AT&T copyrights or claims (Whitesmith’s Idris was probably the first one, but it never got popular acceptance).
    • Prof Andrew Tannenbaum’s MINIX system was one of those where he was attempting to make a 7th edition API compliant system without using any AT&T technology that he could publish in his books and use to teach university students. He was a compiler guy, the his system included the compiler his students had developed. Minux also ran without MMU and a IBM/PC with an 8088. This was “Open Source” as the code was printed in the book and could be ordered, but it was copy written.
    • However, it should be noted that is all of these systems were based on the AT&T trade secrets and if AT&T had won the case, would have had to have been removed from the market in any Nato country.
    • Linus started with Minux and rewrote it – mostly importantly adding full MMU support for the 386. But like Tannenbaum, he did not base his code on AT&T copyrights. Thus Linux is a UNIX-like system. But he was able to use the IEEE POSIX interface definition as his formal guide, were an Andy was just trying to duplicate the 7th edition API. By 1991 in doing so Linus was able to import many codes from the rest of the larger UNIX community to his system (including and mostly importantly the GNU compiler and development tools).
    • Thus Linux uses many of the ideas of UNIX and in fact takes its API, and a lot of utilities, from the UNIX family. But unlike BSD, there is no direct historical code base link. It is not based on either System V nor BSD – although there are ideas and codes that duplicate functions from both systems.
    • In your piece you mention the “level” concept of the System V init(8) program being different than the way original UNIX did it and that UCB had enhanced over the years. But that choice has nothing to do with the Linux kernel. In fact early Linux and even today some Linux implementations use the BSD/Bell Labs scheme. And I understand newer editions of Linux are switching to yet another scheme.
    • I think what you really want to state is that many/most Linux system can be administered similar to the user level systems found in System V, HP-UX and some extent Solaris. Where as FreeBSD/OpenBSD/NetBSD and friends administer closer to the original Bell Lab schemes with the CRSG changes and some level of POSIX compliance added.

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA Image

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>