In the Linux kernel world, there are three types of released kernels: distribution kernels, stable kernels, and release candidate kernels. The release candidate kernels (signified with a -rcX numbering system) is the bleeding edge kernel that Linus Torvalds maintains. All new features are merged here during the two-week merge window. Stable kernels (without a -rcX) are released every 2-3 months when Linus feels all new features have been stablized. A particular stable kernel (like 3.1) will be updated with security and bug fixes, and newer versions will have a X.Y.Z designation, like 3.1.2. Linux distributions (like Red Hat, Suse, or Ubuntu) will take a particular stable kernel and package it for their distribution. This is a distribution (or distro) kernel. Distributions may backport bug fixes to their kernels for 6 months, or even up to 2-4 years. Distribution kernels often lack new hardware support, so compiling with the latest stable kernel is recommended for newer systems.