Originally created for use in Ubuntu, Upstart is suitable for deployment in all Linux distributions as an alternative to the System-V init.
Follow along as Scott James Remnant, Upstart designer, explains what Upstart is and why it’s important to both the end user and developer.
Linux Pro Magazine: Can introduce yourself and explain what your relation to Upstart is?
Scott James Remnant: My name’s Scott James Remnant, I’m a software developer for Ubuntu and member of the Ubuntu Technical Board; having previously been a member of the Debian Project before joining Canonical back in 2004. I designed and have been developing the Upstart init daemon for the last few years.
LPM: I know you used to work for Canonical but recently you’ve made some changes. Can you tell readers a little about your new job and what you’ll be doing?
SJR: After almost seven years working for Canonical on Ubuntu, it was time for a change. I accepted a new job working at Google on their Chrome OS project, which as many of you know is derived from Ubuntu and uses Upstart as one of its core components. I’ll be still working on Ubuntu as well, and will be still a member of the Ubuntu Technical Board.
LPM: Upstart was originally developed for Ubuntu? How did this need come about and what distributions are now using Upstart.
SJR: Lots of needs all came together at similar times that led to the development of Upstart; we wanted to improve not just the speed but also the reliability of the boot process as well as looking to reduce the bloat and overhead of a running Linux distribution - even more important now with the increased popularity of low memory and embedded systems.
LPM: What makes Upstart important?
SJR: It’s part of the ongoing modernisation of Linux distributions, not important in of itself, but as part of the toolbox it’s helpful.
LPM: What impact does Upstart have on the average end user and for the Linux developer?
SJR: For the end user, their computer boots faster, runs faster and is better able to support their hardware. For the Linux developer, it takes care of a lot of the hard work for them.
LPM: Since Upstart is an open source project is there an upstart community? If so, how can people get involved with this project? What is Upstarts greatest need currently, and how can developers help with this need?
SJR: The greatest need is documentation, which happily is something everyone can help with! The Upstart Development Blog and upstart-devel mailing list are great places to start learning about it.
LPM: Is there anything about Upstart I haven’t asked you about that you would like to share with readers. For that matter are there other projects you are working on that you would like to make readers aware of?
SJR: Probably one thing worth discussing is what Upstart’s relationship to systemd is and why Upstart development is carrying on despite systemd existing?
Upstart and systemd have similar goals, but are quite different implementation. While both intend to support the modern system, Upstart works in an event-based manner while systemd is still a traditional dependency-based init system underneath.
I think there’s room for both, and that both projects will benefit from the competition between them. Just as there’s room for both Dpkg and RPM, and both GNOME and KDE. The important thing is that Lennart and I collaborate in certain areas to avoid fragmentation, for example in the current discussion about D-Bus Activation where we’re working together on a common spec we’ll both support.
More information on Upstart can be found on the Upstart Website.