launchpad2

Ubuntu Open Week - Introduction to Launchpad - Matthew Revell - Fri, Apr 27, 2007

see also Monday Session.

TZ UTC-4

(12:03:16 PM) mrevell: Welcome to the "Introduction to Launchpad" session! Thanks for attending.
(12:03:31 PM) mrevell: Over the next hour, I'll take you through what makes Launchpad special.
(12:04:00 PM) mrevell: I'll also invite you to read through the logs of previous Launchpad-related sessions in Ubuntu Open Week.
(12:04:28 PM) mrevell: And towards the end of the session I'll be very happy to answer any questions that we have time for.
(12:04:34 PM) mrevell: Let's start with an overview of what Launchpad is:
(12:05:07 PM) mrevell: Launchpad is a web-based application to help people work on free software projects. It has five main tools:
(12:05:16 PM) mrevell: * bug tracker
(12:05:21 PM) mrevell: * code hosting
(12:05:26 PM) mrevell: * translations
(12:05:31 PM) mrevell: * blueprint tracker
(12:05:36 PM) mrevell: * answer tracker.
(12:05:41 PM) mrevell: What makes Launchpad really special, though, is its approach to collaboration.
(12:05:52 PM) mrevell: Launchpad was originally built to make it easy to create Ubuntu.
(12:06:02 PM) mrevell: Ubuntu is made up of the work of hundreds of different communities.
(12:06:15 PM) mrevell: Launchpad makes it easy for those communities to work together when they face shared problems.
(12:06:34 PM) mrevell: Take a look at https://launchpad.net/~matthew.revell
(12:06:43 PM) mrevell: This is my Launchpad profile page. Try not to laugh at the bad photo :)
(12:07:01 PM) mrevell: However bad it is, that photo's pretty useful. It appears on pages of my work and makes it easy to see what I've worked on.
(12:07:20 PM) mrevell: On my profile page, you can get an idea of what interests me and what work I've done in Launchpad.
(12:07:38 PM) mrevell: The "Most active in" section shows you which projects I've worked on recently and what sort of work I did.
(12:07:49 PM) mrevell: Unsurprisingly, Launchpad is top of my list!
(12:08:07 PM) mrevell: The two icons there show you that I've recently worked on bugs and blueprints related to Launchpad.
(12:08:35 PM) mrevell: You can also see how to contact me and which teams I've joined.
(12:08:54 PM) mrevell: Launchpad teams make it easy for groups of people to organise themselves. Anyone can create a team.
(12:09:18 PM) mrevell: Teams can do just about anything that an individual can. For example: they can join other teams or act as the bug contact for a project.
(12:09:54 PM) mrevell: Before we get down to the individual parts of Launchpad, I'd like to explain some terminology.
(12:10:06 PM) mrevell: Communities are groups of people who work on software. They're not necessarily the originators of that software.
(12:10:22 PM) mrevell: For example: there are many communities who work with code from Firefox. There's the original Firefox team, the Debian packagers, the Ubuntu Firefox/Mozilla team, the Epiphany team and so on.
(12:10:40 PM) mrevell:  
(12:10:49 PM) mrevell: Okay, let's look at the Launchpad bug tracker. It's probably the Launchpad tool that you know best and you may know it by its old name, Malone.
(12:11:09 PM) mrevell: You probably know that free software projects share code all the time. Take the Jokosher audio editor, for example. It relies on code from Gstreamer, Python, Gnome and other projects.
(12:11:37 PM) mrevell: Similarly, Linux distributions take the work of free software projects and package them up for people to use. They sometimes make changes to the code and also act as a frontline for when people report bugs.
(12:12:06 PM) mrevell: All of this means that bugs in free software aren't always reported to the people who wrote the code in the first place.
(12:12:30 PM) mrevell: With Launchpad, you can follow a bug as it affects each individual community.
(12:12:45 PM) mrevell: For example, let's look at: https://bugs.launchpad.net/ubuntu/+bug/92345
(12:13:13 PM) mrevell: At the top of the page is a table that shows the communities that this bug affects.
(12:13:35 PM) mrevell: Each community sets its own status and importance for the bug but can share the same comment history.
(12:13:54 PM) mrevell: At a glance, you can see if someone has found a solution to the bug.
(12:14:13 PM) mrevell: You can also follow the full conversation that has taken place so far.
(12:14:36 PM) mrevell: With bug 92345, you may have noticed that two of the communities affected don't even use Launchpad.
(12:14:49 PM) mrevell: That's no problem.
(12:14:58 PM) mrevell: Much like your blog feed reader, Launchpad follows bugs in other bug trackers, including BugZilla, Roundup, Debian Bug Tracker and Sourceforge.
(12:15:16 PM) mrevell: Okay, so it's really cool that Launchpad makes bug tracking a hundred times more useful for free software projects.
(12:15:32 PM) mrevell: But it also gets the basics right too.
(12:15:44 PM) mrevell: Here's a short list of some of the cool stuff that Launchpad's bug tracker has going for it:
(12:15:51 PM) mrevell: * Easy to use web interface.
(12:15:57 PM) mrevell: * Email interface.
(12:16:05 PM) mrevell: * Bug tagging - create ad-hoc groups of bugs.
(12:16:09 PM) mrevell: * Fully hosted service - no sysadmin work.
(12:16:15 PM) mrevell: * Works with other parts of Launchpad, such as code hosting and the blueprint tracker.
(12:16:58 PM) mrevell: Bjorn, part of the team that looks after the Launchpad Bug Tracker, gave a session at the beginning of Ubuntu Open Week on triaging bugs with Launchpad.
(12:17:37 PM) mrevell: You can find the session log at https://wiki.ubuntu.com/MeetingLogs/openweekfeisty/triaging
(12:17:54 PM) mrevell: Ok, onto Code Hosting.
(12:17:56 PM) mrevell: Launchpad works with the Bazaar version control system. Bazaar is a distributed version control system.
(12:18:06 PM) mrevell: That means everyone has their own code repository (called a branch in Bazaar terms).
(12:18:17 PM) mrevell: Unlike with CVS or Subversion, you don't need special permissions to start work on someone else's code.
(12:18:28 PM) mrevell: Instead, you create your own branch and work on that.
(12:18:41 PM) mrevell: It's then easy to merge your changes back into the original branch.
(12:19:04 PM) mrevell: Hosting a branch publicly is really easy. All you need is a standard web server.
(12:19:40 PM) mrevell: You can find out more about Bazaar in the log of Martin Pool's session from Monday
(12:19:42 PM) mrevell: https://wiki.ubuntu.com/MeetingLogs/openweekfeisty/Bazaar
(12:19:54 PM) mrevell: Launchpad makes Bazaar even more useful.
(12:20:07 PM) mrevell: One of the problems with distributed version control is that it can be hard to find all the branches associated with your project.
(12:20:24 PM) mrevell: Launchpad solves that.
(12:20:36 PM) mrevell: It has a browsable code catalogue for each project.
(12:20:45 PM) mrevell: Anyone can register their branch to show up in your project's branch list.
(12:21:00 PM) mrevell: You can see how active each branch is, read the developer's commit messages and create your own branch at any time.
(12:21:18 PM) mrevell: Importantly, Launchpad can either directly host the branches or mirror them.
(12:21:33 PM) mrevell: This means they're always available for anyone to create their own branch.
(12:21:45 PM) mrevell: Take a look at the branches for Ubuntu's Update Manager:
(12:21:54 PM) mrevell: https://code.launchpad.net/update-manager
(12:22:10 PM) mrevell: You can see the main development branch but people have also created their own branches to work on their priorities.
(12:22:27 PM) mrevell: Bazaar makes it really easy for development to take different directions, while Launchpad helps make sure it's all accessible from one place.
(12:22:53 PM) mrevell: Now, take a look at the Bazaar project's branches:
(12:23:01 PM) mrevell:  https://code.launchpad.net/bzr
(12:23:15 PM) mrevell: Notice the small bug icons?
(12:23:25 PM) mrevell: If you created a branch to fix specific bugs, you can link the branch to the relevant bug reports.
(12:23:40 PM) mrevell: With a link between a bug report and the branch that fixes it, everyone can now easily get hold of a bug's solution.
(12:23:54 PM) mrevell: On that page you can also see several branches registered to the Bazaar Developers team.
(12:24:12 PM) mrevell: These are team branches.
(12:24:19 PM) mrevell: They're hosted centrally, on Launchpad, and only members of the Bazaar Developers team can commit to them.
(12:24:41 PM) mrevell: Team branches are ideal for working together on a major line of development.
(12:24:44 PM) mrevell: Anyone can still create their branch, though.
(12:25:06 PM) mrevell: Finally, Launchpad can make a continuous import of almost any CVS or Subversion repository hosted on the internet.
(12:25:25 PM) mrevell: This means that you can create your own Bazaar branch of the code and your own line of development.
(12:25:42 PM) mrevell: With Bazaar's bzr-svn plugin, and the appropriate commit access, you can even commit your code back to Subversion repositories.
(12:26:16 PM) mrevell: You can find out more about hosting code with Launchpad in the log of Jono Lange's session "Hosting Code with Launchpad" - https://wiki.ubuntu.com/MeetingLogs/openweekfeisty/lpbazaar
(12:26:30 PM) mrevell: Onto Translations!
(12:26:41 PM) mrevell: Launchpad Translations, formerly known as Rosetta, takes the pain out of translating software into different languages.
(12:26:52 PM) mrevell: Much of the free software world uses GNU's GetText.
(12:27:08 PM) mrevell: Developers put markers in their code to show where GetText should insert a string of interface text.
(12:27:18 PM) mrevell: GetText uses a certain file format to store translated strings.
(12:27:26 PM) mrevell: Although it's simple enough, the truth is that translators shouldn't have to be coders.
(12:27:43 PM) mrevell: Launchpad shields translators from the underlying complexities and gives them a simple web interface.
(12:27:56 PM) mrevell: Launchpad currently works with 237 languages and has more than 760,000 strings in its database.
(12:28:05 PM) mrevell: Naturally, the same phrases occur in the interfaces of many applications.
(12:28:16 PM) mrevell: When someone is translating an application, Launchpad checks its database to see if it has already seen those strings in that language. If it has, it suggests them to the translator.
(12:28:38 PM) mrevell: Launchpad also gives teams three different ways to ensure they get the right balance between control of translations and encouraging community participation.
(12:28:53 PM) mrevell: From fully open - where anyone can translate - to restricted, where only pre-appointed translators can make translations.
(12:29:09 PM) mrevell: Of course, development work usually starts on a new release while the stable release is still in use.
(12:29:18 PM) mrevell: Launchpad allows multiple translation efforts to take place concurrently for the same project.
(12:29:28 PM) mrevell: So, translation can begin on a new release and continue on the stable release.
(12:29:53 PM) mrevell: You can find out more about Launchpad Translations in Carlos and Danilo's session log at https://wiki.ubuntu.com/MeetingLogs/openweekfeisty/lproseta
(12:30:08 PM) mrevell: Onto the Blueprint Tracker!
(12:30:19 PM) mrevell: Launchpad's Blueprint Tracker is unique.
(12:30:28 PM) mrevell: It helps you track chunks of work associated with your project.
(12:30:34 PM) mrevell: Many of you will have come across blueprints when working on Ubuntu.
(12:30:55 PM) mrevell: A blueprint can be anything from a single sentence to a full specification, with information about who is involved and where it fits into your project's roadmap.
(12:31:11 PM) mrevell: Anyone can create a blueprint for a project.
(12:31:20 PM) mrevell: This is a great way for everyone to get involved in shaping the future of a project.
(12:31:27 PM) mrevell: However, the project's leaders get to choose the priority of each blueprint.
(12:31:33 PM) mrevell: Take a look at https://blueprints.launchpad.net/ubuntu
(12:31:48 PM) mrevell: Here you can see all the blueprints associated with Ubuntu. Not only can you see the priority of each blueprint but also:
(12:32:01 PM) mrevell: * Definition status - how well thought out and presented is the idea? Is it a full spec or just a one line scribble?
(12:32:12 PM) mrevell: * Progress - has work begun on it? Is a beta available? Is it delayed?
(12:32:22 PM) mrevell: * Assignee - who's responsible for making sure the blueprint is implemented?
(12:32:36 PM) mrevell: * Release - which release is this blueprint targeted to?
(12:32:46 PM) mrevell: With the Blueprint Tracker, you can also organise meetings, such as Ubuntu Developer Summits.
(12:32:58 PM) mrevell: Anyone can contribute to the meeting's agenda by suggesting which blueprints to discuss.
(12:33:10 PM) mrevell: You can see the agenda for UDS Mountain View at https://blueprints.launchpad.net/sprints/uds-mtv
(12:33:23 PM) mrevell: Like bugs, you can link blueprints to the code branches that implement them.
(12:33:36 PM) mrevell: You can find out more about the Blueprint Tracker in kiko's session log:
(12:33:44 PM) mrevell: https://wiki.ubuntu.com/MeetingLogs/openweekfeisty/lpblueprint
(12:34:03 PM) mrevell: Finally, the Answer Tracker.
(12:34:31 PM) mrevell: Mailing lists and web forums are traditionally where free software projects answer user support questions.
(12:34:45 PM) mrevell: However, it can be difficult to capture that knowledge and make it easily available to the community.
(12:35:00 PM) mrevell: Some people are also intimidated by mailing lists or the initiation rituals of some forums :)
(12:35:13 PM) mrevell: Launchpad's Answer Tracker is a simple way for people to ask questions about a project.
(12:35:28 PM) mrevell: Anyone can offer an answer and the original questioner can highlight the answer they found most useful.
(12:35:39 PM) mrevell: Members of a project's community can sign up to be support contacts, meaning they receive an email each time a new question is asked about that project.
(12:35:54 PM) mrevell: The Answer Tracker is the first part of Launchpad to be localised.
(12:36:13 PM) mrevell: People can ask questions in their own language(s).
(12:36:25 PM) mrevell: Support contacts can choose to receive notification of questions asked in their preferred languages.
(12:36:41 PM) mrevell: Importantly, all of the questions and answers are easily searchable, meaning that they build into a knowledge-base for the project.
(12:37:01 PM) mrevell: You can find out more about Launchpad's Answer Tracker in Francis and Alan's session:
(12:37:13 PM) mrevell: https://wiki.ubuntu.com/MeetingLogs/openweekfeisty/lpcommunity
(12:37:46 PM) mrevell: So, what is the future for Launchpad?
(12:38:03 PM) mrevell: We're working to add new features to Launchpad and you can get a first taste by joining the Launchpad Beta Testers team.
(12:38:11 PM) mrevell: You can sign up at:
(12:38:16 PM) mrevell: https://launchpad.net/~launchpad-beta-testers
(12:38:43 PM) mrevell: As I said earlier, Launchpad was created to make it easy for the Ubuntu community to create the best operating system in the world :)
(12:39:00 PM) mrevell: However, we think Launchpad is ready for other communities and projects to start using it in earnest.
(12:39:17 PM) mrevell: Recently, Zope and SilvaCMS started using Launchpad's Bug Tracker.
(12:39:29 PM) mrevell: We've also seen many other projects, including PledgeBank, WengoPhone and Creative Commons start to use Translations.
(12:40:17 PM) mrevell: Thank you so much for your interest in Launchpad. I hope that I've given you a taster of what Launchpad is all about.
(12:40:46 PM) mrevell: We'd love to hear what you think about Launchpad and to hear your questions. Join us in #launchpad, or on the launchpad-users mailing list:
(12:40:52 PM) mrevell: https://lists.ubuntu.com/mailman/listinfo/launchpad-users
(12:41:25 PM) mrevell: We also have user meetings in #launchpad.
(12:41:34 PM) mrevell: We'll have the next one on 2nd May at 16:00 UTC. Add your questions to the agenda at https://wiki.ubuntu.com/LaunchpadUserMeeting/2007-05-02
(12:42:02 PM) mrevell: Now, I'll take the questions from the chat channel. Just a moment.

