Is 'upstream first' really the best policy? Do not ship any code until it has run the gauntlet of placating the LKML? Of course the kernel developers would naturally suggest such a policy, since we all believe our own taste and judgement is superior to that of third parties. However, if left unchecked, this bias just leads to not-invented-here syndrome.
Just as an idea, might it not be a better discipline to have a 'downstream first' policy? No new feature should be added to the kernel until it has been widely tested in real-world use, preferably in a shipping product. And given two rival solutions, the one that solves an existing real-world problem and is already doing so for many users should be preferred to the one that is more general or cleaner, but does not exist yet or does not solve a problem immediately at hand.