In
software development
Software development is the process of designing and Implementation, implementing a software solution to Computer user satisfaction, satisfy a User (computing), user. The process is more encompassing than Computer programming, programming, wri ...
, downstream refers to a direction away from the
original authors or
maintainers of software that is distributed as
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
, and is a qualification of a
patch. For example, a patch ''sent downstream'' is offered to the developers or maintainers of a
forked software project. If accepted, the developers or maintainers will include the patch in their software fork, either immediately or in a future
release
Release may refer to:
* Art release, the public distribution of an artistic production, such as a film, album, or song
* Legal release, a legal instrument
* News release, a communication directed at the news media
* Release (ISUP), a code to i ...
. Sometimes, "downstream" is used in contexts in which the developer does not have control, perhaps due to its inclusion as part other software or as part of a system.
For contrast,
upstream refers to code sent toward the original development team.
See also
*
Upstream (software development)
*
Backporting
Backporting is the action of taking parts from a newer version of a software system or software component and porting them to an older version of the same software. It forms part of the maintenance step in a software development process, and ...
*
Waterfall software development
*
Fork (software development)
In software development, a fork is a codebase that is created by duplicating an existing codebase and, generally, is subsequently modified independently of the original. Software built from a fork initially has identical behavior as software ...
References
Computing terminology
Software project management
{{compu-prog-stub