Qual é a diferença entre upstream e downstream quando se refere a quem acessar como desenvolvedor?

58

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

    
por deinerson1 28.09.2010 / 22:02

1 resposta

66

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 sua distribuição, e no final do rio seria o usuário. O Ubuntu está no meio do rio.

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

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

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

Exemplos de uso deste termo dependem do contexto. Então, por exemplo, se você tem um bug com o Firefox que o Ubuntu não introduziu, então você pode ouvir o termo "Certifique-se de que você está relatando esse bug upstream". A pessoa significa reportar o bug diretamente para o Firefox neste caso.

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

  • Upstream informações para desenvolvedores de aplicativos. Eu mantenho esse namespace como uma landing page para desenvolvedores de aplicativos upstream que querem entender como trabalhar com o Ubuntu.
  • Relatando bugs upstream , veja o relatório .
  • Garantindo que os patches dos usuários recebam o backup para que eles possam ser integrados. Lembre-se de que cada patch realizado em uma distro tem um custo de engenharia E melhorar o software para todos é uma meta.
  • Nosso trabalho com o Debian.

Para responder melhor à sua pergunta, aqui estão alguns exemplos de como alguém diria para você falar com um desenvolvedor:

  • "Eu quero fazer um aplicativo multimídia para o Ubuntu" - Você usaria o framework gstreamer upstream.
  • "Eu quero que meu aplicativo converse com outros aplicativos pela internet" - Você usaria a estrutura de telepatia upstream.
  • "Eu quero adicionar um recurso ao Firefox." - Você iria falar diretamente com o Firefox e fazer tudo o que funciona upstream.
  • "Eu quero adicionar um recurso específico do Ubuntu ao Firefox" - Você falaria com o Ubuntu já que é provável que o desenvolvedor não queira ou não se preocupe com o recurso. Um mantenedor o informará.
  • Da mesma forma, se você relatasse um bug para um aplicativo upstream (como o Firefox) causado por algo no Ubuntu, não no Firefox, eles indicariam o bug do downstream. (obrigado tj111 )
por Jorge Castro 28.09.2010 / 22:08