UsingLaunchpad

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.
    please email me (kiko at canonical.com) if you want to discuss this with me at greater length

    [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.

MeetingLogs/openweekedgy/UsingLaunchpad (last edited 2008-08-06 16:35:59 by localhost)