Who Contributes to the Linux Kernel?
The Linux kernel is an enormous open source project that has been in development for more than 25 years. While many people tend to think of open source projects as being developed by passionate volunteers, the Linux kernel is mostly developed by people who are paid by their employers to contribute. According to The Linux Foundation, since 2005, “some 14,000 individual developers from over 1,300 different companies have contributed to the kernel.”
About once a year, The Linux Foundation releases the Linux Kernel Development report with data about release frequency, rate of change, who contributes, and which companies sponsor this work among other things. The 25th Anniversary Edition released in August 2016, covers development through the 4.7 release (July 24, 2016), with an emphasis on 3.19 to 4.7, which were released since the previous report in February 2015.
One of the most interesting data points is the decline of contributions from unpaid developers, which has decreased to just 7.7 percent in the period covered in the 2016 report compared to 14.6 percent in the 2012 version. With Linux kernel developers in such high demand, many of these unpaid developers have been hired by companies who employ people to contribute.
During the period of this most recent 2016 report, the top contributing companies to the Linux kernel were Intel (12.9 percent), Red Hat (8 percent), Linaro (4 percent), Samsung (3.9 percent), SUSE (3.2 percent), and IBM (2.7 percent). This is fairly consistent with the report from February 2015 with IBM slightly ahead of SUSE as the only difference in the order of contributions from companies. However, if you go back a couple of years, the story was a bit different: In the 2013 report, Red Hat was in the top spot with 10.2 percent followed by Intel (8.8 percent), Texas Instruments (4.1 percent), Linaro (4.1 percent), SUSE (3.5 percent), IBM (3.1 percent), and Samsung (2.6 percent).
The biggest change in the top contributors between the 2013 and 2016 reports is the increase in contributions from Intel. Imad Sousou, vice president and general manager of the Intel Open Source Technology Center (OTC), has talked about the many Linux kernel maintainers employed at Intel and how Intel’s “influence in Linux is a strategic advantage for Intel.” This strategic importance for Intel has led them to devote an increasing number of resources to Linux kernel development over the past few years.
The increase in kernel contributions from Samsung has been quite interesting. Going back to the 2012 report, Samsung was at the very bottom of the published list with 0.6 percent of the contributions. The dramatic increase shown in the 2015 (2.6 percent) and 2016 (3.9 percent) reports coincides with the 2013 formation of the Samsung Open Source Group (OSG) chartered with open source contributions, strategy, and advocacy in open source communities and within Samsung. This tweet from Ibrahim Haddad, vice president of R&D and head of Samsung’s Open Source Group, is an example of the focus that the company has had on increasing contributions to the kernel:
— Ibrahim Haddad, Ph.D. 🇺🇸 🇨🇦 🇱🇧 (@ibrahimatlinux) August 25, 2016
Contributions from Red Hat have been gradually declining as a percent compared to other companies. Going back to the 2010 report, Red Hat had a strong lead with 12 percent of the overall contributions compared to Intel in second place with 7.8 percent. In the 2013 report is when the decrease in contributions from Red Hat starts to show up with 10.2 percent compared to Intel’s 8.8 percent. It’s interesting that the combined participation from Red Hat and Intel has been pretty stable over the years ranging from a low of 18.1 percent in the 2012 report and a high of 20.9 percent in the 2016 report (2010: 19.8 percent, 2013: 19 percent, and 2015: 18.9 percent).
At LinuxCon North America in August 2016, Red Hat CEO Jim Whitehurst talked about how alongside the technical contributions to the kernel, they also see themselves as a business model innovator with a focus on enterprise adoption. This focus combined with increased contributions from companies like Intel probably indicate that others are doing some of the types of work that Red Hat might have done in the past.
Who Approves the Code?
However, changes or patches going into the kernel don’t tell the full story of how companies contribute to the Linux kernel. It’s also important to look at the subsystem maintainers and other people who are reviewing the changes, signing off on the patches, and accepting this code for inclusion in the kernel. The top employers for these signoffs in the 2016 report are Red Hat (18.4 percent), The Linux Foundation (13.5 percent), Intel (12.1 percent), Linaro (8.7 percent), Google (5.3 percent), Samsung (3.8 percent), SUSE (2.9 percent), and IBM (2.1 percent).
The Linux Foundation being in the number two spot isn’t surprising since the organization employs Greg Kroah-Hartman who maintains the stable branch, the staging subsystem, and a number of other subsystems. Kroah-Hartman was responsible for 13,992 of the 14,180 signoffs attributed to The Linux Foundation. While Red Hat is in the top spot, Red Hat’s influence in the kernel is still declining when you look at signoffs which have dwindled from 37.7 percent in the 2012 report (2013: 25.7 percent and 2015: 18.8 percent) to 18.4% in the 2016 report.
When you dig a bit deeper, beyond the reports, and start looking at git commits, there are other interesting insights to be found. For example, Vision Engraving Systems began appearing in the reports starting in 2013 (2.3 percent), 2015 (2.2 percent), and 2016 (1.3 percent). An Arizona company making engraving systems seems like an unlikely contributor compared to the tech giants making up most of the rest of the list, so we took a closer look. After digging through the git commits, this is the work of one person, H. Hartley Sweeten, who, not surprisingly, is in the number one spot at the top of the list of individual contributors in the 2013, 2015 and 2016 reports.
One of the lessons learned in the 2016 report does a nice job of summing up how the Linux kernel considers contributions from companies:
“Corporate participation in the process is crucial, but no single company dominates kernel development. So, while any company can improve the kernel for its specific needs, no company can drive development in directions that hurt the others or restrict what the kernel can do.”