<nealmcb> QUESTION: Loco teams want to manage access to their web sites using launchpad's notion of loco membership, and allow loco members to log in to the loco web site with launchpad credentials. Is launchpad planning to support openid or cardspace?

  • Good question! I think Launchpad will become more and more useful for loco teams. I think OpenID is a great idea and I can certainly see it having a good fit with Launchpad. However, I don't know about any particular plans for any particular scheme. watch this space, join the beta team. Smile :) If you'd like to disucss it further, please join us on the launchpad-users mailing list.

<ditsch> QUESTION: I heard about a discussion about Ubuntu switching to Bazaar.Do you know anything about that and how could it remain compatible with Debian if switching?

  • Although I'm not sure about any exact plans for Ubuntu, it certainly makes a lot of sense for Ubuntu to use Bazaar. Of course, it'd be down to the Ubuntu community to decide on any changes such as that. Bazaar solves a lot of the problems of Subversion and is really well suited to free software development. Its links with Launchpad also make it a natural candidate for Ubuntu. As for compatibility with Debian, I'm sure that'll remain a high priority but I'm a) not a developer and a bit dumb when it comes to that sort of thing and b) not directly involved in Ubuntu.

<DoctorOwl> QUESTION: Mark Shuttleworth said that he wouldn't release Launchpad under GPL yet because of concerns its development branches would fragment so quickly with people adding features. And yet: Launchpad and Bazaar are designed for users to create and track diverging code branches in any project. How can you justify that it's okay for any other project to have divergent code bases, but NOT Launchpad?

  • We haven't released the code to Launchpad because we believe that Launchpad can do its job best as a single web service, rather than a number of competing and unlinked installations. For any other details, I'll refer you to Mark's "Ask Mark" session. The logs are at: https://wiki.ubuntu.com/MeetingLogs/openweekfeisty/askmark

