Last time I checked much of the work in Ubuntu was done by the teams (Kernel team, Server team, several translation teams, etc), the majority of members of each team are not employed by Canonical, and this is a problem.
As a matter of fact, I know of someone that worked in one of the Ubuntu teams, when his work became well known, and someone at Red Hat discovered that he was not paid they just hired him.
EDIT: I do not see this as a problem though, I watch closely the Dragonfly BSD project and as far as I know the majority of the developers are not paid to contribute with the project.