I think this criticism of canonical represents a pretty one-eye view of how what constitutes a contribution to open source. Patches are not the only way to contribute.
Canonical has put a huge effort into ubuntu and have made it one of the most easily consumable distributions of a vast amount of open source software. This exposure to users is the lifeblood of many projects.
It would be a fool who would try argue that the open source eco system would be better off without Canonical and ubuntu. If we are better off with them, then they must be contributing in somehow! So is the criticism that they are obliged to contribute more because they benefit from support contracts with users?
All users of open source software benefit from using it. We don't demand payment in cash or kind from our users, so why should we hold those that contribute in other ways to a higher standard?
To say that anybody is obliged to contribute back just devalues the gift that all contributions (code or otherwise) are!
To say that canonical is under some moral obligation to contribute developer time, is paramount to saying that we license our software freely so long as you don't get too big a benefit from it, in which case you are obliged to give in cash or kind! This is like the old ext.js license which was LGPL (unless you mades lots of money or were competative to ext.js)
That's not the deal! it's free! FREE F R E E !
Free as in freedom and that includes being freedom from moral obligations or guilt trips at the hands of those that think that only the kernel commits counts!
Canonical do contribute and even if they didn't it is wrong to say that they should.