Upstream (software development)
In software development, upstream refers to a direction toward the original authors or maintainers of software that is distributed as source code, and is a qualification of either a bug or a patch. For example, a patch sent upstream is offered to the original authors or maintainers of the software. If accepted, the authors or maintainers will include the patch in their software, either immediately or in a future release. If rejected, the person who submitted the patch will have to maintain his or her own distribution of the author's software.
Upstream development allows other distributions to benefit from it when they pick up the future release.
The term also pertains to bugs; responsibility for a bug is said to lie upstream when it is not caused through the distribution's porting and integration efforts.