Q&A with Jeff Hoogland, lead developer of Bodhi Linux

52266-bodhi_linux_logo.png

From free, open-source software user, to blogger, then Linux distro developer.

That’s the path of 20-year-old Jeff Hoogland, who in 2010 started Bodhi Linux, a distribution based on Ubuntu that features the latest version of the Enlightenment window manager and key newer applications in a stripped-down base that lets users set things up the way they like them.

I’ve been reading Jeff ‘s Thoughts on Technology blog whenever one of his entries appears in LXer, and he seemed to go from passionate Linux user and advocate to lead developer of Bodhi Linux in maybe a half-dozen blinks of the eye.

Bodhi Linux reached its first stable release — 1.0.0, in March 2011. In my tests of the live image, I’ve found the distro to be functional and conservative in all the right ways — using the Ubuntu 10.04 long-term-support distro as its base, installing a minimum of applications out of the box while offering the latest Enlightement builds just as the window manager has hit a major development milestone, the 1.0 release of its core libraries.

Enlightenment aims to mix a more sophisticated graphical look and feel along with a lighter load on the hardware, and like Jeff I see it as a compelling alternative and worthy addition to the other window managers and desktop environments available for Linux and BSD desktop systems.

With GNOME and KDE undergoing extreme shifts, and Ubuntu trading GNOME for Unity, Bodhi is one of many distributions users can potentially turn to if they want to benefit from Ubuntu’s relatively sturdy — and certainly long-lived — 10.04 LTS base mixed with key newer applications and a new, lighter yet far-from-barebones window manager.

Nice design, an open and growing community and a whole lot of enthusiasm make Bodhi a project to watch in the months and years ahead.

While many open-source developers are young, what stands out for me about Jeff is that his life isn’t all hacking. He lives in the Chicago area, where he’s a student teacher in mathematics. So he’s got a life outside of free, open-source software. But FOSS is part of many aspects of that life.

Jeff asked me recently to review Bodhi, and while I did spend some time in its live environment, I don’t have any hardware ready for testing out new OSes right now and have been getting deeper and deeper into Debian Squeeze for my own workflow.

But I asked Jeff to do an e-mail interview. He agreed. I sent him a flurry of questions. Here’s what he had to say:

Q: Is Bodhi your first experience with development?

A: I’ve worked on some smaller scripting things before, but Bodhi is my first experience with developing a larger project in collaboration with a team of people.

Q: What skills do you rely on for developing Bodhi? What programming/scripting languages do you use to put it together?

A: Personally I only currently do bash scripting and work with Python. The tools for Bodhi (and Enlightenment) are largely written in C . We currently have three team members that work with C and the Enlightenment Foundation Libraries.

Q: You base Bodhi on Ubuntu 10.04. Does that mean you’re using the Ubuntu kernel for that release, or do you use a newer Linux kernel? Regardless of the answer, what are your plans and policy for selecting and updating the kernel, and do you have many kernels to choose from in the Bodhi repository?

A: We ship a newer kernel. Our release candidate ships with the 2.6.35 kernel, and odds are that will be the kernel with the stable release at the end of the month (February).

We do plan to issue kernel updates periodically, but unlike Ubuntu we will not be forcing them onto users, meaning that they will be added to the repository, and an announcement will be posted, but newer kernels will not be automatically downloaded and installed.

We plan to release new Bodhi ISO updates quarterly, and these will include newer default kernels as they are released. Once 2.6.38 is released officially, we will add that to the repository.

Q: How long do you plan to stick with the Ubuntu 10.04 long-term-support base for Bodhi?

A: We plan to go from LTS to LTS, meaning Bodhi will ship an Ubuntu 10.04 base until 12.04 is released.

While we do stay with the LTS for long-term-support reasons, we do include a good deal of recent packages in the Bodhi repository. For instance we have Firefox 4 beta 10 and Chromium 10.65 currently.

Q: What does Enlightenment offer both in terms of its relative impact on resources (memory, CPU, etc.) vs. other window managers and desktop environments as well as functionality? How do you think it stacks up to GNOME, Xfce and LXDE in terms of usability? What are some of the cool/useful features both in Enlightenment and in Bodhi’s particular implementation of it?

A: Enlightenment is about as light as they come, you can tweak an E system to use as little as 60 MB of RAM. A default Bodhi system uses a little bit less than most LXDE distros use, right around 100 MB.

Enlightenment is also much more flexible than other desktops and allows for much more user-customization. You can lose yourself for days in the settings menus.

Q: How close is the Bodhi installer to the Ubuntu installer? Can you create an encrypted home directory during the install like you can in Ubuntu?

A: Bodhi currently uses the Ubiquity installer from Ubuntu 10.04. We are, however, working on creating our own custom installer that is written in C using the Enlightenment Foundation Libraries, whereas Ubiquity is written in Python and GTK, making it fairly slow.

Q: Have you considered making a Bodhi package for Ubuntu that users could use to convert an existing Ubuntu installation to Bodhi? Do you think there will ever be an official Enlightenment edition of Ubuntu?

A: This idea has been kicked around. However, it is not very high on my “to-do” list. Creating something like this would end up being messy to support, in my opinion.

Q: What do you think of the stock Debian and Ubuntu installs of Enlightenment, and how does Bodhi improve on them?

A: Well, for starters we provide an up-to-date version of Enlightenment. Enlightenment development sees about 1000 SVN commits a month. As such any Enlightenment desktop in Debian/Ubuntu repositories is often many months old. Bodhi provides weekly updates to the desktop for our users to download.

Default Enlightenment setups also are not very functional or nice looking without a good deal of tweaking. For instance, Sabayon E17 ships with a fairly standard E desktop, whereas Bodhi provides a number of nice-looking desktops to choose from (see the scrolling images on the main home page). For a new user setting up E17 as Bodhi has done can take hours or days even.

Q: How big is the Bodhi team, what kind of help can you use from the community, and how can people get involved? Do you accept or solicit financial contributions?

A: We currently have seven members on the Bodhi Team as well as over 200 members on our forums already. To get involved, people simply need to sign up on the forums, drop by the IRC channel, or send me e-mail!

We do accept donations via PayPal to JeffHoogland@Linux.com. These donations help offset the server costs for web site hosting and the Bodhi repository. We have had a few donations in the last couple months — enough to keep the web site ad-free, something we hope to be able to do, as ads are super-tacky I feel. That’s why there are none on my blog, even though I see over 40,000 hits a month normally.

Q: How important is it that Bodhi eventually be available in a 64-bit version (it’s currently a 32-bit-only distribution)?

A: We realize 64-bit is important. However, it effectively doubles all of the packaging the team and I do. The goal is to start on a 64-bit version of Bodhi after our stable release of the 32-bit disc.

Q: I noticed on your blog that you’re a mathematics student teacher in Chicago. Do you use FOSS in the classroom?

A: I use Linux & FOSS in the classroom. I have Bodhi installed on my netbook, and I use it with the SMART Technologies interactive whiteboard every day. My favorite applications for teaching mathematics, which I use a fair amount are GeoGebra and KAlgebra.