Sowohl Launchpad als auch Github sind Webanwendungen auf denen man seine Projekte verwalten kann. Außerdem gibt es noch andere Anwendungen wie zum Beispiel Gitlab etc.
Disclaimer
ACHTUNG!!!
Es besteht die Möglichkeit, dass dieser Post eigene Meinung enthält.
Github
Github hat den großen Vorteil, dass es von enorm vielen Menschen benutzt wird. Dadurch hat man automatisch sehr viele potentielle Mithelfer an seinem Open Source-Projekt. Der wahrscheinlich größte Nachteil Githubs ist, dass es Closed Source ist (und dass es zu M$ gehört ]:-) ) Allerdings ist es nicht mehr so wie früher, dass man bei GitHub sehr zur Kasse gebeten wird. Eigentlich kann man alles, was man normalerweise braucht auch kostenlos erledigen.
Launchpad
Launchpad wurde von Canonical, also der Firma hinter Ubuntu, entwickelt.
Launchpad unterstützt im Gegensatz zu GitHub nicht nur Git als Versionskontrollsystem, sondern auch Bazaar nativ und kann fremde Repos z.B. von Github importieren.
Launchpad selber unterstützt Git und Bazaar, aber man kann auch Subversion- oder CVS-Repos importieren. Launchpad ist viel mehr als eine reine Code-Hosting-Plattform. Es ist genauso wie auf Github möglich, die Plattform als Bugtracker zu nutzen. Gleichzeitig bietet Launchpad aber zusätzlich noch ein wirklich wunderbares Web-Interface für Übersetzungen auf Basis gettexts und eine Frage-Antwort-Abteilung, die bei Github in die Issues-Abteilung integriert ist. Was aber wahrscheinlich die bekannteste Funktion Launchpad ist, ist die Möglichkeit mit den PPAs (Personal Package Archiv) anderen Leuten seine Programme als DEB-Paket zur Verfügung zu stellen.
Fazit
Eigentlich braucht es weder Github noch Launchpad. Theoretisch könnte man einfach einen Webserver benutzen und darauf seine Git-Repos hosten (oder man macht das mit NFS-Freigaben, dann kann man sogar den Webserver wegsparen), aber Github und Launchpad, machen einem das Leben aber deutlich einfacher. Wer allerdings unbedingt Bazaar als VCS haben möchte, sollte sich Launchpad unbedingt mal ansehen.
Meine Verwendung
Ich hoste meine meisten Projekte aktuell auf Github. Zum einen finde ich die Oberfläche intuitiever. Zum Anderen hat Github aber auch so viele Nutzer (und macht es diesen im Webinterface einfacher, sich an Projekten zu beteiligen), dass es wahrscheinlicher ist, dass sich mehr Leute an meinen Projekten beteiligen. Launchpad hat mit den PPAs allerdings auch einen Riesenvorteil.
Beispiel MyBrowse
Bei MyBrowse mache ich das folgendermaßen:
Der Quellcode liegt auf Github und dort wird auch entwickelt (da MyBrowse keine Lokalisierung braucht, brauche ich dieses wirklich tolle Feature Launchpads hier nicht). Launchpad importiert dann in regelmäßigen Abständen (5 Stunden) den Quellcode und baut täglich in mein testing-PPA die Pakete. Von dort kopiere ich dann die Pakete in das normale PPA.