<Schalken> QUESTION: How does Launchpad's answer system tie with the forums? Will they eventually be replaced, in whole or in part?

  • The Ubuntu forums are run by the Ubuntu community, with financial support from Canonical. I know that Jono, Mark Shuttleworth and other members of the community have worked together to ensure good governance is in place for the forums. So, I think that suggests a commitment to the future of the forums. While there may be integration with Launchpad in the future, I don't see any reason for the forums to go away.

<Schalken> QUESTION: You mention that bugs in Launchpad are linked with other bug tracking systems, but to what extent is the information shared? Does a new gimp bug in launchpad appear in bugs.gimp.org, and do comments on launchpad appear on linked bugs and vice-versa?

  • We don't actively push bugs or bug data into other trackers. Pushing bugs into other people's trackers may be considered rude and unhelpful. However, I believe that people could use screen-scraping techniques to get the data and, within time, our XML-RPC interface when it's available.

<etank> QUESTION: Will forum posts and Wiki contributions ever be considered in karma calculations?

  • Quite possibly, it would certainly make sense for them to count towards karma, if there were to be further integration between the wiki, forums and Launchpad.

<bababian> QUESTION: do we need more publication on Launchpad, as many newbies would not know its existence firsthand?

  • That's something I'm working to fix and I would love to hear any ideas or input you have.

<zorglu_> QUESTION: i definitly agree than competing and unlinked installations of launchpad would be a bad thing, but what about the other cases ? like collaborative and linked installations ? or unlinked installation on disctincts projects ?

  • I don't think I have time remaining to give a good answer. However, at the moment we don't have any infrastructure in Launchpad that would enable two installations to communicate and there may be better solutions for what you refer to as distinct projects. Adding that code isn't a priority for the team at the moment and there are other reasons, such as us not currently having time to build an educated community of developers, for us not releasing as free software just yet.

(12:58:58 PM) mrevell: Please, join us in launchpad-users to continue this discussion!
(12:59:03 PM) mrevell: Thanks all! Bye!

MeetingLogs/openweekfeisty/launchpad2 (last edited 2008-08-06 16:32:49 by localhost)