为什么 Ubuntu 使用 Launchpad 而不是 GitHub 或 Bitbucket?

jrg*_*jrg 67 launchpad github

我一直想知道为什么大多数 Ubuntu 项目使用Launchpad.net而不是GitHub来进行版本控制和错误跟踪系统。Ubuntu 为何使用启动板(以及因此bzr)是否有特定原因?

Man*_*nha 87

此列表包含当时未使用以及现在不应移动的原因

  • Launchpad 使用了很久以前开发的 Bazaar。那时 GitHub 还不存在(正如 Robin 所说)Launchpad 于 2004 年推出,GitHub 于 2008 年推出

  • GitHub 不是开源的。在这种情况下,GitLab 或 Gitorious 将是更好的选择。我知道 Launchpad 最初不是 FOSS,但后来才发布

  • 最初 GitHub 没有 Launchpad 所具有的许多功能,例如团队。GitHub 没有集成构建系统,例如 PPA

  • Launchpad 中的许多项目大量使用了“合并请求”功能,该功能在 GitHub 中具有非常基本的支持。它被称为“拉取请求”,但 Launchpad 比 GitHub 具有更好的功能和更详细的信息

  • GitHub 的 Bug Tracker 几乎没用(到 2021 年可能会改变)。我的错误跟踪器宠物项目可能更有用

  • Launchpad 归 Canonical 所有,他们向开发人员付款。他们可以完全控制他们的产品。GitHub 也归 GitHub/Microsoft 所有。

  • GitHub 使用 Git 来跟踪使用分支和标签的发布。在使用 Bazaar 的 Launchpad 中也有此功能,但 Launchpad 在源代码控制系统之外明确强制执行此功能。对于必须处理版本但不想挖掘源代码的人来说,这会更容易一些。


只是一个小说明:Github 与 Launchpad 和 git 与 bzr 是一种宗教话题。我想远离这种无休止的讨论。我使用适合用例的。


Jam*_*dge 31

我想简单的答案是 Launchpad 做了很多其他系统没有的东西(当 Ubuntu 开始使用 Launchpad 时更是如此)。

一些例子:

  • 一个错误跟踪器,可让您跟踪多个上下文中的错误(例如,影响多个包的错误,或同时影响一个包及其上游,或多个发行版中的同一包)。
  • 基于网络的翻译工具。
  • 用于管理包存档和为各种支持的体系结构构建二进制包的工具。

虽然代码托管是 Launchpad 的一个重要功能,但它不是唯一的,也不是 Ubuntu 使用的第一个功能。

至于与 Ubuntu 相关的上游项目,使用与 Ubuntu 本身相同的系统是有好处的。一个例子是在上游和打包的上下​​文中跟踪错误。


Rob*_*een 13

我实际上认为这更像是“为什么他们使用 bzr,因此使用启动板”?早在 GitHub 出现之前,Canonical 就投入资金和人力来开发 bzr 及其前身 baz,他们现在可能不想扔掉所有积累的专业知识和投资。事实上,baz 在 git 出现之前就已经启动了。

此外,由于 Launchpad 由他们控制,他们可以更轻松地添加对他们有意义的功能 - 而 GitHub 甚至不是开源的,当然不在他们的控制之下!


Col*_*ean 7

Zed Shaw在最近的一篇博文Launchpad vs. Github/SysAdmin vs. Coder 中很好地讨论了这个话题。

我看到 lvh 的这篇博文提出了一个简单的问题,“为什么人们如此讨厌启动板?” 在我开始修补 NetBSD pkgsrc 并研究各种包管理器之前,我也想知道这一点。当我浏览了所有各种包管理器时,我终于意识到 Launchpad 和 Github 之间的区别实际上是系统管理员和软件开发人员之间的区别。

我不完全同意他对 Launchpad 在代码管理之外的功能的评估。作为开发人员,我确实更喜欢 Github 的 repo 视图,但 Launchpad 的错误跟踪器远远优于 Github。