Interview with Alistair G. Crooks


September 18, 2009 posted by Emile Heitor

Our fourth edition of the "discussions with a NetBSD developer" series is a very special one, as we had the chance to talk to Alistair G. Crooks, president of The NetBSD Foundation.

Alistair gave us a historical point of view some of you might be unaware of, explaining "The NetBSD way" while telling us what is his analysis of NetBSD's status today and what he thinks about its future.

NetBSDfr: For those of our readers who don't know you, could you tell
us a little bit about yourself?

Alistair: I                                                               
                                                                                
- am originally from the UK (Scotland)
- have a degree in computing science from Glasgow University
- have a wife and 2 children
- have worked in the UK, the Netherlands and Germany for most of my life
- now situated in Californa, where we moved last year
- am a guitarist, with a great love of music (which my family disputes)

NetBSDfr: How long have you been using UNIX, and in particular BSD UNIX ?
Did you follow CSRG's work?

Alistair: I first booted Unix version 6 on a PDP11/45 in 1977.  I first used BSD
Unix in 1984 - 4.1c on a VAX, and early Suns running 4.2 BSD. I
recently found some course notes from a 4.3 BSD internals tutorial
given by Kirk Mckusick and Mike Karels in 1986. I used to have various
interesting reel-to-reel tapes in the house, but the move to California
has meant a rationalisation in non-essential items. Quite how my wife's
collection of mugs is essential, is not immediately clear to me, but will
become apparent later on, I'm sure.

NetBSDfr: As you're one of NetBSD's early hackers, could you briefly explain us
what was the path from 386BSD to NetBSD 0.8 ?
What made you choose to follow NetBSD over FreeBSD?

Alistair: I used 386 BSD 0.0, and then 0.1 - complete with cgd's notes on how to
configure more than 5 MB of swap space, which I remember using in
September 1992 - I can be exact because I did that just before going
off on my honeymoon - then there was a few months delay, and NetBSD and
FreeBSD were born.

There were a number of reasons for choosing NetBSD, and one minor 
- the minor one was that NetBSD 0.8 would install fine onto my old 300
MB drive, whereas FreeBSD wouldn't.  I also had positive experience
with the developers in the NetBSD camp.  Around the same time, there
was an online conference using some early irc framework which
discussed what should happen and how to move forward, and I
remember thinking that the design and architecture decisions that
(what were to become) the NetBSD developers were taking were the right
ones. 

However, in those days, there was a lot of crossover between the two
projects.  For example, my name used to appear in the FreeBSD
developers handbook - I have no idea if it still does - because two of
the original ports collection (what we'd know as binary packages
nowadays) I provided - and these were compiled on NetBSD but were
runnable on FreeBSD.  This is long before FreeBSD started its new
build-from-source ports collection (which incidentally is why you used
to see the "New" in

	# New ports collection makefile for: portname

on the top of ports Makefiles, to denote that this portname was from the
new ports collection, the source-based, rather than binary-based one).

NetBSDfr: When and how did you become a NetBSD commiter? How many were there?

Alistair: I'd been on the NetBSD mailing lists and used to run NetBSD-current
on my machines since the time NetBSD started (1993).  I used to
travel with my work and had met up with a number of NetBSD
developers.

In 1996, I wrote a packaging system for Amdahl's UTS, their mainframe Unix,
and then there was some activity on the NetBSD mailing lists about having
a packaging system for NetBSD, how it should work, etc.  I volunteered
for the role, as I'd had experience with my packaging system for UTS,
and thought that I had a lot to offer NetBSD. I managed to fool the
NetBSD people into taking me on as a developer, imported the packaging
tools, the make infrastructure, then piecemeal packages, and that's
how pkgsrc started.

NetBSDfr: How much time do you usually spend on the Project? How do
you manage to manage your role in the project and everyday life?

Alistair: I am lucky enough that I only have to spend 24 hours out of each day on
the NetBSD project, and on pkgsrc. The rest of my time is spent at work
and with my family.

NetBSDfr: When did you (core) decide to create The NetBSD Foundation as a legal entity?
What is its role? What is, if any, its impact over the Project? What is the role of the President?

Alistair: If you think of a traditional company, you have a board of directors,
who set the goals for the company, and employ and direct the
management team to achieve those goals.  It's much the same in NetBSD
- the board of directors (i.e.  the NetBSD Foundation) establish the
set of goals that they want to achieve, and meet regularly to discuss
this, and monitor how well we are achieving those goals.  The core
team is the technical management for the project, and takes technical
decisions.  The NetBSD Foundation looks after the legal and financial
sides.

