当提到作为开发人员时,上游和下游之间有什么区别?

dei*_*on1 64 package-management development upstream

在提到作为开发人员或打包人员去往谁(或哪里)时,上游下游之间有什么区别?

Jor*_*tro 72

把它想象成一条大河,写软件的人就是这条河的源头。它们将是上游,更远的下游将是您的分配,而在河流的尽头将是用户。Ubuntu 位于河中央。

上游将是 Ubuntu 打包并交付给用户的软件。诸如 GNOME、Firefox、X.org、Linux 内核以及更多应用程序之类的东西。这是存档中的大部分内容,因为它们代表了上游项目的集合。

Ubuntu 有一个特殊的上游,Debian,Ubuntu 源于它。因此,对于许多软件包而言,它们是 Ubuntu 的上游,但对于某些软件包,例如内核,直接来自上游项目的 Ubuntu 软件包,尽管对于大多数软件包而言,Debian 是 Ubuntu 的上游,而打包的项目则是 Debian 的上游.

Ubuntu 的下游将是 Ubuntu 派生的发行版,例如 Linux Mint。

该术语的用法示例取决于上下文。因此,例如,如果您在 Firefox 中有一个 Ubuntu 没有引入的错误,那么您可能会听到“确保您正在向上游报告该错误”这个词。在这种情况下,此人的意思是直接向 Firefox 报告错误。

就 Ubuntu 而言,从用户那里获得正确的反馈给上游开发人员是我们所做的一件重要的事情。以下是我们所做工作的一些链接:

  • 应用程序开发人员的上游信息。我将这个命名空间作为想要了解如何使用 Ubuntu 的上游应用程序开发人员的登陆页面。
  • 向上游报告错误,请参阅报告
  • 确保来自用户的补丁返回上游,以便它们可以集成。请记住,发行版中包含的每个补丁都有工程成本,并且为每个人改进软件是一个目标。
  • 我们与 Debian 的合作。

为了更好地回答您的问题,这里有一些示例,说明有人会如何告诉您与上游交谈:

  • “我想为 Ubuntu 制作一个多媒体应用程序” - 您将使用上游 gstreamer 框架。
  • “我希望我的应用程序通过互联网与其他应用程序对话” - 您将使用上游心灵感应框架。
  • “我想为 Firefox 添加一个功能。” - 您可以直接与 Firefox 交谈并在上游完成所有工作。
  • “我想向 Firefox 添加一个 Ubuntu 特定功能” - 您会与 Ubuntu 交谈,因为它的上游可能不想要或不关心该功能。维护人员会通知您。
  • 同样,如果您要向上游应用程序(如 Firefox)报告由 Ubuntu 而非 Firefox 中的某些内容引起的错误,他们会建议您向下游报告错误。(感谢tj111

  • 同样,如果您要向上游应用程序(如 Firefox)报告由 Ubuntu 而非 Firefox 中的某些内容引起的错误,他们会建议您向下游报告错误。 (7认同)