I bumped into Dirk Hohndel, Intel's Chief Linux and Open Source Technologist, at OSCON last week and started probing him on Intel's open-source activities. As it turns out, for a hardware company, Intel writes a heck of a lot of software. Dirk and I found time to talk about Intel's open-source involvement in depth. This interview was born.
I've known Dirk for a few years, first bumping into him at OSBC 2004. He was annoyed with the WiFi (or lack thereof), and set about to fixing it. He did, and gained immediate respect from me for that feat. I've been an admirer ever since.
In this interview, Dirk goes deep and broad in his analysis of Intel's open-source activities. Read on for more....
How long has Intel been involved with open source? What was the first open-source project to which Intel contributed?
Certainly much longer than the term "open source" has existed. Intel contributed to many of the very early free software projects like gcc and glibc, and of course has been an active contributor to the Linux kernel for many years. I don't think we actually know which project was the first.
How many open-source projects does Intel contribute to today?
Many. Let's name some of those in which we are most active and contribute regularly. Of course, I may be missing some, as our open-source development efforts are many and varied. In no particular order...
We are also participating in many other communities like MySQL, Apache, Firefox, and gcc, to name just a few. There are many more. Our goal is to ensure that people using open-source software have a good experience when running it on Intel hardware, so we are touching many different projects.
- Linux kernel
- Xen, KVM, UML
Are there any projects to which Intel employees have commit rights?
Several projects related to the Linux kernel, including of course our own projects in that area. Also EFI, X.org, Mesa, Harmony, Eclipse....
In what ways does Intel participate in open source?
We participate in open-source communities just as other community members do: Intel engineers write software and participate in projects' ongoing discussions on mailing lists and wikis.
Additionally we sponsor some conferences and provide early access to hardware for some key developers.
Intel is a hardware company. Why does it care about open source?
Open-source software is one of the pillars of the software stacks that our customers use today. We want to ensure that these stacks support Intel's leading technologies as we introduce them to the market and that customers have an incentive to run their software stacks on Intel hardware. This results in people recommending Intel. For example, if someone asks, "Which laptop should I buy if I want to run Linux?", we want the answer to be "Buy a laptop based on the Intel® Centrino® processor technology."
How does open source complicate Intel's relationship with its proprietary partners? I'm thinking particularly of Microsoft....
Intel has always maintained good relationships with its software partners and continues to have a very close working relationship with Microsoft.
Does open source mean that Intel finds itself working with competitors like AMD more often? In what ways?
Intel participates in many projects, as I mentioned. We work with whoever is contributing and participating in those projects. This leads to many times where we work jointly with partners like IBM, HP or Sun and occasionally with competitors. As it happens, we don't appear to run into active participation from some of our core competitors in most of these projects.
When is open source a friend to Intel and when is it a foe?
Open-source software is mainly about certain licensing terms and about the communities around them. As these projects develop software that runs on Intel platforms, we always want them to run best on Intel so that customers who are choosing to deploy open source software do so on our platforms. Therefore I believe that most of these projects would be classified as "friends" :-)
Is virtualization Intel's friend or its foe? Superficially, it looks bad for Intel, yet Intel has been very active on the Xen project. (Can you elaborate on Intel?s reasons for participating with Xen?)
Virtualization allows customers to better use their infrastructure and to create solutions that fulfill their business needs. Therefore it's in our own best interest to ensure that Intel is the best platform on which to run such virtualization software. We have been very actively engaged with Linux virtualization efforts (Xen, UML and now KVM) and other players in this field like Vmware, Microsoft and Parallels.
Intel just released parallelization software (Threading Building Blocks (TBB)) under an open-source license. Why? What does Intel hope to gain from this?
The era of multi-core platforms changes the way in which software can benefit from the evolution of our products. Threading Building Blocks makes it easier for software developers to write software that supports such multi-core platforms. Releasing these libraries in open source increases the likelihood that more developers are able to write better software that better takes advantage of the latest Intel platforms.
Why not release the same code as a proprietary, but free, product (if the goal is to facilitate adoption)?
Intel expects to build a community of developers around TBB that will work on making TBB better - a community that works on making TBB applicable in more situations and that together with Intel's engineers works on creating the best threading environment on the market. We want to use the strength of the open-source methodology to create better software.
Was it hard to convince the development team to go open source?
The development team was excited about the idea - little or no convincing was necessary. And as part of converting TBB to an open source project we have even increased the number of Intel engineers working on it!
What is the process for contributing code to an outside project at Intel? How has this changed over time? And what about for how open-source is "consumed" within Intel?
Intel has a rather strict internal review process for code contributions to open source software, one that is focused on compliance with licensing terms and protection of the intellectual property of Intel and our partners. A similar process helps us ensure that when using open-source components we have clear internal boundaries that keep proprietary software (again, regardless of whether it is ours or that which is developed by our partners) and open-source software separate.
Do you find that you have to do a fair amount of "evangelism" internally to convince groups to embrace open source for specific projects?
Different groups have different levels of experience with open-source software, and different projects can reap different degrees of benefits from using or from releasing open source software. Our internal engagements are based on what's best for our customers and best for the projects - that's what drives decisions around licensing terms and use of open source software.
What is the future for open-source software at Intel? What about for the industry?
Open-source software appears to be an important ingredient in many of the key software stacks used by our customers today and we only expect that ratio to increase in the future.