当前位置: 首页>>技术问答>>正文


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

, ,

问题描述

我一直想知道为什么大多数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。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1057.html,未经允许,请勿转载。