Orbiting Debian: Interview with Bdale Garbee
Bdale Garbee is Chief Technologist for Open Source & Linux at Hewlett-Packard, and a former Debian Project Leader .
(This interview dates from October 25, 2006)
The role of Bdale Garbee at HP involves advising the company on both the technology and community aspects of Linux and open source. He mentors internal HP departments on how to productively participate in the free software development process, and encourages the adoption of open source software and principles across the company. A contributor to the free software community for more than twenty-five years, his background also includes many years of hardware design, UNIX internals, and embedded systems work. He was an early participant in the Debian project, helped port Debian GNU/Linux to five architectures, and remains active in the Debian community.
Garbee now serves as President of Software in the Public Interest, and is on the board of directors of the Consumer Electronics Linux Forum. Beyond his work at HP, Garbee is widely known in the amateur radio community for his contributions to packet radio, weak-signal communications, software defined radio, and DIY satellites.
Daniel James: Readers may be familiar with your role within the Debian project, but take us back to the beginning...
Bdale Garbee: I made my first contribution to what we now call the 'free software community' in about 1979. It was some assembly language for an obscure and now very much forgotten microprocessor system, that got published in a Canadian club newsletter. At an age before I had a drivers permit, it got me an invitation to speak at an event in Canada, which unfortunately my parents didn't think was a reasonable thing for me to do. While I was attending Carnegie Mellon University, I had my first really serious exposure to UNIX-like systems. At that time, we're talking about Berkeley 4.1 on full-sized VAX systems. I shared a VAX 11/750 with Eric Crane at CMU for a while. It was about the time the IBM PC came out, and since Eric and I had a VAX that we shared between us - he worked days, and I worked mostly at night - we put a big sign on our door saying 'The VAX is a personal computer'.
So I grew up in parallel with that second wave of UNIX history. I wasn't there for the very beginnings of it, but I was certainly there in the early days of the Berkeley environment. Some code that I wrote actually made it on to the later Berkeley 4.x series distribution tapes, a modem dialler for UUCP and things like that. By the time I ended up working for Hewlett-Packard, where I started in 1986, I was in the test and measurement part of HP, which is now part of the Agilent Technologies spin-off. I had already had a fair amount of experience contributing to and participating in this free software thing, and I understood UNIX systems fairly well.
Over the next decade or so, while working on various things for HP, including writing firmware for instrument products, and eventually managing a team that maintained a lot of the computing and networking infrastructure that was being used for product development and manufacturing at HP, I acquired a reputation for finding ways to bring various pieces of free software in, both to be part of our internal corporate infrastructure, and also some of these things ended up in products.
After the HP company spun off Agilent Technologies, I found myself on the Agilent side of that split. That was OK, and I certainly had a long history of working in the test and measurement part of the company, but by about early 2001, HP was getting serious about building some business infrastructure around open source and Linux. I was actively recruited to leave Agilent and return to HP, this time to work on open source and Linux full-time.
Since May of 2001, that's what I've been doing. I spent roughly two years working in the engineering organisation, that's now part of our open source and Linux organisation, on things like enablement of Linux on the Itanium processor family that our Integrity servers are based on. I did lots of installation and recovery tool sets, lots of package updates, and porting activities, and led the design of various product forms that HP is shipping today.
In 2003, in the wake of the merger with Compaq, there was quite a bit of management restructuring. Martin Fink became at that time the VP with responsibility for all of HP's open source and Linux business, and invited me to join his staff as his chief technologist. That's the role I've had since May or June of 2003, so while Martin has moved on now to run HP's NonStop business, and I now report to Christine Martino, VP of open source and Linux, I'm still in this role of providing technology evaluation, guidance, and assisting in business strategy and decision making, for all of HP's open source and Linux activities.
DJ: Would you agree that HP doesn't shout as loudly about its contributions to Linux and free software as some of the other corporate IT companies?
BG: I think there has sometimes been a difference in the way we've gone about trying to participate in these activities. That has sometimes been mirrored by differences in the way we generally market ourselves and our products. I think it's a little disappointing sometimes that we haven't got more credit for the things that we have actually been doing, and that's something that we're going to be stepping up our level of communication about.
What I'm talking about is that HP - as long as I've been involved with the company - has been a source of technology innovation; one of the earliest companies to participate in the Arpanet, which then became the internet, and so forth. Very fundamental contributions to many areas of technology, not just in the products we've developed and shipped, but also our contributions in various areas of the UNIX kernel, network protocol stacks and management technologies. All sorts of things that are around the periphery of operating systems, and have continued to be great strengths for the company.
When we came to this era of open source community development processes, this was a completely natural thing for HP. Participation in this community mimics some of our long-held corporate behaviour, of looking for solutions under the next bench, which implies sideways collaboration with your peers. As a consequence, we've adopted a strategy of trying to participate in community development projects in a way that's completely consistent with, and aligned with, the values and expectations of those communities. I think one of the best proof points on that is the fact that we've never felt compelled to create our own open source licence. We've been quite comfortable dealing with and using existing licences like GPL version 2, BSD flavours that are like the MIT licence and so forth.
As a consequence, a lot of the things we've done are maybe less disruptive or have generated less news, even though there have been some substantial contributions, and people have ended up with very significant roles in a number of communities. I think it's entirely possible that we have a lower profile about what we're doing, but I don't think that equates to us doing less. From the business results standpoint, we certainly have nothing to be ashamed about, with eight or nine years continuous status, if you combine the pre-merger HP and Compaq numbers, as the leader in Linux server sales and related product areas. We've perhaps been less loud about some of these things, but we certainly haven't been less involved. I'm very proud of the success of the business strategy, and how it's led to very solid results for us.
DJ: Do you think that engineering culture at HP as the reason why the company has supported and worked with the Debian project?
BG: That's certainly a part of it. One of the things that we decided fairly early in our open source and Linux business activities - and I think this comes from the engineering mentality, our ability to unravel how things actually work, and figure out where the most reasonable place is for us to apply energy - was that every development that HP engineers worked on would be pushed upstream as fast and as far as possible. So when we're working on device drivers and other kernel content, we try to work directly with the Linux kernel mailing list and the kernel.org community, to get our modifications and changes accepted there as quickly as possible. We then go to our distribution partners and ask them to pick up the content that we've contributed as part of the natural adoption and release cycles, where possible. It minimises the per-distribution effort that has to be involved, and we get the maximum return on our direct technology investment.
The relationship with Debian is very much like that, because in many cases, Debian (for a lot of really good reasons) has tried to stay very close to the upstream maintainers on many of the packages outside of the kernel. As we have been engaged in various porting activities in support of the Itanium and PA-RISC processor families over the years, and more recently broader-reaching engagements around management technologies, it's been really neat to be able to use the Debian project as a proxy channel for interaction with a broader range of upstream maintainers. It also gives us a level playing field, to be participating in a pure community-oriented project when we go to work with our commercial distribution partners. There are natural differences in the market share profiles of the different commercial distributors around the world. It's neat to have our core internal engineering activity on a pure open source playing field, so that when we go to engage with our distribution partners, we're not tainted (in some strange way) by bias in one direction or another.
DJ: How did you become involved in Debian, and how did you end up becoming Debian Project Leader?
BG: Back in about 1994, I was working on an amateur satellite project, which is one of my hobby passions. There were contributors from a number of countries around the world, including places like Hungary. I was maintaining a cross-compiler toolset for the embedded software on that project, and I was producing a tarball of a pre-built, GCC based toolchain for us to do this work. I discovered that every time I put out a new tarball, people were downloading this monstrously huge thing, unpacking it and using exactly one file from it, which was my notebook file describing the steps I had taken to configure and build the toolchain.
I was, at that time, running on a BSDi system, and everybody else was running on a Linux system. Actually, I was a contributor to Minix at one point, and had got to know Andy Tanenbaum, which caused me to be paying attention to the right mailing list when Linus showed up looking for POSIX programming information. I was aware of Linux and had looked at it around the 0.12 timeframe, and thought 'Oh, that's cute, but it's not actually very useful to me right now.' I had generally ignored it, until this point sometime in the middle of 1994, when I realised that some people I had great respect for, and thought I was helping out a lot by building this cross-development toolchain, were in fact throwing away everything I'd done except for my breadcrumbs, and using them to rebuild this stuff on Linux. I decided that meant Linux was serious enough that it was time to take another look.
Through a complex series of events, I ended up discovering the Debian distribution, because it was what Bruce Perens decided to base his Linux for Hams project on. So it was actually the ham radio and amateur satellite thing that got me to notice Debian. Once I noticed it, I immediately identified with Ian Murdock's Debian Manifesto, given my history with FSF-ish projects and my understanding of how that community behaved. I was very attracted to this combination of FSF fundamental principles and the Linux kernel community behaviours around what we would now call 'the bazaar model' of development. I got very excited about it - I installed it, I tried it, it actually worked quite well. I started building my satellite cross-compilation tool set for it. Within a month or two, I had contributed packages of a couple of utilities I wanted that weren't in the distribution.
By about January of 1995, I was fully engaged - I'd been convinced to build a new master server, which became the first machine that was completely dedicated to Debian. It was built using surplus HP equipment and was hosted in a HP facility on HP's bandwidth for a couple of years, before we had to move on to other alternatives. I was very involved with infrastructure, and how core things might work. Ian Murdock said that when he had to step away from the project, the three folks he left with responsibility, going forward, were Bruce Perens, Ian Jackson and myself. I don't know that I ever had quite that crisp a sense, at the time, of the role that I was playing, but it became obvious to me that once that particular satellite project was done and I had some free time again, that focusing on how to make the Debian project move forward, taking a leadership role, was a good thing. It took a couple of tries, but I did get elected, and spent a year serving as the Debian Project Leader.
Today, I remain very involved; I'm part of the current Debian Project Leader's 'advisory council', if that's the best way to describe it. I am now the president of Software in the Public Interest, which is the non-profit umbrella organisation that provides financial and legal assistance for Debian, PostgreSQL, freedesktop.org, and various other projects. I still serve as chairman of the Debian Technical Committee, so I'm still very engaged in the project. In fact, I sat up last night working on release-critical bugs.
DJ: How is Debian Etch, the next release of the distribution, shaping up?
BG: It's actually going very well. There has, of course, been lots of discussion about the approach that we're having this time; of having a couple of the key release manager folks be able to focus their full-time attention on the project, by providing some financial support for them. It's an experiment that I'm very interested in, seeing how it all works out. HP has chosen to take an active role, by being one of the sponsoring organisations for this experiment, which is reasonable and natural given our history, and our decision in the last few months to step up the level of enablement and support that we're going to be providing for our Proliant product family for Debian users. At this point, the release-critical bug count does seem to be coming down, the release managers seem to be doing a good job of keeping us focused and on track. It'll be released when it's ready, but I think, and I hope, that will be much closer to a predictable schedule this time than in the past. I guess we'll have to see.
DJ: Linux on the Proliant has been the leading platform for web serving and those kinds of uses for a long time, but why is still so hard to get a notebook or a desktop machine with Linux (or Debian, even) pre-installed on it?
BG: When you look at the server market, we're fairly far along in the general transition to, and adoption of, Linux and open source infrastructure on servers. Roughly one in four Proliant server that HP ships, we believe ends up running Linux. But in the desktop marketplace, the market share is just dramatically lower. While we've seen some huge increases, and there have been a lot of Government-sponsored deployment projects in various countries around the world, we still think (depending on which analyst group you believe at any given moment) desktop market share is in the 3% to 7% range. To be quite honest, it's very expensive to have more product numbers and product variants in the pipeline for a company like HP. After all, last year we shipped in excess of thirty million desktop and notebook PC's. The consequence of this is that even when we see 100,000 seat deployments in one place or some other, while those are exciting numbers for the open source and Linux community, this market share is still small enough that the cost of maintaining extra skews through our whole distribution process makes it financially unreasonable for us to try and do systems pre-loaded with Linux in a world-wide kind of way.
So the strategy we've chosen to take instead is actually very similar to the strategy that we had for servers, at an earlier stage in their adoption cycle. This is that we work very hard to ensure that our hardware is enabled for use with Linux, and to minimise the number of gotchas that end users would run into if they chose to run Linux on these systems. But until we see a doubling, at least, in the overall Linux client market share, it's just not financially tenable for us to try and provide alternative pre-install images, in effect a separate set of products with a different operating system involved.
The other thing I think that's worth mentioning is that HP's strategy for all of these open source and Linux engagements, whether it's on servers or on notebooks and desktops, is really all around end user choice. Making it possible for people to choose, from a range of things that we provide the background enablement and support for, what makes the best sense for them, and then to be in a position to provide a full range of support and services behind that. This is completely consistent with where things are in the market. I would fully expect, as those market shares continue to shift, as I believe they will, that over time you'll see more support coming from HP for Linux on the desktop and notebook.
DJ: Is there anything else you'd like to add?
BG: It's a really exciting time to be in this industry. With the kinds of phenomenal growth rates we're seeing, Linux and the whole of open source is one of the brighter stars in the IT sky right now. It's actually very exciting for me to be engaged with HP; I'm fortunate, because I come from an open source and free software background, and I'm being given the opportunity to help shape and guide the direction of what is now the largest player in this particular market space, from a units and revenue standpoint, on servers. A company that's poised to be the largest IT company in the world.
HP's Linux site
HP's Open Source site
HP enabling Debian
Debian "Etch" release information