The Linux Kernel Development Model
The Linux kernel began in 1991 as one person's toy project "just for fun." Linus Torvalds wanted only to share and get feedback on his work. Today, there are thousands of Linux contributors, and the kernel underlies a vast number of computing systems, including microcontrollers, mobile phones, laptops, and the largest supercomputers.
Linux development has always been in the open. Proposed changes, and discussions about them, occur predominantly via e-mail. This allows people from around the world to participate. The source code is managed and protected by a hierarchy of subsystem "maintainers," who ensure that changes to the system are not allowed without proper review and justification. Maintainers thus serve a critical and trusted role in preserving integrity of the kernel (both its design, and the quality of its source code). People who regularly contribute establish a reputation based on the quality of their changes (and feedback). A good reputation builds trust, and this can lead to recognition and increased responsibility within the community. In addition to the core kernel, contributors build tools, automation, and documentation that improve and streamline the development process itself.
This talk presents the Linux kernel development model. It will highlight important parts of the model that help ensure the quality of the kernel remains high, while permitting the flexibility to adapt and evolve. It will close with some discussion of the relationship between the University of Minnesota and the Linux community.
Alex Elder is an operating system developer who has been working on the Linux kernel since 2000. He first used Unix in college, and began his professional career maintaining Unix systems used by faculty and students. He studied parallel computing in graduate school, and went on to work with high-performance computers, and to develop software for highly secure operating systems. He developed an expertise in Unix and Linux storage, including distributed and scalable clustered storage. Since 2013, Alex has been working for Linaro, developing Linux kernel software for systems that use the Arm architecture.