The NetBSD Foundation has started to finance work - its targeted
development work, whereby it will fund development. Andrew Doran's
work on SMP and threads is the first result of this. We expect to
fund more work over the next few months - it's a very exciting time
for NetBSD.

The board of directors is elected every 2 years by the NetBSD
developers.  I've been on the board with one small break for good
behaviour since 2002.  My term of office ends in 2011, and this will
be my last term.  It's time for fresh blood and new ideas to come
along.

The President sits on the board of directors of the Foundation, is the
ultimate sink for the buck, and is the recipient of all chocolate
donated to the project.

NetBSDfr: Everyone knows about a major project you founded, pkgsrc,
but can you tell us about some other NetBSD-related areas you work on?

Alistair: I wrote the user management suite of programs, user(8), ReFUSE, the
iSCSI target and initiator, netpgp (a library and utility for digital
signing and verification, encryption and decryption), and a Role-Based
Access Control security model kernel (which has still to be committed).
I'll be talking about both netpgp and the RBAC work at EuroBSDcon in
Cambridge - please come along and say hello.

NetBSDfr: Does your position at TNF have any impact on your professional life?
More generally, do your colleagues know they work with a famous Open Source figure? ;)

Alistair: I had no idea that I was famous, and certainly no-one has told my
family that I am, which is probably just as well. I work with some
NetBSD developers, so, yes, they make allowances for me and my ego. 

One co-worker said "Hell, yes we do", others hate running the gauntlet
of paparazzi between their cars and our office.  I suspect some
colleagues only put up with me for the chocolate.

So swings and roundabouts, really.

NetBSDfr: Linux and FreeBSD both have many user groups helping their projects to gain
 popularity and bringing them more and more contributions. While NetBSD is the most ancient
Free UNIX system, it does not have this fame.
What do you think must be done in order to change this, if you consider this should change?

Alistair: NetBSD has always been a "no hype" operating system. It's there, it
just works (very well), and we tend to let our operating system do
the talking for us.

Which isn't to say we don't like publicity, or that we know we need to
present as good a message as our operating system is good technically,
and in practice.  We have a new addition to our ranks, Sarah Cockburn,
who has started to head up NetBSD's marketing.

Also, without our supporters out there in the world, we'd be nowhere,
so I'd like to say thanks to all of the people in various different
countries, who raise our profile in so many separate ways. So thank
you, NetBSDfr, for your enthusiasm and skills in presenting us so
well.

NetBSDfr: What, more than passion, would you say is required in order to join
the NetBSD Project as a developer?

Alistair: Anyone can join the NetBSD project - use the operating system, use
pkgsrc, report, contribute, enjoy.  If people want to play a more
active role in helping the project, please let us know.

NetBSDfr: NetBSD 5.0 is revolutionary, both technically and from the widespread media
coverage, how do you explain this revival?

Alistair: NetBSD 5.0 is the combination of a lot of things. It was the first
release where the NetBSD Foundation's policy of targeted development
was used, whereby the Foundation funds development of certain parts
of the system which would otherwise be too much work for someone to
work on in their spare time. Andrew Doran rewrote the threading model,
and has made such good progress with our SMP that the performance
figures speak for themselves. In case anyone missed them, please see:

	http://www.netbsd.org/~ad/50/

Technically, I am biased about the success of 5.0, though, since I was
nominally release manager.  In practice, Soren Jacobsen, the release
engineer took care of every single thing, in some bizarre act to make
me look as good as possible.  Thanks to Soren, the 5.0 release process
itself was a great success. I only just managed to stop the release of
5.0 within a few days of my fiftieth birthday.

The changes that went into 5.0 should not be underestimated, though. 
There were 72 kernel version bumps in 5.0 - the previous record was
29.  In my mind, 5.0 came along at the right time, with the usual
superb stability, with functionality that people wanted, and with
outstanding performance.  My thanks to everyone who took part in all
aspects of bringing 5.0 together - from the people who contributed,
the users who helped iron out wrinkles, to the people who document
and write about it - you are the ones that made 5.0 such a success.
Thank you.

NetBSDfr: Where do you see NetBSD in the next 5 years?

Alistair: As many manufacturers have found out, NetBSD is the prime target for
embedded appliances; its ability to build everything on other
operating systems is unmatched, its licensing is simple and effective,
and its performance and small size is appealling for so many reasons. 
The embedded market also is slow to change, by its nature; for that
reason alone, I see NetBSD being used in embedded markets for many
years to come.

