Upstream (Softwareentwicklung)
# Upstream (Softwareentwicklung)

Upstream ist ein Begriff aus der verteilten Softwareentwicklung (häufig Open Source) und bezeichnet die Richtung eines Patches zum Ursprung (stromaufwärts), also zu den ursprünglichen Entwicklern oder Betreuer der Software.

So wird beispielsweise ein Upstream-Patch den ursprünglichen Autoren oder Betreuern der Software angeboten. Wenn er von ihnen akzeptiert wird, werden die Autoren oder Betreuer den Patch in einem zukünftigen Release in ihre Software aufnehmen. Im Falle einer Ablehnung muss die Person, die den Patch eingereicht hat, ihre eigene Distribution der Software des Autors beibehalten.

Die Upstream-Entwicklung ermöglicht es anderen Distributionen, davon zu profitieren, wenn sie das zukünftige Release aufgreifen.

Der Begriff bezieht sich auch auf Bugs; die Verantwortung für einen Bug soll upstream liegen, wenn er nicht durch die Portierungs- und Integrationsaufwendungen der Distribution verursacht wird.

Komplementär dazu beschreibt Downstream die Gegenrichtung.

