Interview with Scott, Ubuntu and Upstart developer
The interview with Scott
Tell us a bit about yourself. We’d like to know the man behind the tech. What do you do for a living. How old are you. Married? Children?
I’m 26 years old and grew up in the south-east of England, deep in the country-side. I’ve been into computers ever since my Dad brought a Sinclair ZX Spectrum+ home when I was a small boy, and learned to program them since that’s what you did with those kinds of things.
These days I live in Birmingham with my partner David and our two border collie dogs.
How did you get involved with Ubuntu?
I was pretty involved with the Debian project, originally maintaining GNU Libtool but then inheriting dpkg itself, when I received an e-mail out of the blue from a guy called Mark Shuttleworth who wanted to chat about a project he was starting.
A phone call later and I was on board, as one of the earliest people to join the company that would be eventually known as Canonical.
Has your relationship to the Ubuntu project had an impact in your everyday life?
An interesting question. I would certainly say that Open Source has had an impact in my everyday life, since it has given me an excuse to fly around the world and meet fantastic people wherever I go.
How does Upstart work? What are the major differences between Upstart and init?
Upstart is actually pretty simple; at it’s core, for each task or service that it is managing, it has a state machine that represents the life cycle of that job.

Each step in the cycle represents either a process that is running (pre-start, post-start, pre-stop, post-stop), an action that is performed to the primary process (spawned, killed), an event that is waiting for completion (starting, stopping) or a rest state (waiting, running).
This allows it to provide a great deal of flexibility in the configuration of a service, while providing supervision of it. If a process dies, the machine can follow the green lines and return the job to a running state again in a predictable manner.
The particular innovation is how we decide whether to start or stop jobs; init does this by grouping them into “runlevels”, and other init replacements do this by the use of dependencies. Upstart instead does this by the emission and catching of events.
It didn’t seem like an innovation at the time, since we were expecting to interface this to systems that are already primarily event based such as udev and HAL.
What new capabilities does Upstart bring to Ubuntu now? What should we expect in the future?
So far we’ve been primarily concerned with testing the concepts, and determining whether an event-based system can really work.
In Ubuntu 6.10, we replaced init without replacing any of the ordinary startup scripts. This gave us a chance to “shake down” the code, and see whether the basic job life cycle worked properly.
For Ubuntu 7.04 a lot of the job of mounting filesystems, especially those using software raid (mdadm), devmapper, LVM or EVMS has been made event-based. While this still has some bugs, it allows a great deal of flexibility for “stacking” filesystems.
Our next task is to make the ordinary services event based as well.
Do you feel Upstart could end up being a staple in Linux distributions? What are Upstart’s chances of getting standardized or blessed as the de facto init replacement?
Absolutely; it’s my hope that Upstart will be blessed as the new standard init replacement and service management daemon. I think we first have to demonstrate that it works at all levels, and that it is a stable and well-supported piece of software. And I think we’re well on the way to doing that.
Do you have a blog? Any other way me and our readership could follow your life?
I do have a blog on my website, http://www.netsplit.com/blog/, however I’m the first to admit that I don’t post to it as much as I perhaps should.
Thanks a lot, Scott, for your time and for this wonderful piece of software! Have a great day!
So there you have it: an interview with Scott himself, and lots of information on Upstart. I certainly hope Upstart gets blessed by other distributions and incorporated into the Linux Standard Base.
Pages: 1 2
April 26th, 2007 at 2:01
[...] Interview with Scott, Ubuntu and Upstart developer (rudd-o.com) An interview with Scott James Remnant. [...]
April 26th, 2007 at 3:11
[...] Interview with Scott, Ubuntu and Upstart developer (rudd-o.com) An interview with Scott James Remnant. [...]
April 30th, 2007 at 11:38
[...] * Manuel Amador Briz, at Rudd-O.com, has published an interview with author of Upstart, Scott James Remnant. Upstart is a replacement for init daemon which handles starting of tasks and services during boot, stopping them during shutdown and supervising them while the system is running. Read more at: http://rudd-o.com/archives/2007/04/24/interview-with-scott-ubuntu-and-upstart-developer/ [...]