Ubuntu Open Week - Using Launchpad - Tue, Nov 28, 2006
Question and answer followups to this chat went out via email:
see also Thursday Session.
05:01 kiko okay welcome to this tuesday's session of "Learning to Love Launchpad" 05:01 kiko (the love is cheesy yes but I wanted three identical vowels and Lick wasn't a good choice) 05:01 ailean (consonants :) ) 05:01 kiko so I'll start off pointing the obvious 05:02 kiko launchpad is a tool for both project communication and inter-project collaboration 05:02 kiko when I say project communication I really mean intra-project communication 05:02 kiko and many people have experienced Launchpad in that aspect 05:02 kiko for instance, looking at ubuntu bugs 05:03 kiko or helping translate jokosher (free advertising) 05:03 kiko or even writing a specification for a bzr enhancement 05:03 kiko launchpad can definitely be used to manage your own project 05:04 kiko we offer a few areas of functionality which we like to call applications 05:04 kiko even though the line between them is slightly fuzzy 05:04 kiko they are: 05:04 kiko - bugs 05:04 kiko - translations 05:05 kiko - questions and answers (a.k.a. support) 05:05 kiko - blueprints 05:05 kiko - code (a.k.a. branches) 05:05 kiko this means that your own project can use launchpad today to manage those areas of your work. 05:06 kiko you can use each bit as much as you like -- it's not an all-or-nothing proposition 05:06 kiko so you can choose to use launchpad for bug hosting, but keep your code in subversion for now 05:06 kiko you can choose to take advantage of launchpad's easy translation functionality to kick off a translation project for your software, like jono did 05:07 kiko or you can use launchpad to manage support requests that come in for your project. 05:07 kiko that's the thousand-foot-view of the launchpad applications 05:07 kiko I'll take two questions that came up before now just to keep this less of a monologue!
<neuro_> How straightforward is it to add another distribution to launchpad, i.e. my own fictional distro, neurolinux, or some other non-Ubuntu-based distro?
- adding of distributions is a bit special for technical reasons, because launchpad is used to manage the ubuntu archive, there are certain bits of the distribution management system that are a bit.. let's say.. sensitive to new distros and releases being added. We've worked to simplify that and allow distros to be created without a significant burden on the end-user, but we're Not Quite There Yet
[neuro_] i suppose the question is, is there a documented process that can be followed to a point where a launchpad admin can make things happen, i.e. web forms to fill in, etc
- yes. you can file a new ticket (in /products/launchpad/+tickets) to have your distribution added. the basic bits of metadata are: a name, a description a URL and a team to hold its members.
[neuro_] is it on the wiki, or somewhere else? :)
- it's not actually on the wiki, though that's more of a bug than an explicit consideration. I'll make a note to make these instructions clearer and a faq entry.
<proppy> is launchpad free software ? can i install my own launchpad somewhare and how ? <Jucato> is Launchpad going to be "open sourced" soon? Some people seem to have issues with using a proprietary service like LP.
- these three questions are kind of related as of today, Launchpad is not free software. there are a number of reasons for this. I'll outline the ones which I consider the most relevant
- - launchpad is essentially a centralized service. without debating the merits or disadvantages of a centralized service, I'd like to point out that one of the concerns with releasing Launchpad source code is that a number of different launchpads would pop up with a federated system of launchpad the sort of problems we are trying to solve become different and to an extent more complicated - launchpad is non-trivial to contribute to. we have and will offer NDAs to people willing to assist us in working with the code, but we know that there's a big learning curve and that people are less motivated to work on something for which they will not be able to roll out on their own. we have a pretty serious code review, QA and rollout process (which you can witness on #launchpad) which is not too inviting for people who are interested in making a short one-off contribution. if you are interested, please mail me (kiko at canonical.com) at any time and I'll talk about the process for getting code access. I'd love to have community people come in and help out -- we have limited resources and this is not a small application. - launchpad is non-trivial to /run/. we have about six core servers that are used for day-to-day operations, and something like 10 or 12 that are used for the services which we call upon to collect data. running a similar site would be anon-trivial production exercise, and the code and documentation have not been written to make any of this easily deployable. there are over 40 moving parts that need to be run independently (last I counted at least, and I was depressed at the result!) so it's not a small thing.
[kai[sds]] those are about the same arguments sun had before releasing java. btw. the linux kernel is non-trivial to contribute to and by releasing the source code of it different linux distributions could pop up.
- it's true, and we may reconsider, but those are our arguments today. (or perhaps better put, those are not the exact same arguments, as java and launchpad are very different -- launchpad is a web service, like google. we'd love to reconsider, though, and perhaps we can find a way of doing so if we have some great ideas together)
<HamishTPB> So is LP a service that makes a site similar to sourceforge?
- yes, it's a web service, and in that line, it's somewhat similar to sourceforge. it's not like sourceforge in the sense that it doesn't offer mailing lists or web hosting for free, but you can use it to track bugs and tickets, and you can use it to translate software (which is internationalized using gnu gettext, for now), which is something that SF doesn't offer. we also offer hosting of bzr repositories so there /are/ additional (and particularly interesting) features that you can use on Launchpad today that aren't available elsewhere so we are a bit of a unique platform.
05:25 kiko let me guide you quickly through some of the applications 05:25 kiko so I don't burn up /all/ my time in controversy :-) 05:26 kiko let me start with bugs, because as we know all software has bugs, and software like ubuntu, well, it has LOTS of bugs. 05:26 kiko https://launchpad.net/distros/ubuntu/+bugs 05:26 kiko 20262 of them, to be precise 05:27 kiko this is the master bug listing for ubuntu 05:27 kiko by default it is ordered by importance, which is a single bug property that indicates how important it is /to the project team/ 05:28 kiko the bug listing is batched in sets of 75, so you can navigate to the next batch using those controls at the top 05:28 kiko to get to a bug select the link in the summary 05:28 kiko let's look at a bug chosen from that listing so I can illustrate other points that are a bit unique to malone 05:29 kiko how about bug 68904: 05:29 kiko https://launchpad.net/distros/ubuntu/+source/upstart/+bug/68904 05:30 kiko the bug page gives you a lot of information in the first screen 05:30 kiko the central portion has the bug summary 05:30 kiko the bit I want to call your attention to is the table at the top 05:30 kiko that specific bug lists two rows in the table 05:31 kiko and in the fact that there /are/ two rows shows why the launchpad bug tracker is somewhat unique: 05:31 kiko you can 05:31 kiko oops, that come out wrong! 05:32 kiko a bug can exist in multiple bits or instances of software at the same time. 05:32 kiko this is an interesting bug to point this out in particular 05:32 kiko so distributions in general work by packaging software available upstream 05:32 kiko this is a bug that was initially reported against ubuntu 05:33 kiko meaning that an ubuntu user went and filed the bug while looking at the ubuntu file-a-bug page 05:33 kiko (which is incidentally launchpad.net/distros/ubuntu/+filebug) 05:34 kiko now, the bug was triaged by scott, who happens to maintain the package in ubuntu 05:34 kiko now a bug in a package can really be the responsibility of two different parties 05:35 kiko a) it can be a bug in the original software. most bugs are of this sort. essentially, this is a bug that needs to be fixed in the upstream's version control system, and released to the world in whatever form they do releases; usually tarballs. 05:35 kiko b) it can be a bug in the packaging, meaning that the bug was caused when the original software was reorganized and changed to suit the distribution's policies and layout 05:36 kiko now, this particular bug was filed against ubuntu, and end-users do not need to know if it's a) or b) above 05:36 kiko but the triagers and developers can definitely look at the bug and say "ah, upstream issue" 05:37 kiko a bug will normally start out only filed against a single context. 05:37 kiko let me find you an example. 05:37 kiko https://launchpad.net/distros/ubuntu/+source/update-manager/+bug/69532 05:37 kiko in bug 69532, there is a single row in that table -- the bug was only reported against ubuntu. 05:38 kiko if someone goes in and decides that the bug is actually (or also) an upstream issue, meaning it's case a) above -- a bug in the original software -- any user can go ahead and indicate "Also affects: +Upstream" 05:38 kiko that will allow the user to indicate what upstream software the bug is present in 05:39 kiko and that's how you get to the two-rows situation which is in bug 68904. 05:40 kiko let me close the brief bugs overview by pointing out that the bug tracker has a number of cool features: keeping track of CVEs, an incoming and outgoing email interface (meaning you can manipulate bugs via email too) and bug watches. 05:41 kiko bug watches are one of our most interesting features, and they are basically ways to attach a row [in the Affects: table I described above] to a bug in a remote bugtracker, such as gnome's bugzilla or otherwise. 05:41 kiko let's look at bug 27810 for an example 05:41 kiko https://launchpad.net/distros/ubuntu/+source/libaio/+bug/27810 05:42 kiko this is an interesting bug because it has one ubuntu status, and one debian status. 05:42 kiko the debian status is actually "linked" via a bug watch to debbugs #318795. 05:42 kiko and the status is polled periodically and updated in launchpad 05:43 kiko this means that if you are a packager waiting for a fix to appear upstream or in another distribution, you can simply check your bugmail daily; you will get notified when the remote bug is resolved. 05:43 kiko this is amazingly valuable and people that package a broad variety of software can really save time by keeping tabs on upstream bugs in this fashion. 05:44 antihec nice 05:44 kiko okay, enough bug whirlwinding. 05:44 kiko let me catapult you to another part of launchpad -- translations! 05:44 kiko I'm going to use jokosher as the example here just to demostrate that we are not really ubuntu-specific or even ubuntu-centric 05:44 kiko (though ubuntu does make for a damn good demo!) 05:45 kiko launchpad.net/products/jokosher/+translations 05:45 kiko this will display translation templates available for jokosher in your preferred languages (if selected) or your geoip location (if the geoip and the launchpad databases are not wrong!) 05:46 kiko so 05:46 kiko for instance 05:46 kiko if you are a brazilian weirdo like me 05:46 kiko you can choose to help translate jokosher by following the link to 05:46 kiko https://launchpad.net/products/jokosher/trunk/+pots/jokosher/pt_BR/+translate 05:46 niemeyer There are no brazilians weird like you.. 05:47 kiko if on the other hand you are a chinese rogue translator sumarai sort of person 05:47 kiko https://launchpad.net/products/jokosher/trunk/+pots/jokosher/zh_CN/+translate 05:47 kiko you guys had a rosetta chat yesterday, and this is just an overview of what the tool is. 05:47 kiko I just want to point out one feature which is useful and clears up some confusion: 05:48 kiko translations for a project can be set up in a structured mode 05:48 kiko this means that you don't need to accept translations that happen to be added by J. Random Defacer 05:49 kiko in structured mode, translations made by unprivileged users (people not in the projects' selected translation team) appear as suggestions 05:49 OgMaciel kiko it is worth to mention that there are organized translation teams too... for the weirdo Brazilians, for instance, one can check https://launchpad.net/people/ubuntu-l10n-pt-br as a starting point 05:49 kiko and are not automatically approved 05:50 kiko right. there are a number of translation teams associated to ubuntu and otherwise! if you do know more than one language competently, you can make a big dent in our lack of translations by applying to join a team and working with people to get through the approval process. 05:50 kiko let me zip through other features that are worth discussing. 05:51 kiko (I'll use ubuntu because there is just so much data to make it fun) 05:51 kiko https://launchpad.net/distros/ubuntu/+tickets 05:51 kiko this is the URL to the tickets open on Ubuntu; tickets are part of the launchpad application formerly known as Support and soon-to-be-renamed-as-Launchpad Answers 05:51 kiko (I'll talk a bit about the name change in the next report sent to the launchpad-users mailing list if you are interested) 05:52 kiko this is basically a channel where end-users can post requests for help 05:52 kiko and anybody (ANYBODY!) can offer answers 05:52 kiko answers that the end-user confirms are good get marked as solved 05:52 kiko and the base of solved questions is a good first step towards a faq. 05:53 kiko the answer tracker is a runaway hit for ubuntu -- there are already thousands of requests posted and answered. 05:53 kiko you can use the answer tracker as a way to deal with user requests outside of your bug tracker, and then migrate issues that are actually bugs over 05:53 kiko you can easily file bugs based on a ticket. 05:54 kiko (just look at the left-hand menu that says "Create Bug Report" and "Link Existing Bug") 05:55 kiko helping out in a project's community support is a great way to provide assistance, and I think the answer tracker we have is a cheap way to set a forum up for your own project. 05:55 kiko I need to kick into fifth today (isn't it great when your plans for time go out the window?) 05:57 kiko the remaining apps which I did NOT cover (yay) were the blueprint tracker and the code hosting feature. 05:57 kiko I'll cover them in reverse in my next talk on thursday 05:57 kiko so we can be sure to discuss them there.