Canonical Voices

Daniel Holbach

Meeting your Ubuntu friends elsewhere

It’s just great how easily you can make friends in the Ubuntu world. When I first entered the IRC channels, it took me a few minutes to get to know people, some of them I’m still in touch with, even 7 years later.

The belief that we can make the world a better place together and the excitement about what we’re doing clearly bonds us together. Over the years, I met many of my Ubuntu friends in other places, was it at conferences, holidays or elsewhere – it was always big fun. Even if you can’t travel, the good thing is that there is loads of additional Ubuntu-unrelated places (like social networks, etc.) where you can easily get in touch and keep up with what’s happening in their part of the world.

Yesterday I set up https://wiki.ubuntu.com/Social to make it easier to spot where all your Ubuntu friends are hanging out elsewhere. Please feel free add your team or group to it.

Read more
Daniel Holbach

You were always interested in Ubuntu Development and gave it a try already? Perfect!

With Ubuntu 11.10 almost out the door, we started the planning of the 12.04 (precise) development cycle and we would love to know how well our documentation is known and working today, so we can see what we can improve.

SurveyPlease give us your feedback in this short survey – it just takes a few minutes (if you’re not trying to write a novel in reply). Have your say and help us improve!

Thanks a bunch in advance! :)

Read more
Daniel Holbach

Community Council: Nominations

Community Council member terms expire next month, we are going to have an election in a few weeks. All Ubuntu Members are eligible to vote.

We will announce the details of the election soon. What we want from you now is nominations.

If you know somebody in the Ubuntu community, who

  • has been an Ubuntu member for a while
  • is dedicated to the project
  • is well-respected and known for balanced views and good leadership
  • has a good overview over various aspects of the project
  • is organised and has some organisation talent

(or you know that this all applies to you), please send an email to the Community Council (community-council at lists.ubuntu.com) with the subject “[CC Nomination]” through Thursday, September 29th, 16:00 UTC. If you are nominating someone else, please confirm that the person is willing to stand for election and make note of this in the nomination email.

Originally sent to the ubuntu-news-team mailing list by Elizabeth Krumbach on Thu Sep 15 16:10:12 UTC 2011

Read more
Daniel Holbach

Midnight Sun

See you in two weeks! I’m off to the North of Norway from tomorrow on, so if you have anything urgent you want to discuss, I’m sure one of these fine gentlemen should be able to help you out.

Midnight Sun

Picture by Oddbjørn Steffensen (CC BY-NC-SA 2.0)

Read more
Daniel Holbach

Remarkable people

You don’t see me blogging about things outside the Ubuntu world very often. OK, an occasional mixtape every now and then or some holiday pictures, but I generally try to stay away from topics such as politics or things that happen in the world elsewhere. This is not because I don’t care or don’t have an opinion – it’s quite the opposite. I just prefer to not get drawn into huge arguments about who’s right and I try to avoid writing about and singling out particular events and miss to mention others.

By now most of you will have heard about the horrible events in Oslo. As my girlfriend is from Norway, I paid even more attention to the news. The reason I’m writing about this is that among all the usual suspicions and noise in the news a few people stood out and truly impressed me.

We will stand by our democracy. The answer to violence is more democracy, more humanity.

Jens Stoltenberg, Norwegian PM

I don’t think security can solve problems. We need to teach greater respect.”

Oslo Mayor Stang when asked whether Oslo needs greater security

We had been discussing on the island, how to tackle extremism and racism. We will continue this.

Youth leader who escaped Utøya

If you haven’t read much about Oslo and Utøya in the last days, read these two chilling first-hand accounts of people who survived Utøya: from Khamshajiny Gunaratnam and Debian contributor Tore Sinding Bekkedal.

After all of this, it would have been very much understandable to show any signs of knee-jerk reactions. The people I mentioned above reacted remarkably to the situation. It’s very inspiring how they chose to stand with their humanitarian values. It’s unfortunately very uncommon nowadays, especially for politicians, who in situations like this are under a lot of pressure. These leaders have my deep respect for choosing to do otherwise.

Read more
Daniel Holbach

I love my team…

 

Community team

From left to right: Jorge, me, Jono, Ahmed, David

(Picture by the unstoppable Graham Binns.)

Update: there’s more pictures.

Read more
Daniel Holbach

Need help: video + screencast + chat

To talk about Ubuntu development and what’s going on, I used ustream.tv and was actually quite happy with how it worked without any kind of configuration or meddling. Still it’s not really ideal as it’s hard to show your desktop or a command line to properly how Ubuntu development works.

