There has been some ‘debate’ that has bubbled to the surface again recently about Ubuntu vs. Red Hat on the issue of who contributes what to Linux.
Red Hat leads the Linux world with its contributions to the core Linux kernel and it also leads with its contributions to the GNOME desktop project as well. Ubuntu on the hand does contribute (not as much), and is focused on ‘fit and finish’ for the most part.
I personally don’t have much issue with the fact that Ubuntu doesn’t contribute as much upstream as Red Hat — though it is something that matters. Let me explain.
Linux and open source community development, is not a communist (or Marxist) model. Karl Marx had the slogan ‘To each according to his need; From each according to his ability’ which works for communists, not necessarily for Linux. In Linux and open source, the model that I see is more, ‘To each according to his need and from each according to his need’ as being more appropriate.
If you need something fixed or done, then you make that contribution upstream. Doing everything upstream is the only way that Linux will remain un-fragmented. Without upstream there is no Linux community.