我一直想知道为什么大多数Ubuntu项目都使用Launchpad.net而不是GitHub作为版本控制和错误跟踪系统。关于Ubuntu为什么使用启动板(因此使用bzr
)有特定的原因吗?
我一直想知道为什么大多数Ubuntu项目都使用Launchpad.net而不是GitHub作为版本控制和错误跟踪系统。关于Ubuntu为什么使用启动板(因此使用bzr
)有特定的原因吗?
Answers:
该列表包含了为什么不使用该功能以及为什么现在不应该移动的原因
Lauchpad使用了很久以前开发的集市。Github当时不存在(正如罗宾所说),Launchpad于2004年启动,Github于2008年启动
Github不是开源的。在这种情况下,明智的选择是更好的选择。我知道Launchpad最初不是FOSS,但后来发布了
最初,Github不像团队一样具有Launchpad所具有的许多功能。Github没有与之集成的构建系统,例如PPA
Launchpad中的许多项目都大量使用“合并请求”功能,该功能在Github中具有非常基本的支持。它称为“拉取请求”,但启动板比Github具有更好的功能和更详细的功能
Github的Bug跟踪器几乎没有用。我的宠物追踪器项目可能会更有用
Launchpad由Canonical拥有,他们向开发人员付款。他们对产品拥有完全的控制权。
Github使用Git使用分支和标签跟踪发布。在使用bzr的Launchpad中,也具有此功能,但是Launchpad在源代码控制系统之外明确地强制执行此功能。对于那些必须处理版本但又不想深入了解源代码的人来说,这会容易一些。
请注意:Github与Launchpad以及git与bzr是一个宗教话题。我想远离这场无休止的讨论。我使用适合用例的东西。
我想简单的答案是Launchpad可以做很多其他系统无法做到的事情(当Ubuntu开始使用Launchpad时更是如此)。
一些例子:
尽管代码托管是Launchpad的重要功能,但它不是唯一的功能,也不是Ubuntu使用的第一个功能。
对于与Ubuntu相关的上游项目,使用与Ubuntu本身相同的系统会有很多好处。仅一个示例是在上游和打包上下文中跟踪错误。
Zed Shaw在最近的博客文章Launchpad vs. Github / SysAdmin vs. Coder中很好地涵盖了这个主题。
我看到lvh的博客文章问了一个简单的问题:“为什么人们如此讨厌启动板?” 直到我开始修补NetBSD pkgsrc并研究各种软件包管理器之前,我也一直想知道。当我遍历所有各种程序包管理器时,我终于意识到Launchpad和Github之间的区别实际上是系统管理员和软件开发人员之间的区别。
我并不完全同意他对代码管理之外的Launchpad功能的评估。作为开发人员,我确实喜欢Github的回购视图,但是Launchpad的错误跟踪器远远优于Github。