What I like about it:

  • no configuration
  • social aspect of it and seeing somebody’s face
  • followers will be informed of upcoming videocasts
  • functionality to record and store video sessions
  • chat window available

What I’m missing is:

  • chat logs are not available afterwards
  • not possible to share your desktop to show examples of Ubuntu development

Does anybody have an idea how we could solve this problem?

Read more
Daniel Holbach

I have written about our sponsorship process loads of times already. When new contributors have no upload rights to Ubuntu yet, this process ensures that we get the code reviewed and included in Ubuntu. In the cases you branch a source package, make changes, push to Launchpad and propose a merge. The other alternative is to add a patch to a bug report and subscribe the sponsors team.

Over the last few releases we improved documentation, tools and processes and got more people involved.

I’d like to have your comment as a contributor or as a reviewer: how well does it work for you? What are you remaining gripes? What do you love about it?

Read more
Daniel Holbach

Your chance to get involved!

Barry just spilled the beans about it: we are going to have a dh_python2 porting jam on 23rd June. Here’s what he says:


This Thursday, June 23rd, we are going to have a dh_python2 porting jam. If you know about packaging, and have meddled with Python packaging before, we invite you to hang out and port a load of packages with us.

We have some documentation to explain better what exactly we’re going to be doing, and why:

https://wiki.ubuntu.com/BarryWarsaw/PythonHelpers

You are of course welcome to start working on these, fixing them and getting them included in Ubuntu, but if you wait for the 23rd, we will offer this for you:

  • IRC Training sessions in #ubuntu-pyjam at 1300 and 1800 UTC
  • Lots of fun and good atmosphere
  • Reviewers who can check and upload your code for you. (In addition to

our regular patch pilots we will have additional people to make
sure all merge requests are tended to.)

If this sounds great to you, make sure pencil in this Thursday, June 23rd into your calendar and just show up in #ubuntu-pyjam on irc.freenode.net.


Just to make it clear: you will need a bit of packaging experience to get involved, but hanging out in the channel and working your way through these guides (Intro, Get Set Up, Fix bugs) should be a very good start.

Thanks a lot Barry for organising this – this will be awesome! :-)

Read more
Daniel Holbach

Wanted: Web developer and CSS person!

The Ubuntu Packaging Guide is alive and kicking, but we’re looking for some help rebranding it!

What we need it discussed in bug 740044. Raoul Snyman put some work into it already, so it will make some sense to check out his efforts first. He makes use of Sphinx ability to define a theme. Ronnie sketched up additional mockups which follow the Web Guidelines.

If possible, we’d like to re-use as much of https://launchpad.net/ubuntu-website/light-django-theme as possible.

If you know how CSS inside out and can help us rebrand the HTML version of the Packaging Guide, we’d be forever grateful.

(There’s a few more bugs tagged with ‘look’, so if you enjoy these kinds of things, please consider helping out!)

 

Read more
Daniel Holbach

Weekly Ubuntu Development Update

Ubuntu Development Update

Development of Oneiric (Ubuntu 11.10) is in full swing, we just got Alpha 1 out last week and here’s the list of dates that are coming up in the next few weeks:

  • June 30th, Debian Import Freeze which means that packages will not be synced automatically any more, but have to be requested manually.
  • July 7th, release of Alpha 2.
  • July 11th to 15th, Ubuntu Developer Week! A week full of development tutorials, workshops and interactive sessions.
  • August 4th, release of Alpha 3.
  • August 11th, Feature Freeze until which features have to have mostly landed in Ubuntu. They will of course still have bugs that have to get ironed out, but most of the hard work will be there already.

As you can see times are exciting right now. There is a lot of hard work going on, lots is still broken in Oneiric, but it’s a great time to get your feet wet, try out things and fix a few bugs on the way.

I’m very happy to see that Full Circle Magazine is now having a new series about Ubuntu Development. Issue 49 has the first installment of this. Be sure to check it out!

New Contributor

This week I talked to Paolo Sammicheli, who is an Ubuntu Member from the Italian Community. He was involved in several things like translations, marketing, advocacy and testing. He also is an UDS addict and since UDS Jaunty spent his holidays attending it. He says “This cycle I decided to move my interests into development and I’m slowly learning packaging. Spare time is never enough :)

