I’ve made a new kind of analysis for Linux Kernel contributions. It tells us the contributors, such as IBM, Intel, Oracle and Fujitsu etc., were focusing on what kind of areas/subsystems of kernel to make their contributions.
As we know, Linux Kernel have a lot of different kind of active contributors including Non-profit and corporations. For corporations, there are also lots of different kinds and make the contribution be done on different kernel subsystems. We can simply attribute the corporations to distro vendor, hardware vendor, software vender and IT vendor, and pick up some representative corporations from each class to see what those giants are interesting in and bring them on contributing.
1) Distro Venders which sell Linux Distributions and provide support service
a) Red Hat
- kernel/trace/: No surprise that an OS development company uses a lot of effort to focus on how to monitor and debug kernel.
- arch/[x86|sparc*|ia64|powerpc|x86_64]/: As we will see, although other companies also cover some parts of arches, such as x86(Intel), PowerPC(IBM) and ia64(SGI), no one completely covers so many arches as a kernel contributor. A distro vendor should take care of arch code as seriously as platform vender.
- drivers/[net|char|scsi|media|ata|md|...]/: Also no surprise, although some hardware vendors provide Linux driver for their products, distro vendors still need to take care of some orphan devices or integration bugs.
- fs/gfs2/: Not only as a Distro Vender, Red Hat plays some role of IT vendor too and provide integrated solution for costumers. The Red Hat’s product – GFS is the file system which used for manage cluster servers for enterprise deployment.
- Red Hat are involved in a lot of other areas to which the contributions are not as shining as those mentioned before, however they are still huge ones compared to the contributions of companies after TOP10 contribution. Details can be referred by the KPS statistic data.
- sound/pci/: As Novell claimed “SUSE Linux Enterprise Desktop is the market’s only enterprise-quality Linux desktop”, SUSE also aims on desktop market. Providing great sound subsystem seems be consistent to that target.
- drivers/*/: Also consistent to the desktop market target, Novell provides more driver development efforts than Red Hat. Greg KH as one of the Novell employee costs a big part of his time on Staging Drivers to help Linux Kernel to support more and more new cool drivers.
- fs/fuse/: I can’t see obvious reason that why Novell support fuse such dedicated.
2) Hardware Venders which mainly sell hardware for profit.
- drivers/net/: Who are the biggest NIC and Wireless NIC vendors on the world? I think Intel must be one of the them.
- drivers/acpi/: As the biggest platform vendor, Intel leads the hardware and software development of power management.
- arch/[i386|ia64|x86_64]/: Who made the CPUs? As the biggest CPU manufactory, Intel should take care the arches which her CPUs support.
- arch/sh/: SuperH arch’s biggest manufactory supports the sh kernel without any surprise.
c) Analog Devices
- arch/blackfin/: Most of her efforts focus on her own platform – blackfin.
3) Software Venders which mainly sell software(except OS) and service for profit.
a) Oracle (before acquiring Sun, Oracle is more like a software vendor)
- fs/[btrfs|ocfs2|nfs]/: As the biggest OSS contributor of software vendor, Oracle is carrying a lot of OSS projects on. The Linux kernel filesystems are just the typical area Oracle is focusing on. As a database maker, Oracle is enforcing some filesystems of Linux Kernel and keeping creating new filesystems to tie in with their database or middleware products.
- block/: No surprise, Oracle should not only spend efforts on fs subsystems and also block IO subsystems to support their database solutions.
- net/[ipv4|ipv6|core]/: As a virtualization software maker, Paralles’s engineers did a lot of jobs to refine network namespace, which can support network virtualization better.
4) IT Venders which sell whole solutions including hardware, OS, middleware and applications, and of course service for profit.
- arch/[powerpc|s390|ppc64]/: IBM created those arches and provided Linux kernel which can be run on those platforms.
- kernel/: As the No.2 kernel contributor following Red Hat, IBM did a lot of work to core kernel part, such as kernel synchronism, cpu control, kprobe and etc.
- fs/[cifs|ext3|ext4]/: IBM also hired some active community engineers who work on filesystem area. As we all know, Ted is working as ext3/4 maintainer, IBM employee and TLF consultant.
- Linux Test Project: Although my statistic analysis only includes kernel source code, the great work of LTP makes me have to mention it. As a synchronous-with-kernel and individual project, LTP keeps updating its test cases for kernel and makes a lot of Linux related IT vendors to have a easy day to do QA work for kernel. The LTP project is a special contribution to Linux Kernel.
- fs/xfs/: As a product of SGI, XFS got wonderful support from SGI. A storage solution and HPC vendor taking some efforts on filesystems is totally unsurprising.
- mm/: Former SGI employee Christoph Lameter did a lot of contribution to memory management subsystem.
- arch/ia64/: SGI and HP are the initiators of IA64, thus for IA64, SGI did a lot of work as well as HP, Intel.
c) Fujitsu (my former employer )
- kernel/trace/: As a whole IT solution vendor, Fujitsu are doing a lot of work to enhance Linux Kernel’s trace and debug features to provide customer a more robust, maintainable and higher availabilty IT environment.
- drivers/pci/: During integration, Fujitsu enhances drivers to ensure a high quality hardware environment of server.
- mm/: Memory controller is maintained by Fujitsu and Google engineers to provide user a more flexible IT environment.
As we can see, corporations are dedicating themselves to kernel contribution for their product lines or services and trying to feed back to community when they gain from community. They are taking the responsibility to make sure the enterprise using components of kernel to be as healthy as customers want.
Let’s see the non-profit contributors are focusing on what areas, which maybe different from that of corporations.
Hobbyists (No one pays them for doing kernel contribution)
- drivers/media/: As we know, no commercial companies focused on this area. But hobbyists committed 3818 patches(2.4% of total patches of kernel since Linux-2.6.12) to drivers/media/. That is the amazing phenomena that desktop users are doing such great works to kernel development.
- drivers/[net|ide|staging|usb|video]: A lot of hobbyists are taking care of the stuff which enterprise users maybe don’t want to care.
- arch/[x86|arm]/: The hobbyists’ most favorite platforms are x86 and arm
That’s the brief introduction about who are interesting in what subsystem of kernel.
For detail information about other corporations and non-profit population who are not mentioned here, such as Google, HP, Academics etc. please refer to the statistic.