问题描述
我一直想知道为什么大多数Ubuntu项目使用Launchpad.net而不是GitHub用于版本控制和错误跟踪系统。是否有一个特定的原因,为什么Ubuntu使用启动板(因此bzr
)?
最佳解决方法
此列表包含当时没有使用的原因以及为什么它现在不应该移动
-
Lauchpad使用了很久以前开发的集市。 Github当时并不存在(正如Robin所说)Launchpad于2004年推出,Github于2008年推出
-
Github不是开源的。在这种情况下,Gitorious将是更好的选择。我知道Launchpad最初不是FOSS,但后来发布了
-
最初Github并没有很多像Launchpad那样的功能。 Github没有与它集成的构建系统,如PPA
-
Launchpad中的许多项目都大量使用”Merge request”功能,该功能在Github中具有非常基本的支持。它被称为”Pull request”,但Launchpad具有比Github更好的功能和更详细的功能
-
Github的Bug Tracker几乎没用。我的bug跟踪器宠物项目可能更有用
-
Launchpad由Canonical拥有,他们向开发者付款。他们可以完全控制他们的产品。
-
Github使用Git来跟踪使用分支和标签的版本。在Launchpad中,使用bzr也具有此功能,但Launchpad在源控制系统外明确强制执行此功能。对于那些必须处理版本但又不想深入挖掘源代码的人来说,这会更容易一些。
只是一个小小的注释:Github vs. Launchpad和git vs. bzr是一种宗教话题。我想远离这种无休止的讨论。我使用哪个适合use-case。
次佳解决方法
我想简单的答案是Launchpad做了很多其他系统没有的东西(当Ubuntu开始使用Launchpad时,这更是如此)。
一些例子:
-
一种错误跟踪器,可以跟踪多个上下文中的错误(例如,影响多个包的错误,或影响包及其上游或多个发行版中的相同包)。
-
基于Web的翻译工具。
-
一种管理包归档并为各种支持的体系结构构建二进制包的工具。
虽然代码托管是Launchpad的一个重要功能,但它不是唯一的,它不是Ubuntu使用的第一个功能。
至于与Ubuntu相关的上游项目,使用与Ubuntu本身相同的系统是有好处的。只有一个例子是跟踪上游和打包上下文中的错误。
第三种解决方法
我实际上认为它更像是“为什么他们使用bzr,因此启动板”?在GitHub存在之前很久,Canonical投入资金和人才开发bzr及其前身baz,他们可能不想抛弃所有积累的专业知识和投资。事实上,baz是在git存在之前开始的。
此外,由于Launchpad由他们控制,他们可以更轻松地添加对他们有意义的功能 – 而GitHub甚至不是开源的,当然也不受他们的控制!
第四种方法
Zed Shaw在最近的博客文章Launchpad vs. Github/SysAdmin vs. Coder中非常清楚地介绍了这个主题。
I saw this blog post by lvh asking the simple question, “Why do people hate launchpad so much?” It was something I also wondered until I started tinkering with forking NetBSD pkgsrc and went to research various package managers. When I was going through all the various package managers I finally realized that the difference between Launchpad and Github is actually the difference between System Administrators and Software Developers.
我并不完全同意他对代码管理之外的Launchpad功能的评估。作为开发人员,我更喜欢Github的repo视图,但Launchpad的bug跟踪器远远优于Github。