I asked Paolo what his personal experience of the development was like and he had this to say:

  • Yes, I tried some merges and few sync. The experience was good, also because I’ve found in the Italian Dev Team people willing to mentoring me and being already an Ubuntu Member helped me to find easily who-ask-what.
  • Paolo was struggling a bit to find tasks to work on. Some of the bitesize bugs he tried were solved already, but when he tried a few merges that worked out better for him, because “comparing the previous ubuntu version with the debian version you start understanding how patches works, how tools works and so on.
  • When merging Paolo found it helpful to get in touch with the person who uploaded it last. A bunch of people were happy to review his merge and upload it. In some cases he didn’t get a reply, which was a bit frustrating. Looks like this is something we can all improve!

Get Involved

  1. Read the Introduction to Ubuntu Development. It’s a short article which will help you understand how Ubuntu is put together, how the infrastructure is used and how we interact with other projects.
  2. Follow the instructions in the Getting Set Up article. A few simple commands, a registration at Launchpad and you should have all the tools you need, and you’re ready to go.
  3. Check out our instructions for how to fix a bug in Ubuntu, they come with small examples that make it easier to visualise what exactly you need to do.

Find something to work on

Pick a bitesize bug. These are the bugs we think should be easy to fix. Here’s a few examples:

In addition to that there are loads more opportunities over at Harvest.

Talk to us in #ubuntu-motu on irc.freenode.net to get all your questions answered.

Read more
Daniel Holbach

Development Documentation

I’m happy to say that the Packaging Guide project has seen a lot of activity recently, so a bunch of articles have been improved and new articles been added. Thanks a lot to Andrew, Barry and others.

You can download it or read it on its preliminary home. (Expect an announcement of its new and lasting place soon.)

I got a number of questions about the guide in the last few days and I think it’d make sense to clarify the intention behind the guide. We never intended to rewrite or replace other fantastic documentation about packaging that exists already (think Debian New Maintainers’ Guide, Debian Policy Manual, etc.), but we want to have a place where new contributors to Ubuntu get a good and well-rounded introduction to Ubuntu, plus a more maintainable place for “knowledge-base type” articles that are currently spread across the wiki and other places in varying forms of style or out-of-date-ness.

For the project we need feedback and help. If you are interested in helping out, please check out the list of open requests, read the current guide and file bugs.

I’m very excited about this project and feel the quality of it is getting better and better.

Read more
Daniel Holbach

Getting people involved

As part of my job I have often thought about what motivates somebody to get involved with Ubuntu development or more generally with Open Source development in general. There’s a couple of conclusions I came through, both through my own experience and observations and discussions with others. Here’s my Top 3:

  1. The project needs to be exciting. The atmosphere needs to be welcoming and friendly.
  2. The documentation needs to be clear.
  3. Contributors need to find their first tasks easily.

Regarding 1) I think we’re doing a great job. It’s a lot of fun to be part of the Ubuntu development team and I think almost everybody can easily say that they made lots of friends there. Working on Ubuntu is exciting, because you fix problems not only for you, but also for millions of users.

We’re actively working on 2). The newly revamped Packaging Guide is still work in progress, but expect an announcement soon.

One area of focus for this cycle should be 3). We often face new contributors who say “Yeah, I read all the documentation – what do I do now?” There’s all kinds of tasks we can set for new contributors. We can try to just point them to Harvest, we can involve them in some organised activities, and lots of other things.

In the UDS session “Initiatives to involve new developers” we discussed a very light-weight approach: if you encounter a bug that should be easy to solve, but probably not what you want to work on yourself right now, just

  • tag it as ‘bitesize’,
  • subscribe yourself,
  • add a comment saying that it should be a bug that’s simple to fix and
  • offer your help.

It’s not a huge commitment to help somebody fix one bug, so let’s all try to tag a few more to make sure we give new contributors something to sink their teeth in.

Luckily: there’s a script in oneiric’s ubuntu-dev-tools, that does just that: it’s called “bitesize”. :-)

Read more
Daniel Holbach

New Harvest release: RSS awesomeness

Dylan McCall is rocking Harvest again. We just got Harvest 0.2.8 out the door. Among some great other fixes, we finally added RSS feeds. You can now subscribe to opportunities of certain packages and also subscribe to the last 25 opportunities that came in. This is absolutely fantastic news and a great way to stay up to date.

Thanks a lot Dylan for all the awesome work!

If you want to help out, check out the list of bugs.

Read more
Daniel Holbach

UDS in Budapest is awesome. Not only is the city beautiful, the food delicious and the venue great but also are the people just fantastic. I’m having a great time and will soon blog about my plans for the next cycle.

For now I just want to point out that there’s going to be a session with Mark (and the Community Council) on Wednesday, 11th May 2011 at 17:05. It will happen at UDS in room Pet?fi. Be there and ask your questions (how to participate from remote).

