Copy Link
Add to Bookmark
Report

Interview: Colin Watson - Ubuntu Developer

Colin Watson is one of the lead developers for Ubuntu and is an employee at Canonical. Here we ask him how he first got involved, what he likes best about the Ubuntu community and about his most uplifting experience.

eZine's profile picture
Published in 
Full Circle Magazine
 · 1 year ago

Written by Robert Clipsham


How long have you been programming?

Since I was 7, so a little over 20 years. My parents got me a ZX Spectrum+, and I taught myself to program in BASIC. The first language I learnt that I still use today would be C, which I think I picked up around the age of 17.


How long have you been involved with Ubuntu?
I was one of the founding members of the Ubuntu core development team. I started working on Ubuntu in May 2004 upon being employed by Canonical (though neither Ubuntu nor Canonical were called that back then). Memory is unclear, but it's possible I was involved in coming up with the name "MOTU"


How has your experience as a MOTU developer been?
With the same caveat (core developer), it's been amazing; I love being in a position to set up a really well-integrated system across the board with a minimum of bureaucracy, and of course it's hugely rewarding to see Ubuntu get so much favourable attention. It's been a lot of work but well worth it so far.


How has your experience been with the community been?
I've been very impressed with how much the Ubuntu community's grown in three years, and how incredibly active it has been. I've also been pleased that it generally works as a community; it doesn't tend to get stuck in endless back-and-forth or mired in bureaucracy. That's all been great to see.


Are you also working with upstream (or Debian)? If yes, how is that experience?
I've been a Debian developer since early 2001, and that hasn't changed. Naturally there's only so much time you can put into operating system development in the day and remain sane, but I try to contribute what I can in my free time even though it's my day job too; I still care very much about both projects, and I think there's plenty of room for them both to excel. While I've had a few arguments with people about details of whether such-and-such a change should have been contributed back to Debian or not, on the whole I've tried to stay clear of flamewars on the subject, and I find that I still work well with Debian developers on a technical level. I'm happy with this situation and it all seems quite stable now.


How much time did it take you to become a developer?
Well, um, I think it might have been a couple of weeks after I started at Canonical until the very first Ubuntu archive was actually in place so that we could upload to it ...


Have you had any uplifting experiences while working for Ubuntu and its community?
The Warty preview release was really quite something. I'd been up for goodness knows how long dealing with the release (I'm in charge of cdimage.ubuntu.com and releases.ubuntu.com, so I was the one who had to put all the files in place and press the Big Red Button), and straight after that I went off to sleep for 16 hours. When I got back, #ubuntu had EXPLODED; it took me a solid hour to catch up with all the activity there, when previously it had been this quiet little development channel. I think a lot of us had a "wow, people might actually be interested in this stuff" moment around then.


What do you see happening in Ubuntu's future?
I don't see it slowing down, certainly. By next year, if all goes to plan, we'll have another long-term-support release under our belt, and this time we'll have had the experience of 6.06 to learn from, so I think it'll work out pretty well. I think that will give us an excellent base for expanding into bigger audiences.


What do you think the best way for the Ubuntu community to help with Ubuntu?
I can really only point to https://wiki.ubuntu.com/ContributeToUbuntu for this; people have such a variety of different skills that could be put to good use. We're definitely always in need of new developers and even core developers who can put concerted effort into improving the quality and reliability of Ubuntu, though, and people who can accurately sift through bug reports to find items that developers need to work on.


Which part of Ubuntu do you like developing the most?
Given that I've spent a good chunk of the last three years working on the installer, it's probably not surprising that that's what I enjoy most. I think I like installer work because it's somehow immensely satisfying to build a system up from the very bottom, and to be the first experience people have with the operating system. There's still plenty of variety there, even though the installer manifestly works well for so many people, just because hardware always manages to find more weirdness to throw at us.

For somewhat similar reasons, I suppose, I also like working ondistribution infrastructure: the bits you never really bother to look at that work out the full list of packages we need to ship, or the process of kicking off a new development distribution after we release. I think it's fun to be in at the ground floor.


Is there anything you would like to see in Ubuntu in the future?
I'd like to have integrated support for producing custom Ubuntu CD images. I'd like to have the graphical installer be more reliable and more flexible, particularly in terms of partitioning. I'd like to make a concerted assault on excessive use of system memory.

In general, I would like to start a big push for systematic improvements in quality and reliability. My parents seem quite happy with their Ubuntu system, but it still breaks fairly frequently in ways they don't know how to fix. I certainly don't mind helping them out, but it really shouldn't break to start with, or when it must break it should be clearer what to do (for example, the whole user interface around fsck is difficult for end users). One thing we're doing in Gutsy is to make the system more robust against running out of disk space, so you can still log in and clean up some files. There's lots of that kind of thing to be tackled.