Embedded is only one facet to NetBSD, though, and some of the technical
innovation (such as the rump susbsystem, which allows file systems to
be mounted in user space - think of mounting a file system on a USB key,
for example, and not knowing what it's doing to your kernel). Rump takes
those concerns away (as well as providing much more functionality than
simply that) by doing all the necessary file system heavy lifting in
user space.
 
Another trend I see is that of secure operating systems, and of
applications being designed to be secure from the start; NetBSD has
many advantages in this arena, too - from kauth's abstractions and
veriexec, through to netpgp.  I expect this trend to grow at an
increasing rate.

Storage has long been a positive aspect of NetBSD - from its iSCSI
target and initiator, Antti Kantee's innovative file system work, its
ReFUSE clone of FUSE, the management of space by LVM (in
NetBSD-current), the perennial RAIDframe system which protects so much
data, to the recent import of ZFS into NetBSD-current - the NetBSD
storage strategy has lifted NetBSD into a superb position. I expect
to see SSDs come of age in the next 5 years, and for storage subsystems
to get more hierarchical in general. I'd also think that storage volume
will increase, although the rate will taper off.

NetBSD has also been a leading player in virtualisation, having been
hosting Xen Dom0 and DomU ports since 2004. The guys like Manuel Bouyer,
Jean-Yves Migeon and Christoph Egger who work on pushing the envelope
with support for Xen 3.3 dom0 and domU, have my utmost respect. NetBSD's
Xen virtualisation support has few, if any, peers.

Licensing is an interesting issue - the GPLv3 has been out for a while
now, and we are seeing a growing trend of software moving to the
GPLv3.  Personally, there are issues with the licensing of that
software which I have trouble with - the patents issue, for instance -
which may bite some people if they are not careful.  In contrast,
NetBSD's preferred license is small, simple, and understandable, and
has no onerous clauses. I have no problems in recommending it to
authors who wish to gain the maximum exposure for their work (since
Linux vendors do not mind including BSD-licensed software in their
products), and yet still wish to protect their own sweat and tears
with an enforceable license.

In all, NetBSD has been evolving since its inception in 1993.  In
those days, it had an unofficial motto of "it runs on anything". 
NetBSD was able to scale between older, slower machines and huge, fast
ones, by means of its clean design; of an attention to detail that is
admirable.  NetBSD runs on Acorn26, and on fast multi-threaded
amd64/x86 machines with large amounts of memory.  NetBSD will continue
to evolve, mainly due to its excellent design, its marvellous
developer community, and our passionate and generous,
chocolate-donating users.

NetBSDfr: Finally, for those readers that still haven't joined the NetBSD community,
why should they try NetBSD?

Alistair: Hopefully, the answers above go some way to answering that.  What
makes NetBSD special is its source code.  That is the basis of
everything.  But around that source code, there's a belief in "doing
the right thing" that pervades right through the developer community
to our users, our distributors, and the people that write about us.

We don't just *think* NetBSD is special - we *know* NetBSD is special.

Many thanks to Guillaume Lasmayous from NetBSDfr for his hard work in preparing, conducting and translating this interview, and to Claude Charpentier and Jean-Charles Bagneris for reviewing and correcting.

[4 comments]

 



Comments:

Well at least you have Sarah Cockburn, owchy.

Posted by Bry on September 22, 2009 at 09:58 PM UTC #

I am sold, Alistair! This interview gave me a much better idea of what NetBSD is all about. I decided that I will install it on my brand new workstation. Thank you so much to all the developers for their superb work!

Posted by Davide on September 23, 2009 at 03:55 AM UTC #

Another trend I see is that of secure operating systems & We don't just *think* NetBSD is special - we *know* NetBSD is special.--- Veriexec and CGD work out-of-box without problem and more importantly without performance penalty! & We (NetBSD users) know too, and we thank you for great improvements.

Posted by Cem Kayali on December 27, 2009 at 04:48 AM UTC #

As a "lapsed" user of NetBSD, I recently tried to revive my old PowerPC Linux on an OldWorld Power Mac (9600). It was disastrous, and I've found it nearly impossible to reinstall anything modern because of the poor legacy model support. I remembered that NetBSD runs on anything, though, and gave it a shot... 5.0.2 was installing within an hour and the bootloader functions so much better than Quik. Runs on anything, indeed! Consider me back in the fold. :-)

Posted by David Riley on July 06, 2010 at 06:08 PM UTC #

Post a Comment:
Comments are closed for this entry.