Linux kernel workflow

The Linux kernel uses a workflow that refers to the traditional way Linus Torvalds has driven its evolution during these years, based on a military like hierarchy.

Simple kernel developers work on their personal branches, rebasing the master branch on the reference repository, then push their branches to the lieutenant developers master branch. Lieutenants are developers that Linus assigned to particular topics and areas of the kernel because of their experience. When a lieutenant has his work done, he pushes it to the benevolent dictator master branch (Linus branch) and then if things are okay (it is not simple to cheat him), Linus pushes his master branch onto the blessed repository, the one the developers use to rebase from before starting their work.

This kind of workflow is not usual; Linus and the Linux kernel bandwagon crafted it as it exactly reflected the way they used to work on projects since the beginning, when developers used patches and email to forward their work to Linus Torvalds.

Having millions of lines of code to manage, and thousands of contributors, I find this hierarchy model to be a good compromise in terms of working scope, responsibility, and patches skimming.

The following picture helps you better understand this flow:

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.216.123.120