What advantages does Ubuntu have over other Linux distributions?
It has a functional and enthusiastic development community, together with strong commercial backing to make sure that it keeps moving forward and to do the boring jobs like infrastructure. I think we've struck the best balance there of any distribution I've seen: on controversial decisions the community really has overruled the company at times when its technical arguments have been stronger. We have the superb basis of Debian, and developers with plenty of experience in some very central parts of Debian so that we aren't just riding on its coat-tails. We release often yet have the LTS releases for people who want a slower upgrade cycle. We have a strong belief in having things Just Work.


Is Ubuntu the first Distribution you have worked on?
No; as mentioned above, I worked on Debian before Ubuntu. I used (but never developed) Red Hat for about a year before switching to Debian, but that's the extent of my distribution experience.


When did you first start developing Ubuntu?
May 2004.


What programming language(s) do you need to develop Ubuntu?
Personally, I use an ad-hoc mixture of C, shell script, Python, and Perl; that's skewed because d-i (the installer you see on our alternate install CDs) is written in C and shell, though new development work in Ubuntu is usually in Python where possible. You need to have a basic working familiarity with GNU Make in order to handle Debian/Ubuntu-style packaging, too. Areas of Ubuntu other than those I tend to work in may have their own requirements.

I've picked all of these up over the years, so it's very hard to say how long it took me to master them. C took several years, though I was going through university at the same time. Shell and make were just things I absorbed gradually based on what I needed at the time. I taught myself Perl and Python in a few weeks each with lots of reading. Really, the more languages you're used to, the easier it gets to pick up new ones. I very much recommend a broad education in as many languages as you can so that you don't get stuck in a rut.


What advice would you give to someone wishing to help out with Ubuntu?
There is no better advice in my book than to find something you care about and make it better. I learnt Perl because a program I was writing for fun was ridiculously slow in shell. The point where I really got into serious Debian development was when I started working on man-db (the 'man' program and so on) because nobody else was doing so, and fixing swathes of bugs that had been annoying lots of people. I started working on d-i because I needed to do so in order to get Debian to install on my new PowerBook.

There's no harm in asking questions, but spend your own time doing your own research too. It will take longer the first time, but in order to be a serious developer you need to cultivate the skill of finding things out for yourself, whether it be from manual pages or the source code or the web or whatever; it will save you time in the long run because you'll be able to find things out even when the experts aren't around; and people will have a higher opinion of you if you demonstrate the capacity to learn quickly.

Be bold. We like people who make themselves experts in a field and are consistently right and helpful. Don't wait for somebody to give you permission to do that.

Remember that everyone else had to learn everything from scratch! None of the core development team were born with experience of Ubuntu, or Debian, or wherever we started; we all had to learn it too.

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

lostcivilizations's profile picture
Lost Civilizations (@lostcivilizations)
6 Nov 2024
Thank you! I've corrected the date in the article. However, some websites list January 1980 as the date of death.

guest's profile picture
@guest
5 Nov 2024
Crespi died i april 1982, not january 1980.

guest's profile picture
@guest
4 Nov 2024
In 1955, the explorer Thor Heyerdahl managed to erect a Moai in eighteen days, with the help of twelve natives and using only logs and stone ...

guest's profile picture
@guest
4 Nov 2024
For what unknown reason did our distant ancestors dot much of the surface of the then-known lands with those large stones? Why are such cons ...

guest's profile picture
@guest
4 Nov 2024
The real pyramid mania exploded in 1830. A certain John Taylor, who had never visited them but relied on some measurements made by Colonel H ...

guest's profile picture
@guest
4 Nov 2024
Even with all the modern technologies available to us, structures like the Great Pyramid of Cheops could only be built today with immense di ...

lostcivilizations's profile picture
Lost Civilizations (@lostcivilizations)
2 Nov 2024
In Sardinia, there is a legend known as the Legend of Tirrenide. Thousands of years ago, there was a continent called Tirrenide. It was a l ...

guest's profile picture
@guest
2 Nov 2024
What is certain is that the first Greek geographer to clearly place the Pillars of Hercules at Gibraltar was Eratosthenes (who lived between ...

guest's profile picture
@guest
1 Nov 2024
Disquieting thc drinks has been quite the journey. As someone keen on unpretentious remedies, delving into the in every respect of hemp has ...

guest's profile picture
@guest
29 Oct 2024
hi Good day I am writing to inform you of recent developments that may impact our ongoing operations. This morning, global news outlets hav ...
Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT