Cand vine vorba de dezvoltarea de software, “upstream” (in traducere din limba engleza amonte) se refera la directia catre autorul original al programului sau softului respectiv.
Exista pachete software derivate dintr-un software principal si care orbiteaza in jurul acestuia, folosind acelasi motor software, acelasi core. De exemplu: este descoperit si rezolvat un bug intr-un software derivat apoi rezolvarea acelui bug este trimisa si pusa la dispozitia dezvoltatorului softwareului principal. Atunci spunem ca acel bug este trimis upstream.
Acelasi lucru se poate intampla si invers, in cazul in care bug-ul este descoperit in programul principal, se spune ca programele derivate asteapta rezolvarea problemei din upstream sau ca resposabilitatea pentru rezolvarea problemei este in upstream.
Astfel de practici sunt foarte comune in cazul sistemelor de operare, mai ales cele Linux. Acest lucru ajuta foarte mult atunci cand 4-5 sisteme de operare de exemplu isi rezolva toate in acelasi timp un bug, rezolvarea venind din upstream.