Update: The session is in the same time-slot, but moved to the room Kazinczy.

Update 2: The session was moved again. Same time, but in Jokai.

Read more
Daniel Holbach

Ubuntu 11.04 released!

Another great release is out. I just had to count through all of the release names and can’t believe it’s actually the 14th release I installed, tested and enjoyed.

To almost all of the releases I made modest contributions (I wasn’t that much involved during the first one yet), but what always excited me even more was to see new people get on board, learn, enjoy what they’re doing and take on responsibility in making Open Source software even better.

During the Oneiric (11.10) cycle, I want to work harder on reaching out to new contributors, helping them get started and hit the ground running. If you always thought about contributing to Ubuntu or Open Source in general and haven’t started yet, Oneiric is going to be YOUR cycle!

Read more
Daniel Holbach

Shutting down the sounder mailing list

The Community Council has regularly been made aware of recurring problems on the sounder list. In the last few months, the tone and atmosphere doesn’t match any other Ubuntu mailing lists or IRC channels – including #ubuntu-offtopic. At one point, Mark reached out to remind everyone how we want to communicate with each other. Still debates kept getting out of hand and were mostly wildly unrelated to Ubuntu. Alan reached out again and made clear that the list had long moved away from its initial focus and welcoming atmosphere. No solutions for the problem were brought up in the list discussion or in the Community Council meeting.

In the meeting on April 19th the CC decided to shut down the Sounder mailing list. In essence, this is a decision to prune areas of the project which are off-topic or ungoverned, on the basis that they distract from our shared community focus on the goal of delivering free software in the best possible state, on particular terms (free of charge, cadence). While we appreciate that the Sounder list (and possibly other, similar forums) provide a particular social release for those who use them, we think there are better forums for each of the varied topics discussed there. Some of those are inside the project, most are elsewhere.

Thanks for all the fun moments on the list, see you elsewhere.

Read more
Daniel Holbach

I just set up a daily build for the Ubuntu Packaging Guide. To get the latest goodness, simply:

  1. sudo add-apt-repository ppa:ubuntu-packaging-guide-team/ppa
  2. sudo apt-get update
  3. sudo apt-get install ubuntu-packaging-guide
  4. <point your browser to /usr/share/doc/ubuntu-packaging-guide>

Once installed, you get a handy packaging guide in PDF, HTML, Single HTML and ePub formats.

If you have any feedback from the guides, please file bug reports. Also can we need some help massaging the old packaging guide into reStructuredText. Have a look at the open bug reports to see what we’re currently working on and looking for.

Read more
Daniel Holbach

I’ve been slacking a bit when it comes to DJing land picked it up this year again. Some of my mixtapes are on a part of my blog that’s not syndicated, but I set up a page with all the posts. I just posted a new one today.

If you have no plans tonight and you’re in Berlin, come to the GNOME3 Launch Lounge (Facebook event page) in c-base tonight. I’ll be playing there as well. :-)

Read more
Daniel Holbach

This is another article of the new Ubuntu Packaging Guide project. Please leave your comments below, or report a bug on it, or start helping out. Just branch the code and get involved.

The article below is all about fixing bugs in Ubuntu.


Fixing a bug in Ubuntu

Introduction

If you followed the instructions to get set up with Ubuntu Development, you should be all set and ready to go.

As you can see in the image above, there is no surprises in the process of fixing bugs in Ubuntu: you found a problem, you get the code, work on the fix, test it, push your changes to Launchpad and ask for it to be reviewed and merged. In this guide we will go through all the necessary steps one by one.

Finding the problem

There is a lot of different ways to find things to work on. It might be a bug report you are encountering yourself (which gives you a good opportunity to test the fix), or a problem you noted elsewhere, maybe in a bug report.

Harvest is where we keep track of various TODO lists regarding Ubuntu development. It lists bugs that were fixed upstream or in Debian already, lists small bugs (we call them ‘bitesize’), and so on. Check it out and find your first bug to work on.

Figuring out what to fix

If you don’t know the source package containing the code that has the problem, but you do know the path to the affected program on your system, you can discover the source package that you’ll need to work on.

Let’s say you’ve found a bug in Tomboy, a note taking desktop application. The Tomboy application can be started by running /usr/bin/tomboy on the command line. To find the binary package containing this application, use this command:

$ apt-file find /usr/bin/tomboy

This would print out:

tomboy: /usr/bin/tomboy

Note that the part preceding the colon is the binary package name. It’s often the case that the source package and binary package will have different names. This is most common when a single source package is used to build multiple different binary packages. To find the source package for a particular binary package, type:

