User login

Interview: Bryan Ã˜stergaard

Could you briefly introduce yourself?

I'm the founder of the Exherbo Linux
distribution and have been an active participant in the open source community since the late 90ies. Besides work on Exherbo I've also spent 4 years as a Gentoo Linux developer and about a year as a freenode staff member.

What will your talk be about, exactly?

For my talk I'm going to discuss 10 small but significant ways that Exherbo improves on known distribution concepts. I'm going to focus on how users as well as developers benefits from our ideas as well as touch some of the technical details behind them.

What do you hope to accomplish by giving this talk? What do you expect?

One of my biggest hopes for Exherbo is that other open source projects can benefit from our ideas and implement them in their own projects. That would be an important confirmation that we're on the right track and would help foster the open source community that we're all part of.

With that in mind I've formed my talk with the express goal that everybody should be able to take one or more good ideas back to their projects. And while my talk will be focused on mainly distribution related problems several of the ideas should be applicable to other types of projects as well.

Why did you decide to start with Exherbo after spending 4 years as a Gentoo developer?

I left Gentoo after getting increasingly frustrated with the direction it was taking and lack of important new features and being (in some ways at least) the center of many internal fights. At the time I was leading Gentoo developer relations as well as being a council member and leading a handful of smaller technical teams and quickly on my way to burning out.

After realising this I left Gentoo and after cooling down a bit I started thinking about what I wanted to do now. I had a lot of ideas about what I wanted to do differently but wasn't quite ready to start my own project at this point. After a while a began experimenting with building my own distribution from scratch and was lucky enough to hook up with a few developers that shared most of my ideas and wanted to work on my project.

How big is the Exherbo developer community?

At this point we're about 20 official Exherbo developers and probably the same amount of users contributing code. Some of the users contribute code fairly frequently and are able to get their code in the official repositories almost as quickly as the official developers.

What do you consider the biggest advantage of Exherbo?

From my own point of view it would have to the amazing rate at which we've been able to come up with new ideas and implement them, often changing several major features in a single day.

From a users point of view it would probably be the way we have decentralised development and enabled users to easily participate in the development without having to make any commitments to the project.

The project website says that "current source based distributions were a good starting point. However, to provide what we need and what we want, a new generation of tools and development is required." Which kinds of tools are missing in other source based distributions?

Other source based distributions follows a fairly closed development model that relies on a particular group of developers doing most, if not all the work and a somewhat complex organisation model that's supposed to help solve internal problems. The most common solution when technical problems (such as packages not getting timely updates) occurs is to add more developers to the organisation. Unfortunately this also tends to amplify any organisational problems.

So I'm going in a totally different direction with Exherbo and deliberately trying to keep the amount of developers minimal and instead make sure that we have the tools and infrastructure needed for a much more distributed model. This way we can keep the core team small and make sure we agree on the direction of Exherbo and still benefit from a big number of contributers.

Exherbo will implement Genesis, a replacement init daemon. How will it compare to existing replacements, such as Upstart, launchd and Service Management Facility? What's wrong with these alternatives?

Genesis is one of the few larger projects remaining in Exherbo before I'd consider it ready for wider usage.

I've been looking at all the current initsystems to see which one of them would fit Exherbo and my own ideas best. They all seem to have a few ideas that I really like but also fail badly in some areas important to me. After spending a couple weeks researching this subject and considering the different options I decided it would be best to write a completely new initsystem. The reason I finally decided on this instead of contributing to an existing initsystem is
that I want to take it in a fairly different direction from the other systems.

Most current systems focuses primarily on starting and stopping services with maybe one or two small features added. But if you sit down and try to make up some use cases for initsystems you quickly come to the conclusion that just starting and stopping services is only a very small part of what's needed.

Network administrators need to control services across complex network for example. Today this problem is solved by systems like puppet or cfengine that periodically poll servers using their own scripts as the initsystems are completely focused on single machines and don't really provide any useful features for network administrators.

This leads to a bunch of other problems as polling service status doesn't really help the administrator detect problems like services repeatedly segfaulting and restarting. These are problems that a redesigned initsystem could easily solve in my opinion and worth solving these problems for many people even if it's going to remove backwards compatibility and require some time to learn the ropes of a new and different system.

What's the status of the project at this moment? And what can we expect from Exherbo in the next 2 or 3 years?

We're still adding new features fairly often and sometimes making the upgrade path a bit more interesting than people are used to from other Linux distributions. As such we still consider Exherbo to be in the early development and don't provide any real user support yet.

2 or 3 years from now I expect Exherbo to have left the current phase and be considered a full-blown distribution along the lines of other source based distributions. I'd also still expect new features to be added frequently as we try to make sure that we can still provide big changes without requiring complicated upgrade paths for users.