associated with a software project, usually an open source
The idea is that software streams from developers, to package maintainers and then to users. When reporting a bug
"upstream", it's reported from users to maintainers/developers or from maintainers to developers.
"Please report this bug upstream."
"Wonder what upstream has to say about this."
"Silly upstream, that bug has been ignored for 42 years now"
"Thank you upstream, for doing this in your spare time"
The word upstream has several meanings in the field of computer science
One meaning of the word upstream is used to refer to the core development of an Open Source
project - e.g. an upstream patch
is a patch targeted at being included in the project's main branch. Code submitted to the core developers of the some software can be said to be submitted upstream.
Another use of the word refers to the speed at which data can be transferred from the client to the server (uploading).
(source: Wikipedia: Upstream_(computer_science) )
We go to great lengths to make those patches widely available, in an easy to find format, so that they will be useful to upstreams, and other distributions. That benefits Debian, but it also benefits Suse and Redhat, if any of them are willing to take the time to study and apply the patches.
We synchronise our development with upstream, and with Debian, and with other distributions such as Suse and Gentoo and Mandrake and Red Hat, on a regular basis. We draw code from the latest upstream projects (which might not even be in Debian, or in Red Hat, or addressed in the LSB).
(source: wiki.ubuntu.com/MarkShuttleworth )