$ apt-cache show tomboy | grep ^Source:

In this case, nothing is printed, meaning that tomboy is also the name of the binary package. An example where the source and binary package names differ is python-vigra. While that is the binary package name, the source package is actually libvigraimpex and can be found with this command (and its output):

$ apt-cache show python-vigra | grep ^Source:
Source: libvigraimpex

Getting the code

Once you know the source package to work on, you will want to get a copy of the code on your system, so that you can debug it. This is done by branching the source package branch corresponding to the source package. Launchpad maintains source package branches for all the packages in Ubuntu.

Once you’ve got a local branch of the source package, you can investigate the bug, create a fix, and upload your proposed fix to Launchpad, in the form of a Bazaar branch. When you are happy with your fix, you can submit a merge proposal, which asks other Ubuntu developers to review and approve your change. If they agree with your changes, an Ubuntu developer will upload the new version of the package to Ubuntu so that everyone gets the benefit or your excellent fix – and you get a little bit of credit. You’re now on your way to becoming an Ubuntu developer!

We’ll describe specifics on how to branch the code, push your fix, and request a review in the following sections.

Work on a fix

There are entire books written about finding bugs, fixing them, testing them, etc. If you are completely new to programming, try to fix easy bugs such as obvious typos first. Try to keep changes as minimal as possible and document your change and assumptions clearly.

Before working on a fix yourself, make sure to investigate if nobody else has fixed it already or is currently working on a fix. Good sources to check are:

  • Upstream (and Debian) bug tracker (open and closed bugs),
  • Upstream revision history (or newer release) might have fixed the problem,
  • bugs or package uploads of Debian or other distributions.

If you find a patch to fix the problem, say, attached to a bug report, running this command in the source directory should apply the patch:

$ patch -p1 < ../bugfix.patch

Refer to the patch(1) manpage for options and arguments such as --dry-run, -p<num>, etc.

Testing the fix

To build a test package with your changes, run these commands:

$ bzr bd -- -S -us -uc
$ pbuilder-dist <release> build ../<package>_<version>.dsc

This will create a source package from the branch contents (-us -uc will just omit the step to sign the source package) and pbuilder-dist will build the package from source for whatever release you choose.

Once the build succeeded, install the package from ~/pbuilder/<release>_result/ (using sudo dpkg -i <package>_<version>.deb). Then test to see if the bug is fixed.

Documenting the fix

It is very important to document your change sufficiently so developers who look at the code in the future won’t have to guess what your reasoning was and what your assumptions were. Every Debian and Ubuntu package source includes debian/changelog, where changes of each uploaded package are tracked.

The easiest way to do this is to run:

$ dch -i

This will add a boilerplate changelog entry for you and launch an editor where you can fill out the blanks. An example of this could be:

specialpackage (1.2-3ubuntu4) natty; urgency=low

  * debian/control: updated description to include frobnicator (LP: #123456)

 -- Emma Adams <emma.adams@isp.com>  Sat, 17 Jul 2010 02:53:39 +0200

dch should fill out the first and last line of such a changelog entry for you already. Line 1 consists of the source package name, the version number, which Ubuntu release it is uploaded to, the urgency (which almost always is ‘low’). The last line always contains the name, email address and timestamp (in RFC 5322 format) of the change.

With that out of the way, let’s focus on the actual changelog entry itself: it is very important to document:

  1. where the change was done
  2. what was changed
  3. where the discussion of the change happened

In our (very sparse) example the last point is covered by (LP: #123456) which refers to Launchpad bug 123456. Bug reports or mailing list threads or specifications are usually good information to provide as a rationale for a change. As a bonus, if you use the LP: #<number> notation for Launchpad bugs, the bug will be automatically closed when the package is uploaded to Ubuntu.

Committing the fix

With the changelog entry written and saved, you can just run:

debcommit

and the change will be committed (locally) with your changelog entry as a commit message.

To push it to Launchpad, as the remote branch name, you need to stick to the following nomenclature:

lp:~<yourlpid>/ubuntu/<release>/<package>/<branchname>

This could for example be:

lp:~emmaadams/ubuntu/natty/specialpackage/fix-for-123456

So if you just run:

bzr push lp:~emmaadams/ubuntu/natty/specialpackage/fix-for-123456
bzr lp-open

you should be all set. The push command should push it to Launchpad and the second command will open the Launchpad page of the remote branch in your browser. There find the “(+) Propose for merging” link, click it to get the change reviewed by somebody and included in Ubuntu.

Read more