One of the aspects of the Linux work compared to the Windows one is the variety and challenges of different release schedules. In the Windows world this is pretty simple, there is one product and it releases when it releases, which is roughly once every two years or so. Everyone working on Windows is very aware of the upcoming releases, when they will happen, when they go into release candidate, when their end of life is and so forth . It is very clear and very simple.
In the Linux world, this is very different. Of course, the biggest difference is that Windows is one product, one thing coming from a single vendor. In Linux we are talking about a “family” of related products from many vendors, some with multiple products. This is on top of the kernel release schedule that comes from Linux itself – which we will not worry about here.
Each distro is unique and makes its own release decisions. In fact, release schedule is often a key factor in what defines one distro from another. For example, all three primary enterprise Linux vendors offer two different products and in all three cases, the differentiation is primarily around release schedule! So the concept of release schedule is certainly an important one in this marketplace.
There are three primary release “styles” that we find across all operating systems, not only Linux distros: long term release, short term release and rolling release. Each release style serves a different purpose, but all generally follow a similar set of rules.
The idea of a release is that the packages within a release will not change outside of security and stability patches. Of course, this is predicated on the behaviour of enterprise vendors as they exist today, any given distro may chosen to follow established norms or not. There is no inherent rules of the universe that make this behaviour as it is; but it is a strong convention and the concept of a release is based upon this convention.
Long Term Release
This release model is the most common in the general field of enterprise operating systems and is followed outside of Linux by systems like FreeBSD, Solaris, AIX, Mac OSX and Windows. Long Term Releases, often referred to by LTS, are designed around slow system change rates providing years, sometimes many years, between major system releases allowing IT teams to avoid migrations for much longer and giving software vendors targets that are stable for a long time.
In the enterprise Linux world, all vendors offer at least one Long Term Release products. These are the most commonly deployed.
From Red Hat the RHEL and CentOS products are long term release with extremely long release cycles – not on a set schedule but currently releasing every three to four years.
Suse has two LTS products: Suse Linux Enterprise Server and openSuse Leap. SLES maintains a release schedule that is currently between three and five years and openSuse Leap is based relatively closely on the SLES releases.
Ubuntu’s LTS release is conveniently named LTS and releases every two years on the even years, in April, like clockwork. Ubuntu currently has the shortest release cycle for any LTS product in this category.
All Long Term Releases have minor releases that come out between the major releases and bring small changes or adjustments to the operating systems that are larger than would be appropriate to release with a patch, but are not large enough to justify a release of a new operating system. The idea of these minor releases is that they are small enough to not be “breaking” allowing software that is targeted at the major release to remain functional throughout the major release cycle. Major releases are considered “breaking” with large changes such as significant new kernel features, changes in package choices, new compiler features, different libraries, and so forth.
Short Term or Rapid Release
Long term release schedules obviously create problems for those seeking more modern packages and features. To address this, all enterprise Linux vendors offer a short term release product.
Red Hat provides the Fedora distribution which releases roughly every six months, but with a flexible schedule. Fedora is not exactly a separate distribution than RHEL and CentOS, but instead every so often a Fedora release is picked to be the “base” for a future RHEL and CentOS release. The basis is not direct and some packages from later Fedora releases are sometimes added in, some changes are made, but the basics closely match a Fedora release. The Fedora release is frozen and put through extensive testing before turning into a long term RHEL release.
The Suse family does not use a short term release product and is unique in this.
Ubuntu has a somewhat different strategy from Red Hat. Ubuntu releases a product every six months, on a very set schedule. Every fourth release is earmarked as the long term release, the other three are short term releases. This makes for a far more simple and straightforward system than how Red Hat works with short term release users and long term release users overlapping for six months every two years.
The more rapid release schedule type is that of the rolling release, which happens basically continuously. This release strategy is uncommon, but is beginning to be taken more seriously in recent times. Only Suse with the openSuse Tumbleweed distribution provides an enterprise rolling release system today. Updates can be as frequent as every couple of days.
Unlike other release schedules which take large groups of packages and “freeze” them as a single release, the rolling release has updates to individual packages coming as they are ready. So updates are small, but constant. This allows for simplified adaptation keeping changes to a micro scale, but makes creating a single, predictable target very difficult.
Those looking for the most up to date packages and cutting edge features will find rolling releases to be the best way to keep everything as up to date as possible.
An important understanding of release schedules is that this is not directly tied to either the length of support given to a release nor does it indicate the amount of testing that goes into each release.
Each release style plays an important role in the system ecosystem and by having different styles of release the enterprise Linux world has greater variety and flexibility for addressing a greater range of needs than would otherwise be feasible.
Currently, long term releases are the most prominent and popular in systems administration, but this trend seems unlikely to continue. The overall stability in the overall enterprise Linux space has increased and the need for currency is so often a more critical concern that more rapid distros are increasingly desired.