FreeBSD Developer Poul-Henning Kamp
Poul-Henning Kamp, known to the FreeBSD development community simply as
phk@FreeBSD.org, lives in Slagelse, Denmark with his wife Hanne, son
Tristan, and daughter Dana. Living and working most of his life in
Denmark, he spent about a year in Luxembourg installing TCP/IP for the
European Parliament, a year in northern Italy porting software for
Olivetti, and almost two years in San Francisco working for TRW Financial
systems. He is planning to spend the second half of 2004 working solely
on improvements in FreeBSD -CURRENT, funded by the FreeBSD user community.
pN: Tell us about your background and programming/OS history.
phk: Many years ago a friend gave me an introduction on a computer with
2000 words of 20 bits. It was built with germanium transistors and coded
in assembler on telex terminals with Baudot character set. That got me
hooked. Since then I have programmed everything I got my hands on: from
Clive Sinclairs "Mk 14" to Convex GaAs supercomputers.
I have been making my living doing things with computers for 21 years now.
More often than not involving networking and UNIX, but I have written a
disassembler for IBM S/34 in RPG-II, process control in assembler, SNMP in
Tcl and many other odd things.
pN: What first brought you to BSD development, and specifically to
FreeBSD?
phk: I had been playing with Minix while I was in Luxembourg and Italy,
then when I got back to Denmark, 386BSD suddenly became available. I got a
couple of patches into the "patchkit" and when that effort split into
NetBSD and FreeBSD I looked at the two groups of people and asked myself
which one had my sort of people in it. NetBSD looked like a more academic
slant, FreeBSD looked like people like me, people with real jobs and real
problems a free UNIX could solve for them, so I went with FreeBSD and have
never regretted it.
pN: You were a core FreeBSD team member from the early days until 2000.
How was that experience and why did you leave the core team?
phk: It was a great experience, we had some great moments and got the
project through some wild things and scary years. What we didn't manage
to do was to get an organization built into the project and as a
consequence we gradually lost momentum to internal friction and confusion.
Near the end the core team was a little group of five people who did
things and 12-13 people who didn't and who did not want to resign from
core@ either. The beginning of the end was a very ugly person-related
issue which really tore into some of the friendships on the core team and
things degenerated so much that I put all my energy into "core-renovation"
and that resulted in the core team now being an elected from and by the
committers.
One of the hardest things in life is to know when to quit, but I think I
got it right in this case. If I had quit core earlier, we would not have
gotten the elected core, if I had run for a seat in the elections I would
probably have dragged a lot of old baggage into the new core team.
pN: Do you feel good about the future direction of FreeBSD 5 and beyond?
Where would you like to see FreeBSD go (that you feel isn't currently
being given sufficient consideration)?
phk: I think FreeBSD 5 is headed in mostly the right direction, and with
time we will get that "mostly" eliminated. It is not easy to do things
right first time when you enter poorly charted waters, and sometimes it
takes a prototype to get things right subsequently.
I don't really have any grand ambitions for FreeBSD. To me FreeBSD is the
tool of choice for professionals and I do not see how or even why we
should change that position.
Let me explain that another way: When you buy a saw at Home Depot, a lot
of thought has gone into how to make you notice it amongst all the other
saws they offer, how to convince you to buy just that saw, including
printing advice and helpful tips on how to best use it, etc. When you buy
a saw from a professional handtool supplier, the effort went into
tempering the steel and putting a good handle on it, because professionals
know how to use a saw. The one from Home Depot would not last them a
week.
My biggest worry is our infrastructure on which we hang all the peripheral
features, that inner core which handles processes, files, memory. We need
to make sure that has the strength and structure to carry the weight of
all the features we add.
pN: What are the strongest features and/or improvements for FreeBSD in
upcoming releases?
phk: There are so many features that I wouldn't know where to start, and
what matters more to me is the changes to and in some cases replacements
of our infrastructure. Those are the changes that make it possible for
FreeBSD to continue for another decade.
Much of our infrastructure dates back from the VAX-age twenty years ago,
and there are some assumptions and choices made back then which are no
longer valid. We have gotten threading and process scheduling
restructured so that we can now support 1:N N:1 and N:M threading, we have
gotten some significant work in the network stack, a lot of work in the
disk-I/O area, ACPI and interrupt routing mostly works and so on.
I realize that I sound as boring as a nerdy engineering type from the city
council who praises the newly completed renovation of the sewers, but
trust me on this one: the man has a point. No gadget or feature you can
add to your bathroom can compensate for underperforming sewers.
pN: What gave you the idea to turn to the community for full-time
financial support in 2004?
phk: I suck at career planning, or rather, I am actually pretty good at
it, but my plans seldom bear any semblance to subsequent events. What
happened here was that I lost a major customer and had half a year to fill
in my calendar. So I start thinking of leads and contacts, with a keen
eye on their FreeBSD potential. Denmark is not a big place, and while I
do not claim that I know everybody who runs a FreeBSD machine here, I
probably know everybody who has more than 20. My home-market is not that
big.
At the same time I have this huge "TODO" list with all the things that
needs to be done in FreeBSD, so I naturally thought about finding somebody
who had a stake in FreeBSD's future. And who could possibly have more at
stake than the FreeBSD user community at large?
It was a pretty humbling experience to see how fast people poured money
in, and I owe them all, and in particular pair.com a big thank you! for the
trust they have in me. I'll do everything I can to live up to that
goodwill.
pN: What does the future hold for you? Will you continue to work on
publicly supported software projects or will you pursue other interests?
phk: Being funded for doing FreeBSD development is a novel proposition for
both the FreeBSD Project and me. I have decided to take a hard look at it
halfway through, around September, and try to find out if it works out to
everybody's satisfaction: sponsors, project, my family and me. If it works
out, I think I will be willing to continue, if it does not I find
something else to do afterwards.
Apart from that I will defer to the Danish comedian and writer Robert
Storm Petersen: "It is hard to predict, especially the future." :-)
Learn more about Poul-Henning Kamp on his Web site:
http://people.freebsd.org/~phk/
|