When forking on bitbucket/github, you sometimes need to add the original repository as a remote repository so that you can pull more recent changes into your fork. I've seen, in other posts (e.g. How do I update a GitHub forked repository?), the original referred to as upstream.
Why "upstream" for the original and "origin" for the github/bitbucket-hosted fork? Are there other conventions out there we should be aware of?
I imagine this might be useful to visualize as "it is hard to swim upstream" so it's even harder to push upstream... but, well, that's an inadequate analogy.