Linux versioning scheme and development process
▶ One stable major branch every 2 or 3 years ▶ Identified by an even middle number ▶ Examples: 1.0.x, 2.0.x, 2.2.x, 2.4.x ▶ One development branch to integrate new functionalities and major changes ▶ Identified by an odd middle number ▶ Examples: 2.1.x, 2.3.x, 2.5.x ▶ After some time, a development version becomes the new base version for the stable branch ▶ Minor releases once in while: 2.2.23, 2.5.12, etc.
Changes since Linux 2.6
▶ Since 2.6.0, kernel developers have been able to introduce lots of new features one by one on a steady pace, without having to make disruptive changes to existing subsystems. ▶ Since then, there has been no need to create a new development branch massively breaking compatibility with the stable branch. ▶ Thanks to this, more features are released to users at a faster pace.
Versions since 2.6.0
▶ From 2003 to 2011, the official kernel versions were named 2.6.x. ▶ Linux 3.0 was released in July 2011 ▶ Linux 4.0 was released in April 2015 ▶ This is only a change to the numbering scheme ▶ Official kernel versions are now named x.y (3.0, 3.1, 3.2, ..., 3.19, 4.0, 4.1, etc.) ▶ Stabilized versions are named x.y.z (3.0.2, 4.2.7, etc.) ▶ It effectively only removes a digit compared to the previous numbering scheme
New development model
▶ After the release of a 4.x version (for example), a two-weeks merge window opens, during which major additions are merged. ▶ The merge window is closed by the release of test version 4.(x+1)-rc1 ▶ The bug fixing period opens, for 6 to 10 weeks. ▶ At regular intervals during the bug fixing period, 4.(x+1)-rcY test versions are released. ▶ When considered sufficiently stable, kernel 4.(x+1) is released, and the process starts again.
▶ Issue: bug and security fixes only released for most recent stable kernel versions. ▶ Some people need to have a recent kernel, but with long term support for security updates. ▶ You could get long term support from a commercial embedded Linux provider. ▶ You could reuse sources for the kernel used in Ubuntu Long Term Support releases (5 years of free security updates). ▶ The http://kernel.org front page shows which versions will be supported for some time (up to 2 or 3 years), and which ones won't be supported any more ("EOL: End Of Life")
Linux Kernel changes
▶ The official list of changes for each Linux release is just a huge list of individual patches! ▶ Very difficult to find out the key changes and to get the global picture out of individual changes. ▶ Fortunately, there are some useful resources available ▶ http://wiki.kernelnewbies.org/LinuxChanges (4.2 and 4.3 are missing) ▶ http://lwn.net ▶ http://linuxfr.org, for French readers