The reason for this page is that I wanted to see how much Linux had changed from it's origin as a hobbyist OS to one dominated by corporations. Particularly how the influence of Red Hat has grown over the years. My impression is that Red Hat sets the course for Linux development since every new new subsystem like D-Bus, Wayland, Systemd, Pulseaudio and Pipewire seem to come out of either Red Hat or their proxy the Gnome Project. I realize none of those things are technically "Linux" in that they are not part of the kernel but you'd be hard pressed to find a distro that doesn't use them and they don't really have any serious alternatives except with maybe Systemd.
With most small Linux GUI toolkits and DEs languishing and the uncertain future of Qt and by extension KDE which is the only other major DE it's starting to look like Gnome and GTK will become the defacto standards for Linux desktop programs. All this amount to Red Hat owning the Linux desktop.
Despite none of the projects being part of the kernel I thought it would be interesting to look at old Linux Foundation kernel reports and see if contributions by Red Hat had increased. This was also the only available type of statistics I could find. I also wanted to look at the amount of volunteer contributions and see if they had gone down. First there are some caveats to go through.
Firstly the kernel reports have two closely related categories of developers: Unknown and None. "None" to quote the 2008 report "represents developers who are known to be doing this work on their own, with no financial contribution happening from any company." while Unknown are "developers for whom we were unable to determine a corporate affiliation". However we can be pretty certain that most unknown developers are also small fry and therefor likely unpaid since it also states that they don't make many individual contributions:
"With few exceptions, all of the people in this category have contributed 10 or fewer changes to the kernel over the past three years, yet the large number of these developers causes their total contribution to be quite high." Further more the 2008 report has 13.9% for None and 12.9% for Unknown which together amounts to 26.8%. Then the 2009 report has 18.2% for None and 7.6% for Unknown which is 25.8% combined, making it look like they were able to move five percentage points directly from the Unknown to None category with few Unknown developers going to any other category. These two categories thus appear closely related and I've combined both into a "minor contributors" category for the charts.
Then there's additional confusion about what time spans the reports deal with. For example the 2010 report was published in December of 2010 and deals with kernel versions published from June 2009 till August of 2010. There was no report for 2011 and instead we got one in March of 2012 dealing with dates from October 2010 till January 2012. So the reports are not broken down into clean years and instead deals with varying intervals of kernel releases.
In order to cut the Gordian knot I've chosen to just label the reports after the year they where published and present the numbers as is. This causes the years 2011 and 2014 to not be listed.
It would be interesting to have data for years after 2017 but the Linux Foundation have stopped producing these reports.
Here's percent of kernel contributions.
And here's total number of contributions.
As we can see the number of individual contributions have been halved in ten years but surprisingly Red Hats contributions have also gone down slightly both as a percentage of totals and in absolute contributions.
The Linux Foundation comments on the decline of smaller contributions in the 2013 reports:
Interestingly, the volume of contributions from unpaid developers has been in slow decline for many years. What was 14.6% in the previous version of this paper is 13.6% now. There are many possible reasons for this decline, but, arguably, the most plausible of those is quite simple: kernel developers are in short supply, so anybody who demonstrates an ability to get code into the mainline tends not to have trouble finding job offers. Indeed, the bigger problem can be fending those offers off. As a result, volunteer developers tend not to stay that way for long.
Even if this is true we have to conclude that these people now working as employees have less leeway in choosing the direction of their work.
As a side note Intel's contributions increased significantly from 4.4% and 3,388 contributions in 2008 to being the single largest contributor with 13.1% and 10,833 contributions in 2017 and while Intel's influence might be no less nefarious than Red Hat's that's for another day.
Red Hat not having an increase in contributions did surprise me but I guess most of their projects are outside the kernel as before stated. It would still be interesting to see how many lines of code in a desktop distro like Ubuntu are from Red Hat. That amount has to have increased and the premise of this page is that what we have now could more accurately be called REDHAT / Linux rather than GNU / Linux since it is wholly possible to install Linux without any of the GNU components but I wonder if you could do it without using any Red Hat software.
Is all of this a bad thing? I dunno, I use Ubuntu and don't ever notice Systemd or Pulseaudio, everything just works. I'm in no position to comment on their code and I wouldn't want to go back to the days where it took hours just to get sound or wifi working or when you had to manually poke around in xorg.conf to get the screen set up properly. But they definitely have created a schism in the Linux community with a lot of people not being happy with the direction they're taking. This is not helped by Red Hat often taking a supercilious attitude to the rest of the community. Lennart Poettering in particular tends to have a very high handed approach to criticism.
Ignoring the technical merits this dependency on Red Hat I think is dangerous and shows the weakness of open source. Because while something like Systemd is open source it has grown to 1.3 million lines of code and it's not likely that any organization, much less a hobbyist community would be able to take up the maintenance of such a system if Red Hat one day decided to stop developing it and that is just one of many such systems developed by Red Hat that are now integral parts of the Linux desktop. Large monolithic programs are bound to increase the fragility of the Linux project. Just like it would be less fragile to have many small programs each doing a single thing it would be better to have many smaller contributions. With Red Hat what we now have is a large monolithic entity creating large monolithic programs.
An argument could of course be made that without Red Hat we wouldn't have these systems in the first place to complain about. If it wasn't for Red Hat would any alternative to Systemd or Pulseaudio have popped up? Or would indecision and fragmentation have caused Linux to fall behind? If there had come along alternatives would they have been better? This sort of counterfactual history never really lead anywhere but there's a point to be made. In any case the way Linux is headed is increasingly towards a few large actors setting the direction of the project and I don't think this process can be halted. If these actors then lost interest, if say Google's Fuchsia got off the ground it would no longer be possible for Linux to go back to being a hobbyist OS because it's now become too big and unwieldy and would simply be abandoned.
The kernel reports themselves were hard to get a hold of. The Linux Foundation's website is a mess and most had to be googled. Here are links to them if anyone wants to check them out: