Upstream and downstream

Technologically speaking

JT Paasch
2 min readFeb 28, 2014

Lots of technologies talk about “upstream” and “downstream.” For instance, git people talk about the upstream, while other technologies and tools do too.

But I say: what the hell does that mean? What is the UPSTREAM and what is the DOWNSTREAM? I always have a hard time with it. In fact, I have such a hard time with it that whenever I see those terms, I have to draw myself a diagram, in order to figure it out.

The diagram essentially involves scratching onto the nearest piece of paper a picture of a bubbling brook, with a fish at the top of the stream looking down the stream, and another fish at the bottom looking up the stream.

The basic idea here is the notion of the bubbling brook. In particular, the crucial point is this: there are very many bits of sand and plant-matter and other what-nots floating down the river. Lots and lots of these bits of stuff. All going down the stream.

Now, if you’re a fish swimming in this bubbling brook, and it just so happens that at this very moment, you are looking down the stream, then you would tell me that you are looking DOWNSTREAM.

Conversely, if you’re a different fish swimming in this bubbling brook, and it just so happens that at this very moment, you are looking up the stream as these bits go by, then you would tell me that you were looking UPSTREAM.

That’s really all these terms mean. When technologies use the word “downstream,” they just mean that they are talking from the perspective that is looking down the stream. They are seeing all these little bits going down the stream.

By contrast, when technologies use the word “upstream,” they just mean that they are talking from a perspective that is looking up the stream. They are seeing all these little bits coming to them, from farther up the stream.

--

--