Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is Launchpad Branches?
Launchpad Branches is the code-hosting side of Launchpad, Canonical's long-running collaboration platform for free and open-source projects. It stores a project's source code in a hosted repository and gives it a browsable web view, so anyone can look at files, commit history and branches without installing anything. The page lists over a million registered branches across roughly 25,000 projects, which gives a sense of how much Ubuntu-adjacent and community work has passed through it.
What you can actually do there
- Host Git repositories. The page states that Launchpad can host your project's source code using the Git version control system. This is the core function: a place to push code, track changes and share it publicly.
- Browse other people's code. The "Most active projects in the last month" list surfaces busy repositories, and the "Recently changed" and "Recently registered" lists show what is moving right now. That makes the site useful even if you never push a commit.
- Import existing projects. Launchpad imports thousands of Git projects, and the "Recent imports" section shows examples such as
lp:juju-coreandlp:gcc. Importing is how a project that lives elsewhere gets a mirror or a new home here. - Build Ubuntu packages from branches. The page notes that Launchpad can build Ubuntu packages directly from branches using recipes, which links the code host to Ubuntu's packaging and build infrastructure.
- Use
lp:shorthand. The branch names shown, likelp:openshot/website, are Launchpad's own addressing scheme for referring to a repository or a specific person's branch.
A key thing to know before you commit
The page carries a prominent notice: Bazaar will be deprecated in September 2025. Launchpad's code hosting now centers on Git. If you are starting fresh, choose Git; if you maintain an old Bazaar branch, treat the deadline as a reason to migrate rather than a distant warning.
Who it suits
Launchpad Branches fits projects that already sit in the Ubuntu or Canonical orbit, or that want code hosting tied to bug tracking, translations, blueprints and package recipes on one platform. For a small team that only needs a Git remote and pull requests, a general-purpose code host may feel lighter. For a project that wants its source, its bug tracker and its Ubuntu build recipes under one account, the integration is the point. If you are evaluating it, start by browsing a "Recently changed" branch in a language you know, then check whether the project's bug tracker and translations also live on Launchpad — that combination is where the platform earns its keep.
How do I host my project's source code on Launchpad using Git?
Register or log in to Launchpad, create a project, then push your Git repository to a branch on code.launchpad.net. Launchpad hosts source code using Git, and it also imports existing Git projects, so you can either start fresh or bring an existing repository over.
What the page actually supports
The "Code in branches" page describes two concrete capabilities:
- Git hosting for your project's source code — Launchpad can host your project's code with Git.
- Branch-based Ubuntu package builds — Launchpad can build Ubuntu packages directly from branches using recipes.
It also notes that Bazaar will be deprecated in September 2025, so new projects should use Git rather than Bazaar.
Practical steps
- Create an account and a project. You need a Launchpad account, and your code lives under a project or a personal namespace.
- Choose a namespace. Project branches appear as
lp:project-name; personal branches use thelp:~username/...form, which the page shows in its recently registered and changed lists. - Push with Git. Point your local Git remote at your Launchpad branch URL and push. Launchpad's own help guide covers the exact remote format and authentication.
- Confirm the branch appears. Check the project's code page or the recently changed list to verify the push landed.
- Optionally add a recipe. If you want Ubuntu packages built from the branch, set up a recipe that points at it.
Choosing between hosting and importing
| Situation | Sensible route |
|---|---|
| New project, no existing history | Create the project, then push a fresh Git repository |
| Existing Git repository elsewhere | Import it, or push a mirror to Launchpad |
| You want Ubuntu package builds from source | Host the branch on Launchpad and add a recipe |
| You only need a mirror for visibility | Import, and keep your primary development elsewhere |
A concrete scenario
A small team maintaining a desktop utility wants Ubuntu package builds tied to their source. They create a Launchpad project, push their Git history, and add a recipe so each release branch produces a package. The trade-off is that Launchpad's code interface is functional rather than feature-rich compared with dedicated Git forges, so teams often keep day-to-day review and issue tracking elsewhere and treat Launchpad as the build and distribution point.
For step-by-step commands and authentication details, read Launchpad's own code hosting guide from the page's "Read our guide" link. If your project already lives on another forge, GitHub or GitLab can act as the primary remote while you push a mirror to Launchpad for recipes.
How can I import an existing Git project into Launchpad?
Launchpad can host a project's source code using Git, and it also imports Git projects on your behalf. To bring an existing Git project in, the practical route is to register the project on Launchpad and then request an import of the external repository, rather than pushing a local clone first. The page's own "Read our guide" link is the authoritative step-by-step reference for the import process.
What the import gives you
- A Launchpad-hosted Git branch that mirrors the upstream repository.
- Ongoing synchronisation, so the Launchpad copy tracks later upstream commits instead of freezing at the first snapshot.
- A base for Ubuntu packaging: Launchpad can build Ubuntu packages directly from branches using recipes.
When importing is the right choice
| Situation | Import | Push your own branch |
|---|---|---|
| Upstream lives on another host and you want a Launchpad mirror | Yes | No |
| You are the sole author and just want hosting | Possible | Usually simpler |
| You want Launchpad to build packages from the code | Useful as the source branch | Also workable |
| You need full control of refs and history | Less direct | Yes |
A concrete scenario
A maintainer of a small desktop utility keeps the canonical repository elsewhere but wants Ubuntu builds tied to Launchpad. They register the project, request an import so the Launchpad branch tracks upstream, then point a packaging recipe at that branch. Contributors keep working in the original repository; Launchpad stays in step.
Decision criteria
- Import if the upstream repository is the source of truth and you want a tracked mirror.
- Push directly if you want Launchpad to be the primary home and you control all commits.
- Check the guide before starting, because import requests need the external repository URL and correct project registration.
One timing note from the page: Bazaar will be deprecated in September 2025, so choose Git for anything new. The same page lists thousands of imported branches and over a million registered branches across roughly 25,000 projects, which indicates imports are a routine, supported path rather than an edge case. For related hosting comparisons, see GitLab and GitHub.
What happens to my Bazaar branches after September 2025?
Bazaar hosting on Launchpad is being retired, so plan to migrate your branches to Git rather than expecting them to keep working as they are. The page states plainly that Bazaar will be deprecated in September 2025, while Launchpad continues to host source code using Git and also imports Git projects. In practice, that means your existing Bazaar branches are tied to a version control system that is reaching end of life, and the supported path forward on Launchpad is Git.
What this means for you
- New work should target Git. If you are starting a project or adding branches, use Git on Launchpad instead of creating new Bazaar branches.
- Existing Bazaar branches need a migration plan. Because the platform is moving away from Bazaar, treat your current branches as something to convert and re-home, not as a long-term home.
- Your project history can usually be preserved. Git conversion tools exist that carry over commits and authorship, so the goal is continuity, not starting over.
A concrete scenario
Say you maintain a small Ubuntu-related project with a handful of Bazaar branches for releases and one for translations. Before September 2025, you would:
- Convert each Bazaar branch to Git locally.
- Push the converted branches to Launchpad under the same project.
- Update your README, packaging recipes and any contributor instructions to point at the Git branches.
- Tell active contributors where the new branches live so they can re-clone.
If your branches feed Ubuntu package builds, check whether the recipes you rely on need to be pointed at Git branches, since the page notes that Launchpad can build Ubuntu packages directly from branches using recipes.
Decision criterion
The main question is not whether to move, but when and how much history matters. If a branch is archived and no one builds from it, a simple conversion or export may be enough. If contributors push to it regularly, convert early and freeze the Bazaar branch so people do not keep committing to a dead end.
For Git hosting alternatives, Launchpad Branches remains the natural home if your project already lives in the Launchpad ecosystem; GitHub and GitLab are common choices if you want broader tooling or a different community.
How do I build Ubuntu packages directly from a branch using recipes?
Launchpad lets you turn a branch into a buildable Ubuntu source package using a recipe. The recipe is a short text file that tells Launchpad which branch (or branches) to pull, how to assemble the source tree, and which package version to produce. Once the recipe is registered, Launchpad can build it into a source package and then into binary packages in a PPA or archive.
Typical recipe workflow
- Prepare a branch that contains a valid Debian packaging directory (
debian/control,debian/changelog,debian/rules, etc.). Recipes build source packages; they do not invent packaging metadata. - Create the recipe on Launchpad. The recipe names the base branch and any additional branches to merge or nest. For a simple package, the base branch is usually the packaging branch itself.
- Choose a build target, such as a PPA, and request a build. Launchpad fetches the branch, runs the recipe, and produces a source package.
- Review the build log if it fails. Common causes are missing build dependencies, a malformed
debian/changelog, or a branch that does not contain the expected packaging files. - Repeat after changes. Recipes can be set to build automatically when the branch changes, which suits active packaging branches.
When recipes are a good fit
- You maintain packaging in a branch and want Launchpad to build it without manually uploading a
.dscand tarball. - You want to build from a branch that combines upstream code with separate packaging.
- You are producing daily or test builds for a PPA.
Trade-offs
- Recipes are tied to Launchpad's build farm and supported formats. If your packaging needs unusual pre-build steps, a recipe may be awkward.
- You still need working packaging and correct build dependencies. A recipe does not fix a broken
debian/directory. - Branch-based builds can be slower to iterate than a local
debuildorsbuild, because each change must be pushed before Launchpad sees it.
Practical next step
Start with a single branch that already builds locally with sbuild or debuild. Register a recipe pointing at that branch, target a PPA, and inspect the first build log before enabling automatic builds. If you also need to track upstream code, keep the packaging branch separate and use the recipe to combine them.
For the full syntax and options, see the recipe guide on Launchpad Help and the branch listing at Launchpad Branches.
What are the most active projects on Launchpad Branches right now?
Launchpad Branches doesn't publish a ranked "most active" list with activity metrics. Its front page shows a snapshot list titled "Most active projects in the last month," which currently includes animal-farm, armagetronad, audio-recorder, btrfs-backup-suite, bxe, canonical-identity-provider, cgminer, ddtp-ubuntu, epoptes, indicator-network, josm, kazam, libravatar, linaro-power-qa, linuxmint, mahara-lang, mahara-manual, ols-vms, openshot, reminders-app, research-assistant, s25rttr, sbackup, screenlets, snapd-glib, snappy, steadyflow, swift, tracplugins, true-sight, ubuntu-calculator-app, ubuntu-calendar-app, ubuntu-release-upgrader and xpad, with a "see all projects" link for the rest. The ordering isn't explained on the page, so treat it as a launchpad for browsing rather than a definitive activity ranking.
How to read that list
- The list mixes project types. Some entries are well-known desktop or system projects (openshot, linuxmint, ubuntu-release-upgrader), others are smaller utilities or language packs. "Active" here likely reflects recent branch or import activity, not downloads or user counts.
- Branches, not repositories, are the unit. A project can appear because of a single busy contributor or an automated import. The page also shows "Recent imports," "Recently registered" and "Recently changed" sections, which are better signals of current movement than the static headline list.
- Scale context matters. The page reports 1,009,209 branches registered across 24,968 projects, plus 4,384 imported branches. With that volume, any front-page list is a small sample.
Practical next step
If you want to know whether a specific project is genuinely active, open its branch list and check the most recent commit dates and authors, rather than relying on the front-page label. For projects mirrored from elsewhere, compare the Launchpad branch against the upstream repository — for example, GitHub or GitLab — to see whether the Launchpad copy is the source of truth or a mirror.
One timing note worth knowing: the page states that Bazaar will be deprecated in September 2025 and that Launchpad hosts source code using Git, with support for building Ubuntu packages directly from branches using recipes. If you're choosing where to follow a project long-term, that shift is more consequential than any single month's activity list.
User reviews (0)