The word 'upstream' appears many times in this article and with seemingly different meanings. GNOME is an upstream for Ubuntu, and so is Debian; but then users have a choice of filing a bug either 'upstream' or in Debian. Apparently, 'new GNOME features sometimes depend on arbitrary upstream choices such as X running on the first virtual terminal', but that to me seems like a choice made 'downstream' by whoever is packaging GNOME, and this meaning of 'downstream' is used later on in the article.
Perhaps a brief explanation of what exactly these terms mean would have helped, or in some cases, write them out in longhand as 'the Linux distribution building packages' and so on.