我一直想知道为什么大多数 Ubuntu 项目使用Launchpad.net代替GitHubbzr
用于版本控制和错误跟踪系统。Ubuntu 使用启动板(以及)有什么特别的原因吗?
答案1
此列表包含它当时不使用以及现在不应移动的原因
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 年这种情况可能会有所改变)。我的 bug tracker 宠物项目可能更有用
Launchpad 归 Canonical 所有,他们向开发者支付费用。他们对自己的产品拥有完全的控制权。GitHub 也归 GitHub/Microsoft 所有。
GitHub 使用 Git 通过分支和标签来跟踪发布。使用 Bazaar 的 Launchpad 也具有此功能,但 Launchpad 明确在源代码控制系统之外强制执行此功能。对于必须处理版本但不想深入研究源代码的人来说,这会更容易一些。
只是一点小提示:Github 与 Launchpad 以及 git 与 bzr 的比较是一个宗教话题。我想远离这种无休止的讨论。我使用适合用例的。
答案2
我想简单的答案是 Launchpad 可以做很多其他系统无法做到的事情(当 Ubuntu 开始使用 Launchpad 时更是如此)。
一些例子:
- 错误跟踪器可让您在多个上下文中跟踪错误(例如,影响多个软件包的错误,或影响软件包及其上游的错误,或影响多个发行版中的同一软件包的错误)。
- 基于网络的翻译工具。
- 用于管理软件包档案和为各种受支持的架构构建二进制包的工具。
虽然代码托管是 Launchpad 的一个重要功能,但它并不是唯一的功能,也不是 Ubuntu 使用的第一个功能。
对于与 Ubuntu 相关的上游项目,使用与 Ubuntu 本身相同的系统是有好处的。其中一个例子就是在上游和打包环境中跟踪错误。
答案3
我其实觉得这更像是“他们为什么使用 bzr,以及 launchpad”?早在 GitHub 出现之前,Canonical 就投入了资金和人力来开发 bzr 及其前身 baz,他们可能不想现在就把积累的专业知识和投资全部扔掉。事实上,baz 是在 git 出现之前就开始使用的。
此外,由于 Launchpad 由他们控制,他们可以更轻松地添加对他们有意义的功能 - 而 GitHub 甚至不是开源的,当然也不受他们的控制!
答案4
泽德·肖在最近的一篇博客文章中很好地讨论了这个主题,Launchpad、Github/SysAdmin 和 Coder 的比较。
我看到 lvh 的这篇博文问了一个简单的问题:“为什么人们这么讨厌 launchpad?” 这也是我曾经想知道的问题,直到我开始修改 NetBSD pkgsrc 并研究各种包管理器。当我浏览各种包管理器时,我终于意识到 Launchpad 和 Github 之间的区别实际上是系统管理员和软件开发人员之间的区别。
我并不完全同意他对 Launchpad 除代码管理之外的功能的评价。作为一名开发人员,我确实更喜欢 Github 的 repo 视图,但 Launchpad 的 bug 跟踪器比 Github 的要好得多。