Qual é a diferença entre upstream e downstream ao se referir a quem deve ir como desenvolvedor?

61

Qual é a diferença entre upstream e downstream ao se referir a quem (ou aonde) como desenvolvedor ou empacotador?

deinerson1
fonte

Respostas:

69

Pense nisso como um grande rio, com as pessoas que escrevem o software como a fonte do rio. Eles seriam a montante, a jusante seria a sua distribuição e, no final do rio, seria o usuário. O Ubuntu está no meio do rio.

O upstream seria o software que o Ubuntu empacota e envia aos usuários. Coisas como GNOME, Firefox, X.org, o kernel do Linux e muitos outros aplicativos. Essa é a maior parte das coisas que estão no arquivo, pois representam uma coleção de projetos upstream.

O Ubuntu tem um upstream especial, o Debian, do qual o Ubuntu deriva. Portanto, eles são upstream do Ubuntu para muitos pacotes, embora para alguns pacotes, como o kernel, os pacotes Ubuntu diretamente do projeto upstream, embora para a maioria dos pacotes o Debian seja o upstream para o Ubuntu, e o projeto empacotado seja upstream para o Debian .

Downstreams do Ubuntu seriam distribuições derivadas do Ubuntu, como o Linux Mint.

Exemplos de uso desse termo dependem do contexto. Por exemplo, se você tiver um erro no Firefox que o Ubuntu não introduziu, poderá ouvir o termo "Verifique se está relatando esse erro a montante". A pessoa significa denunciar o bug diretamente no Firefox neste caso.

No caso do Ubuntu, obter o feedback certo dos usuários para os desenvolvedores upstream é uma coisa importante que fazemos. Aqui estão alguns links do que fazemos:

  • Informações upstream para desenvolvedores de aplicativos. Eu mantenho esse espaço de nome como uma página de destino para desenvolvedores de aplicativos upstream que desejam entender como trabalhar com o Ubuntu.
  • Relatando erros a montante , consulte o relatório .
  • Garantir que os patches dos usuários voltem para o upstream para que possam ser integrados. Lembre-se de que cada patch transportado em uma distro tem um custo de engenharia E melhorar o software para todos é um objetivo.
  • Nosso trabalho com o Debian.

Para responder melhor à sua pergunta, aqui estão alguns exemplos de como alguém lhe diria para conversar com um cliente:

  • "Eu quero criar um aplicativo multimídia para o Ubuntu" - Você usaria a estrutura gstreamer upstream.
  • "Quero que meu aplicativo fale com outros aplicativos pela Internet" - você usaria a estrutura de telepatia upstream.
  • "Quero adicionar um recurso ao Firefox." - Você conversaria diretamente com o Firefox e faria todo esse trabalho a montante.
  • "Quero adicionar um recurso específico do Ubuntu ao Firefox" - Você conversaria com o Ubuntu, pois provavelmente o upstream não iria querer ou se importar com o recurso. Um mantenedor informará você.
  • Da mesma forma, se você reportar um bug em um aplicativo upstream (como o Firefox) causado por algo no Ubuntu, não no Firefox, eles indicariam que você reportasse o bug no downstream. (obrigado tj111 )
Jorge Castro
fonte
7
Da mesma forma, se você reportar um bug em um aplicativo upstream (como o Firefox) causado por algo no Ubuntu, não no Firefox, eles indicariam que você reportasse o bug no downstream.
tj111 29/09/10