In theory everyone knows that some amount of non-functional maintenance is needed in software development, in addition to just adding/modifying features and correcting errors. In practice very few do any systematic effort on this. This book examines a project devoted to doing just that, the Linux Kernel Janitor Project, which performs maintenance of the source code of the Linux kernel. The objective of the study was to describe the inside of and the impact of the work done by the Linux Kernel Janitor Project. An objective was also to describe and discuss how such janitor activity can be useful in the general case. The patches produced by the janitors were analyzed and some of the effects and properties of the work done was described. Analysis showed that janitor activity reduces the amount of code while still keeping the same functionality or improving it. Some of the participants of the Linux Kernel Janitor Project were interviewed. Comparison with other open source projects that also had some janitor activity was performed.