People are accusing Ubuntu for not contributing to Linux. I disagree because I do not think the word contribution should be limitted to source code contribution to the kernel. I think Ubuntu is contributing to Linux, just not in the traditional sense.
At the minimum, Ubuntu gives GNU/Linux a good PR. If you ask me which distribution you should play with if you are a Linux virgin? I will say Ubuntu. Ubuntu is sufficiently polished and dummy proof. Live CDs are nice, but installing from Live CD is difficult. Moreover, since the installation CD and Live CD is the same one, I don’t have to explain that when they get to the website they have to select to download a Live CD, not the installation one.
Ubuntu’s strength is user engineering. Ubuntu is one of the distribution that are more likely to listen to the users and cater for their needs instead of developers. While Linux’s developers do “eat their own dog food”, developers and users view of what a computer should be is different. Let’s face it, developer has the “curse” of knowing how the computer work and Unix developers are a particular bred that knows how to do the same thing 5 different ways with at least 5 loops you have to jump through whichever ways you choose ;-)
Want an example? See Shuttleworth’s latest post on the FUSA applet design.
Ubuntu seems to be following the traditional example of someone learning Linux. You start with the big thing, i.e., getting the distribution installed (in Ubuntu’s case, on a lot of computers), then start playing around with applications before finally go in and play with programming. And with programming, you start small, i.e., creating applets before diving in and out of the big piece of collaboration code, e.g., GNOME or the kernel itself. It is just a matter of time before Ubuntu finds the need to contribute to GNOME or the kernel, if it haven’t decided that it need to.
Ubuntu is not without flaws. Adam will happily points you to a few. I don’t necessary agrees with Adam but I can see his points.