# Launchpad

Launchpad (engl. für Abschussrampe) ist eine Sammlung von freien Webanwendungen und ein Onlinedienst von Canonical zur Unterstützung von Softwareentwicklungsprojekten. Insbesondere wird die Entwicklung freier Software unterstützt. Launchpad wird größtenteils zur Entwicklung von Ubuntu (einer GNU/Linuxdistribution) eingesetzt. Intern wird auf den Webanwendungsserver Zope aufgebaut und die Programmiersprache Python verwendet.

## Module

Launchpad besteht aus mehreren Teilen: Projects, einer Möglichkeit ein Programm, auch Programmsammlungen und Entwicklerteams, in der Launchpad-Datenbank zu registrieren, vergleichbar mit Freecode, einer Möglichkeit zum Sourcecodehosting namens Code, einer Abteilung Translations (Rosetta) zur Übersetzung von Zeichenketten in Software, Bugs (Malone) einem System zum Fehlermanagement, dem Modul Blueprints, um Ideen und Entwürfe zu diskutieren, sowie Answers, einer Wissensdatenbank, bei der Benutzer den Entwicklern öffentlich Fragen stellen können. Beim Zusammenstellen der Ubuntudistribution hilft noch das Unterprojekt Soyuz (russisch für Union), das Softwarepakete, Mirror und das Buildsystem zur Kompilierung von Quelltext verwaltet.

### Code

Launchpad Code ermöglicht es Softwareprojekten, deren Quelltext in einem Versionsverwaltungssystem mit einem zugehörigen automatisierten Buildsystem zu speichern. Das Modul unterstützt das ebenfalls von Canonical entwickelte verteilte Revisionssystem Bazaar, es kann jedoch Projekte aus Repositorien der bekannten Versionsverwaltungssysteme CVS, Subversion (SVN) und Git importieren. Jeder angemeldete Nutzer kann einen neuen Entwicklungszweig (Branch) beginnen, der vom Entwicklerteam in das Projekt übernommen werden kann.
Mit einem Personal Package Archive (PPA) können Entwickler unabhängige inoffizielle dpkg-Paketquellen für Ubuntu-Distributionen in verschiedenen Prozessorarchitekturen und Versionen anbieten. Die Verwendung dort bereitgestellter Pakete erfolgt vom Download über die Installation und Aktualisierung (Update/Upgrade) bis zur Paket-Entfernung identisch zu den offiziellen Quellen über die Standard-Paketverwaltungswerkzeuge wie APT und darauf aufbauende anwenderfreundliche Oberflächen, beispielsweise Aptitude oder Synaptic oder eine in den grafischen Desktop integrierte Aktualisierungsverwaltung, sowie durch automatisierte Hintergrund-Updates des Systems. Vor einem Distributions-Upgrade auf eine neue Hauptversion empfiehlt es sich, PPAs als Paketquelle vorübergehend zu entfernen und dann durch ein reguläres Update zuerst auf die aktuelle Anwendungsversionen offizieller Paketquellen zu wechseln und PPAs erst nach erfolgreichem Abschluss des Distributions-Upgrades bei Bedarf wieder hinzuzufügen.

### Rosetta

Rosetta wurde nach dem Stein von Rosette benannt und ist eine Webanwendung zur Softwarelokalisierung. So können mehrere Benutzer ohne Installation weiterer Software oder dem Auseinandersetzen mit Revisionskontrollsoftware gemeinsam ein Programm direkt über die Weboberfläche übersetzen, ähnlich wie bei einem Wiki. Es werden die verbreiteten .po-Dateien (Portable Object) der GNU-gettext-Bibliothek direkt unterstützt und andere populäre Eigenlösungen, z. B. der Mozillaprojekte, mit Hilfe von Skripten konvertiert. Zudem bietet Rosetta Übersetzungsspeicher aller im System gespeicherten Phrasen und zeigt diese den Übersetzern an.

### Malone

Malone ist ein Bugtracker als Werkzeug für Softwaredistributionen, kann jedoch auch die Funktion eines Metabugtrackers übernehmen, verlinkt Bugtracker anderer Projekte und fragt regelmäßig deren Status ab. So soll redundante Arbeit vermieden werden und die Kommunikation mit den Urprojekten (upstream) verbessert werden.

## Kritik

Launchpad wurde anfangs von Mitgliedern der Open-Source-Gemeinschaft kritisiert, da es trotz der erklärten Ziele des Ubuntuprojektes nicht unter einer Lizenz für freie Software stand. Eine komplette Offenlegung des Quelltextes war zuerst nicht geplant, da man durch Projektaufspaltungen die Position der Plattform als zentrale Zusammenfassung aller Ressourcen verliere und noch keine offenen Standards für ein dezentrales Modell existieren. Zudem erwartete man finanzielle Nachteile und verwies darauf, dass bekannte Projekte wie SourceForge.net ebenfalls proprietär sind. Langfristig könnte Launchpad von einem zentralen zu einem verteilten System entwickelt werden und komplett unter einer freien Lizenz für Webanwendungen wie der GNU AGPL veröffentlicht werden.
Canonical veröffentlichte jedoch bereits einzelne Bestandteile, die für andere Projekte nützlich sein können, separat unter freier Lizenz. Am 9. Juli 2007 wurde eine Programmbibliothek zur objektrelationalen Abbildung veröffentlicht. Auch zur Verbesserung der im Hintergrund verwendeten Software wie Zope, Twisted, SQLObject und Bazaar durch angestellte Entwickler von Canonical wird regelmäßig beigetragen.
Für die Version 3.0 versprach Canonical den Quelltext der Kernkomponenten der Entwicklungsumgebung offenzulegen. Am 21. Juli 2009 wurde Launchpad dann komplett als Open Source unter der AGPL veröffentlicht.