Launchpad使用了很久以前开发的Bazaar。那时候GitHub还不存在(正如Robin所说)Launchpad在2004年推出,而GitHub在2008年推出。
GitHub不是开源的。在这种情况下,GitLab或Gitorious可能是更好的选择。我知道Launchpad最初不是自由开源软件,但后来发布了。
最初GitHub没有Launchpad拥有的许多功能,比如团队。GitHub没有与之集成的构建系统,像PPA一样。
Launchpad中的许多项目都广泛使用“合并请求”功能,在GitHub中只有基本支持。它被称为“拉取请求”,但Launchpad具有比GitHub更好的功能和更详细的功能。
GitHub的Bug跟踪器几乎没有用(这可能在2021年已经改变)。我的个人项目的Bug跟踪器可能更有用。
Launchpad归Canonical所有,并支付开发人员的工资。他们对产品拥有完全控制权。GitHub也归GitHub/Microsoft所有。
GitHub使用Git来跟踪使用分支和标签的发布。在使用Bazaar的Launchpad中也有这个功能,但Launchpad明确要求在源代码控制系统之外执行此操作。这对于那些需要处理版本但不想深入源代码的人来说会更容易一些。
Zed Shaw在最近的博客文章中非常好地涵盖了这个话题,Launchpad vs. Github/SysAdmin vs. Coder。
我看到了lvh的这篇博客文章,他提出了一个简单的问题:“为什么人们如此讨厌Launchpad?”直到我开始尝试分叉NetBSD pkgsrc并进行各种软件包管理器的研究,我也一直在思考这个问题。当我浏览所有不同的软件包管理器时,我终于意识到Launchpad和Github之间的区别实际上是系统管理员和软件开发人员之间的区别。
对于Launchpad在代码管理以外的功能,我并不完全同意他的评估。作为一个开发者,我更喜欢Github的存储库视图,但是Launchpad的错误跟踪器远远优于Github的。