Rolling distribution
This article currently links to a large number of disambiguation pages (or back to itself). (October 2011) |
This article possibly contains original research. (September 2011) |
This article needs additional citations for verification. (September 2011) |
In software development, a rolling release (or rolling updates) development model refers to a continuously developing software system; this is opposed to a standard release development model which uses software versions that must be reinstalled over the previous version. Rolling software, instead, is continuously updated, in contrast to standard release software which is upgraded between versions. Rolling release development models are one of many types of software release life cycles and, in terms of software development methodology in general, rolling release development models are less common than standard release development models in most mainstream software sectors, such as operating systems.
Although a rolling release software development model can be used in the development of any piece or collection of software, it is typically, though not exclusively, seen in use by a minority of Linux distributions. Software distributions, of which Linux distributions form a very large proportion, are commonly referred to as distros, with rolling release distributions commonly referred to as rolling distros. When used as an adjective (instead of a noun) rolling release is often shortened to rolling, whether referring to distributions, software, or development models.
A rolling release is typically implemented using small and frequent updates. However, simply having updates does not automatically mean that a piece of software is using a rolling release cycle; to qualify as a rolling release, the philosophy of developers must be to work with one code branch, as opposed to discrete versions. Software updates are typically delivered to users by a package manager software application on the user's personal computer accessing, through the internet, a remote software repository (often via a download mirror) stored on an internet file server.
Although rolling distributions use a rolling release software development model, the vast majority of the software contained within the distribution's software stack is usually standard release (i.e.] not rolling release) software. Also, not all software distributions based on, derived from, or related to rolling release distributions are necessarily rolling releases themselves. An example of this is ConnochaetOS (formally DeLi Linux) which is a standard (i.e. non-rolling) release distribution based on the rolling release distribution Arch Linux.
Development models
For the purpose of this article rolling releases have been divided into the categories "partially rolling" (or part-rolling), "cyclically rolling" (or cyclic-rolling), "optionally rolling" (or opt-rolling) and "fully rolling" (or full-rolling). The terms "partially rolling" (along with synonyms "semi-rolling" and "half-rolling"), "optionally rolling" and "fully rolling" are standard terms used by software developers and users.[1][2][3][4][5][6] The term "cyclically rolling" is not necessarily a standard term, though the term "cyclic release" is — see Counter-examples (non-rolling releases) section. The term "cyclically rolling" has been used in this article to differentiate rolling releases based on a "cyclical" (opposed to "rolling") development branch, since these have relevant differences from other types of rolling releases — see Freeze (software engineering) and Further details subsection below.
For brevity, "partially rolling", "cyclically rolling", "optionally rolling" and "fully rolling" have been contracted to "part-rolling", "cyclic-rolling" "opt-rolling" and "full-rolling" in some parts of this article. The contraction of these terms is not necessarily a reflection of their standard use within the software community and is purely for the purpose of this article.
Rolling release software distributions in general often fall into one or more of the following software development model categories and subcategories:
Development models of part-rolling distributions
- Part-rolling distribution with a non-rolling stable core; e.g. PCLinuxOS and Chakra GNU/Linux.
- Part-rolling distribution with a non-rolling wrapper around a rolling base; e.g. Toorox Linux.
Development models of cyclic-rolling distributions
- Cyclic-rolling distribution based on a cyclical (usually primary) development branch of a non-rolling release 'parent' distribution; e.g. antiX and LMDE.
Development models of opt-rolling distributions
- Separate rolling edition of a primarily non-rolling release distribution; e.g. LMDE. [Note: Depending on one's definition, LMDE might or might not qualify as such since it uses a Debian base instead of Linux Mint's Ubuntu base, making them binary incompatible.]
- A non-rolling release distribution that can be run as a rolling release, usually via a rolling software repository; e.g. openSUSE Tumbleweed,
- Rolling distribution on which is based a non-rolling release edition of the same distribution.
- Rolling distribution which is designed to be optionally able to run as a non-rolling release distribution.
Development models of full-rolling distributions
- Full-rolling distribution based on a rolling (usually secondary) development branch of a non-rolling release 'parent' distribution; e.g. aptosid.
- Full-rolling distribution based on another full-rolling 'parent' distribution; e.g. Sabayon Linux, Calculate Linux & Funtoo (all based on Gentoo Linux) and KahelOS, Arch Hurd, ArchBang & CTKArch (all based on Arch Linux).
- Full-rolling independent distribution; e.g. Arch Linux, Gentoo Linux & YOPER.
Further details
Part-rolling (or semi-rolling or half-rolling) distributions have a subset of software packages that are not rolling. These packages usually form either a non-rolling 'core' (such as the kernel and other major packages) or conversely a non-rolling 'wrapper' (normally custom application software to aid ease of use).
Cyclic-rolling distributions are based on a cyclical development branch of a non-rolling distribution; as a result the general age and stability of the packages does not remain consistent through the development cycle; especially across the end of a cycle, during a release of the non-rolling parent distribution.
In particular, prior to each release of the parent distribution, its primary development branch is frozen. During this freeze period, no major changes are made to the development branch, and it is at this point that it is at its most stable and bug-free. At the new release of the parent distribution, the old development branch becomes the new stable branch and a fresh development branch is formed, restarting the whole software development cycle. It is at this point that the fresh development branch is now at its most unstable and buggy.
This software development and release cycle can be disruptive for cyclical rolling release software distributions based on primary development branches, due to the freeze period and the subsequent sudden discontinuity in stability and software bugs, as most rolling release distributions try to maintain a steady and consistent user experience. This conflict arises due to the inherent difference between rolling release and non-rolling release software development models, hence making this a challenge for all cyclical rolling release software distributions to overcome.
Opt-rolling distributions either have a separate rolling and non-rolling release edition of the distribution, or can be optionally run as a rolling or a non-rolling release distribution. They are relatively rare, compared to other rolling release distribution models and tend to fall into four main subcategories (see Development models of opt-rolling distributions above).
Full-rolling distributions have psudeo-releases and installation media that are simply a snapshot of the software distribution at the time of the release. There is therefore no need to reinstall the operating system, as is (usually) the case with upgrading between versions of a standard release. Also, a rolling release operating system installed from an old install disc can be fully updated post-installation to the latest system software and application software via the Internet.
All rolling distributions (whether partial, cyclical or full) have software contained in the repositories that is more current than that contained on the installation media and usually contains very recent software releases – often the latest stable software releases available.
Development branches
Other Linux distributions may maintain a development branch in between releases. These development branches (dev-branches) are often labelled with the suffix -current, -unstable, -testing or -snapshot and may resemble a rolling release because software in such a branch is continually updated. However, unlike a rolling release, primary development branches are intended to be the next release, and will be frozen and tested prior to such a release.
Mandriva Cooker, openSUSE Factory, Fedora Rawhide and Debian Testing (on which LMDE and antiX are based) are examples of primary development branches, and Debian Unstable (on which aptosid is based) is an example of a secondary development branch. By their very nature, these development branches tend to be unstable and buggy, with security fixes being slow, incomplete or non-existent; they also tend to lack support and documentation.
For these reasons, some software distributions recommended (either in the software documentation or on the distribution's website) that development branches, developmental milestone releases, pre-alpha software, alpha software, beta software and release candidates should generally not be used as enterprise software in a production environment, in case of data loss, etc..[7][8] A humorous example of such is the Linux distribution Chakra GNU/Linux in alpha stage having the installation message “WARNING: This is alpha software, it could eat your hamster!!“.[9][10]
Unlike rolling releases, development branches are primarily intended to be used by software developers, software testers and early adopters rather than your average end-users — see Software release life cycle.
Rolling distributions: Examples
The following Linux, BSD and Hurd distributions are all examples of full-rolling releases, except for those that are specifically indicated as PARTIAL (which are part-rolling) or CYCLICAL (which are cyclic-rolling). Distributions marked as OPTIONAL can be run either as rolling or non-rolling releases. Software distributions derived from another distribution (called the parent distribution) are called child distributions.
Those marked as FORK, although still related to (shared ancestry), are now only derived from (forked codebase) and no-longer based on (shared codebase) their parent distribution, making them independent distributions. Software forking in software development breaks binary-compatibility of software packages between related software distributions in an analogous manner to speciation in biological evolution preventing cross-breeding between species.
See GNU/Linux Distribution Timeline at Wikimedia for a Linux distribution evolutionary tree.
See GNU/Linux Distribution Timelines for the original source material at Futurist.se.
Other than Arch Hurd (which uses the GNU Hurd kernel) and the Gentoo/*BSD distributions (which use the BSD kernels), the rest are all Linux distributions (which use the Linux kernel). The following list of rolling distributions is grouped into families of related distributions.
List of rolling release software distributions
- Arch-related: Arch Linux, ArchBang, Chakra GNU/Linux (FORK | PARTIAL: non-rolling core), Parabola GNU/Linux, CTKArch, KahelOS & Arch Hurd[11]
- Debian-based: aptosid[12] (Debian-unstable base), LMDE[13] (CYCLICAL: Debian-testing base), antiX[14] (CYCLICAL: Debian-testing & MEPIS base), Epidemic Linux & Vanillux
- Fedora-based: Fuduntu[15][16][17]
- Gentoo-based: Gentoo Linux,[18] Gentoo/FreeBSD, Gentoo/NetBSD, Gentoo/OpenBSD, Gentoo/DragonflyBSD, Funtoo, Calculate Linux,[19] Toorox Linux (PARTIAL: non-rolling wrapper), Sabayon Linux,[20] Google Chrome OS (and its development base Chromium OS[21])
- Mandriva-related: Unity Linux,[22] PCLinuxOS (FORK | PARTIAL: non-rolling core)
- rPath-based: Foresight Linux[23]
- Sorcerer-related: Sorcerer Linux,[24] Source Mage (FORK) & Lunar Linux (FORK)
- SUSE-based: openSUSE[25] (OPTIONAL: rolling when using Tumbleweed repository)
- Other (Independent): YOPER
Note: Although this list aims to be as comprehensive as possible, it almost certainly is not due to the huge number (literally hundreds) of software distributions (especially Linux distributions).
Rolling distributions: Further details
The information contained within this section is sourced either directly from the software distribution's website or from Wikipedia or DistroWatch, except where indicated otherwise by inline citations.
Arch-related rolling distributions
Chakra GNU/Linux, ArchBang, CTKArch, Parabola GNU/Linux and KahelOS are all rolling release binary-based Linux distributions related to, derived from, or based on, the independent rolling release binary-based Linux distribution Arch Linux.
- Arch Linux is an independent community developed Linux distribution that subscribes to the KISS philosophy and aims to use only 'vanilla software' packages (i.e.] plain/non-customized), minimizing the number of software patches and giving a 'simpler' operating system. It uses the Pacman package manager and is a 'self-build' distribution.
- Chakra GNU/Linux is a part-rolling LiveCD Linux distribution, that emerged from a modular modified KDE desktop for Arch Linux called KDEmod. KDEmod has now been merged into 'The Chakra Project' and is no-longer available for Arch Linux. Like Arch Linux, Chakra GNU/Linux subscribes to the KISS philosophy. It focuses exclusively on the KDE desktop, describing itself as "GTK free by default",[26] but has a 'bundles system'[27] that allows some popular GTK-based applications to be run inside their own self-contained filesystem. Originally forked from Arch Linux, Chakra GNU/Linux is now independent of Arch Linux[28] — thus making it still Arch-related (due to shared ancestry), but now Arch-derived (i.e.] forked from Arch's codebase), rather than Arch-based (i.e.] following Arch's codebase).
- ArchBang is a lightweight Linux distribution with a minimalistic Openbox desktop. Its name was inspired from CrunchBang Linux (or #!), a lightweight Debian-based Linux distribution which also uses a minimalistic Openbox desktop.
- CTKArch is a lightweight Linux distribution with a stylized Openbox desktop and support for the new Linux Btrfs filesystem.
- Parabola GNU/Linux is a 'self-build' Libre Linux distribution endorsed by the Free Software Foundation (FSF) as being fully 100% free software. Free software (or 'libre software') is 'free' as in 'freedom', where as freeware is 'free' as in 'free of charge'. Most of the software distributions listed on this page are open source software and freeware, but not fully 100% 'Free software', as defined by the FSF. However, they are all based on software which is, such as the GNU operating system (see GNU project) with the Linux, GNU Hurd or BSD kernels.
- KahelOS is a Filipino Linux distribution that uses the GNOME desktop.
- Arch Hurd is a lightweight Hurd distribution with a stylized Openbox desktop and the experimental GNU Hurd kernel. Therefore, although based on Arch Linux, it is not a Linux distribution as it does not use the Linux kernel.
See List of Linux distributions#Pacman-based for a list of Linux distributions using Arch Linux's Pacman package manager.
Debian-based rolling distributions
Aptosid is a rolling release Deb binary-based Linux distribution based on Debian-unstable, Debian's unstable development branch (Sid). Linux Mint Debian Edition (LMDE) and antiX are cyclical rolling release Deb binary-based Linux distributions based on Debian-testing. Debian-testing is a cyclical development branch and prior to each release of Debian-stable, Debian-testing is frozen (and thus not rolling) affecting rolling distributions based on it — like LMDE and antiX.
Such distributions are therefore described on this page as cyclically rolling releases (or cyclic-rolling for short) to distinguish them from other forms of rolling releases, and are not classed as fully rolling releases (or full-rolling for short). For more information, see Development models section above. Also, please note that Debian here refers specifically to Debian GNU/Linux (which uses the Linux kernel) and not Debian GNU/kFreeBSD (which uses the FreeBSD kernel) nor Debian GNU/Hurd (which uses the GNU Hurd kernel).
- Previously known as Sidux, aptosid is a rolling release Linux distribution based on Debian-unstable, Debian's unstable development branch (Sid), and using KDE as the primary desktop with Xfce and Fluxbox 'spins' (or 'flavors') also available. Besides Debian's unstable repositories, aptosid uses its own package repositories and tools to help avoid potential breakage, otherwise more common when using Debian-unstable.
- Unlike LMDE, Linux Mint's main editions are non-rolling and Ubuntu-based, with GNOME as the primary desktop and alternative spins for the KDE, Fluxbox and LXDE desktops. As of August 2011, LMDE is only available with the GNOME or Xfce desktop; however, as with most distros, alternative desktops can be installed. It has been announced[29] (on the Linux Mint Blog July 2011) that, like the Xfce spin, all future KDE spins of Linux Mint (from version 11 onwards) may be rolling and LMDE-based.
- AntiX is a MEPIS Linux variant based on SimplyMEPIS but with IceWM and Fluxbox instead of KDE as the desktop and based on Debian-testing instead of Debian-stable. As SimplyMEPIS is based on Debian-stable, SimplyMEPIS is not rolling.
- Epidemic is a Brazilian Debian based Linux distribution with KDE as the main desktop.
- Vanillux is a Linux distribution based on Debian which uses the GNOME3 desktop environment with the GNOME Shell graphical user interface.
Note: There are currently ongoing (as of September 2011) discussions[30][31][32][33] amongst Debian developers (on Debian developer mailing list) regarding a proposal of developing a rolling release edition of Debian called DebianCUT (DebianCUT unofficial website) — where "CUT" stands for "Continuously Usable Testing". This has been suggested to be either a new edition of Debian or to replace (or be a modified or re-branded version of) Debian-testing.
See List of Linux distributions#Debian-based for a list of Debian-based Linux distributions.
Fedora-based rolling distributions
Fedora is an independent fixed release community developed RPM binary-based Linux distribution sponsored by Red Hat and used as the base for Red Hat Linux
- Fuduntu is a rolling release RPM binary-based Linux distribution which uses the GNOME desktop environment and is based on Fedora.
See List of Linux distributions#Fedora-based for a list of Fedora-based Linux distributions.
Gentoo-based rolling distributions
- Gentoo Linux is an independent 'self-build' source-based (opposed to binary-based) distribution that puts an emphasis on compiling software packages from source-code using the Portage Package Manager, rather than installing pre-compiled binary software packages. It supports a wide range of computer architectures and desktop environments.
- Gentoo/FreeBSD, Gentoo/NetBSD, Gentoo/OpenBSD and Gentoo/DragonflyBSD are part of the Gentoo/*BSD project which is itself part of the Gentoo/Alt project to port Gentoo to other kernels, besides Linux.
- Funtoo Linux is 'self-build' and source-based but differs from Gentoo in its use of a bazaar-style development model.
- Calculate Linux is a source-based distribution aimed at business and enterprise deployment. It has KDE as its primary desktop, but is also available with GNOME or Xfce.
- Sabayon Linux is a binary-based LiveCD Linux distribution with a wide range of desktops available. Sabayon subscribes to the "just works"/"out of the box" philosophy and is intended to make Gentoo easier to use for less experienced Linux users.
- Toorox Linux is a source-based Linux distribution which (like Sabayon) aims to make Gentoo 'newbie-friendly'. However (unlike Sabayon) although the Gentoo base is rolling, the Toorox wrapper is not rolling, making Toorox Linux only part-rolling. Also, Sabayon is binary-based, where as Toorox is source-based. Toorox Linux is available with the KDE or GNOME desktop environment.
- Google Chrome OS is based on the open source software project Chromium OS; it is a netbook orientated operating system built around the Linux kernel with Google's Chrome Browser (which is based on the open source Chromium browser) as the desktop's graphical user interface. Netbooks using Google Chrome OS are referred to as Chromebooks, whilst netbooks using Chromium OS are referred to as Chromiumbooks. Google Chrome OS is the only rolling distribution referred to in this article that is not open source software, nor freely downloadable from the internet. However, its base, Chromium OS, is open source software and freely downloadable from the internet.
- Chromium OS is the open source software project and operating system that Google's Chrome OS is based on. The relationship between Chrome OS and Chromium OS is similar to that between Red Hat Enterprise Linux and Fedora, that between SUSE Linux Enterprise Desktop and openSUSE, and that formally existing between Solaris and openSolaris (now openIndiana). This is a common practice where a commercial company or corporation wants to utilize an open-source software development model and the resources of the open-source community to aid the software development and software testing of a software platform to base its commercial product on.
See List of Linux distributions#Gentoo-based for a list of Gentoo-based Linux distributions.
Mandriva-related rolling distributions
PCLinuxOS and Unity Linux are rolling release RPM binary-based LiveCD Linux distributions related to, derived from, or based on, the independent non-rolling binary-based Linux distribution Mandriva Linux. Mandriva Linux is developed by Mandriva and was originally forked from Red Hat Linux. Both Mandriva Linux and Red Hat Linux use the RPM binary package format which was originally developed by Red Hat.
- PCLinuxOS is a part-rolling Linux distribution available with a large selection of desktop environments that evolved into a distribution from originally being a software repository for Mandriva Linux users. It aims to be easy for new users, especially those use to Microsoft Windows. Originally forked from Mandriva Linux, PCLinuxOS is now independent of Mandriva Linux,[34] pulling many of its software packages from other distributions — thus making it still Mandriva-related (due to shared ancestry), but now Mandriva-derived (i.e.] forked from Mandriva's codebase), rather than Mandriva-based (i.e.] following Mandriva's codebase).
- Unity Linux uses Openbox as the default desktop and is intended as a core distribution for other Linux distributions, referred to by Unity Linux users as branches (not to be confused with development branches), to base themselves on. These "branches" (often called distrolets by Linux users), based on Unity Linux, include the following Linux distributions: Unite17, HUMANity, SAMity, TinyMe, ChameleonOS, Granular Linux and Synergy Linux. Like YOPER, Unity Linux is an RPM v5 distribution. RPM v5 is a fork of the RPM package format.
See List of Linux distributions#Mandriva Linux-based for a list of Mandriva-based Linux distributions.
rPath-based rolling distributions
Based on the independent Linux distribution rPath Linux, Foresight Linux is a Linux distribution using the Conary Package Manager and is available with the GNOME or KDE desktop environment.
Sorcerer-related rolling distributions
Source Mage and Lunar Linux are derived from (i.e.] forks of) the independent Linux distribution Sorcerer Linux. Like Sorcerer, they are 'self-build' source-based (opposed to binary-based) Linux distributions that put an emphasis on compiling software packages from source-code, using a software compiler, rather than installing pre-compiled binary software packages.
Note: Gentoo Linux, the Gentoo/*BSDs, Funtoo, Calculate Linux, Toorox Linux, and most other Gentoo-based distributions, are also source-based (rather than binary-based) — with Sabayon Linux (which is binary-based) being an obvious exception. However, all the other distributions referred to in this article are binary-based (rather than source-based) distributions, as are the majority of Linux distributions and most software distributions in general.
SUSE-based rolling distributions
OpenSUSE is an independent RPM binary-based LiveCD Linux distribution. It is open source and community developed, produced by the openSUSE Project which is sponsored by SUSE. SUSE was formally part of Novell, both of which were acquired by Attachmate. Novell and SUSE were split and are now subsidiaries of The Attachmate Group. OpenSUSE is used as an open source development platform for SUSE Linux Enterprise Desktop (SLED) in a similar way that Fedora is for Red Hat Enterprise Linux (RHEL).
Note: By default openSUSE is not a rolling release distribution since it has stable fixed releases and developmental "milestone" releases, as well as a development branch and testing repository called 'Factory'. However, it becomes a rolling release distribution when pointed at the rolling openSUSE Tumbleweed repository instead of the default repository.[35]
See SUSE Linux distributions for a list of SUSE-based Linux distributions.
Other (Independent) rolling distributions
YOPER is an independent RPM v5 binary-based Linux distribution – available with the KDE (version 4 or 3), Xfce or LXDE desktops – which aims to be the "fastest out of the box distribution". It uses hardware recognition tools from Knoppix. YOPER and Unity Linux both use the RPM v5 fork of the RPM package format and are collaborating on a package maintenance software project called ubuild.
Counter-examples (non-rolling releases)
The most common form of non-rolling release (or standard release) software is fixed release software, where (unlike a continuous rolling release) the release is discrete and occurs at a fixed point in time. A minor software release in-between software versions is called a point release. Some software projects adopt a "flexible" release policy (where software is released only once it is considered 100% stable and complete) rather than a "rigid" release policy (where software is released on a specific per-determined date).
The term cyclic release is sometimes used to describe software where the software project uses a cyclic software development process. Likewise, the term periodic release is sometimes used to describe software that is released at regular time intervals. Like rolling release, the terms fixed release, point release, cyclic release and periodic release do not apply solely to operating systems and software distributions. They can apply to any piece or collection of software; for example application software might adopt either a rolling release or fixed release software development model.
Examples of popular non-rolling release operating systems and software distributions include Microsoft Windows, Mac OS X, most BSDs and most Linux distributions. The following short list of non-rolling release operating systems and software distributions is primarily ordered by kernel type and includes only a very small selection of non-rolling releases.
List of non-rolling release operating systems and software distributions
- DOS-based: FreeDOS, DR-DOS, Multiuser DOS, PTS-DOS, MS DOS†, Microsoft Windows-pre-NT† (e.g. Windows 1.0, Windows 2.x & Windows 3.x ; superseded by Windows NT)
- NT-based: Windows NT (e.g. Windows XP, Windows Vista, Windows 7 & Windows 8P), ReactOS
- CE-based: Windows CE (e.g. Windows Embedded Compact 7), Windows Mobile, Windows Phone (e.g. Windows Phone 7 & Windows Phone 7.5)
- XNU(Mach&BSD)-based: Mac OS (e.g. Mac OS X), iOS, Darwin OS, PureDarwin, GNU-Darwin, OpenDarwin†
- GNU Hurd(GNU Mach)-based: Debian GNU/Hurd
- Mach-based: Tru64 UNIX
- kFreeBSD-based: FreeBSD, Debian GNU/kFreeBSD, PC-BSD, DesktopBSD, Dragonfly BSD, MidnightBSD, GhostBSD, FreeNAS, Tomahawk Desktop
- kOpenBSD-based: OpenBSD, GNOBSD
- kNetBSD-based: NetBSD, Debian GNU/NetBSD†
- Linux-based: Ubuntu, Debian GNU/Linux, Slackware, Redhat Linux, CentOS, Fedora, Mandriva Linux, SUSE LinuxO, MeeGo, WebOS, Google Android, and many more...
- Solaris/Illumos-based: Solaris, OpenSolaris†, OpenIndiana, Nexenta OS, SchilliX, BeleniX
- Minix-based: MINIX 3
- Neutrino-based: QNX, BlackBerry OS, BlackBerry Tablet OS
- SPARTAN-based: HelenOS
- Others: IBM AIX, HP-UX, Symbian
Key: † = Discontinued; P = Pre-release; O = Opt-rolling (non-rolling by default).
Note: Unlike the list of rolling release software distributions (see above), this list does not aim to be comprehensive, due to the huge number of standard (i.e. non-rolling) release software distributions and operating systems.
The XNU and Hurd kernels are based on the Mach microkernel. The GNU Project's GNU Hurd kernel is based on their GNU Mach implementation of the Mach microkernel.
Solaris/Illumos distributions – as well as Mac OS, Darwin OS, IBM AIX, HP-UX and Tru64 UNIX – are all members of the Unix family of operating systems; while Linuxes, BSDs and Hurds, along with iOS, QNX and Minix, are all examples of Unix-like operating systems.
See Unix History Tree diagram for an evolutionary tree of Unix and Unix-like operating systems.
See Comparison of operating systems for more information.
Comparison of rolling & non-rolling releases
The vast majority of operating systems and software distributions use a non-rolling release (or standard release) model rather than a rolling release model.[36] They have significant changes between version numbers, requiring a complete operating system reinstall, or at least a major upgrade.
Advantages and disadvantages: software development
In terms of the software development process, this results in significant development effort being spent on keeping old versions up to date due to propagating bug fixes back to the newest branch, as opposed to focusing more on the newest development branch. Also, unlike rolling releases, standard releases require more than one code branch to be developed and maintained, which increases the software development and software maintenance workload of the software developers and software maintainers.
On the other hand, software features and technology planning are easier due to a better understanding of upcoming features in the next version(s) rather than simply the whim of the developers at any given time. Software release cycles can also be synchronized with those of major upstream software projects, such as desktop environments. Hence, there are pros and cons to both standard release and rolling release software development methodologies.[36]
Advantages and disadvantages: end-user experience
As far as the end-user experience, standard releases are often viewed as more stable and bug-free since software conflicts can be more easily addressed and the software stack more thoroughly tested and evaluated, during the software development cycle.[36] For this reason, they tend to be the preferred choice in enterprise environments such as computer workstations, IT consulting, system administration, and mission-critical tasks such as data management and servers.[36]
However, rolling releases offer more current software which can also provide increased stability and fewer software bugs along with the additional benefits of new features, greater functionality, faster running speeds, and improved system and application security, among others. With the last of these, software security, the rolling release model can have advantages in timely security updates, fixing system or application security bugs and vulnerabilities, that standard releases may have to wait till the next release for. Though, in a rolling release distribution, where the user has chosen to run it as a highly dynamic system, the constant flux of software packages can introduce new unintended software vulnerabilities.[36]
Popularity & adoption of rolling distributions
This subsection is focused on the popularity and adoption of rolling distributions. For a more general look at the popularity and adoption of Linux distributions, please see Linux adoption.
Popularity of rolling distributions
The ability to install, customize and configure only once, yet still continue to run the very 'latest and greatest' application software on a cutting-edge or bleeding-edge operating system, gives rolling release distributions a highly devoted following within the free and open source software community, which, though still a small minority, seems to be growing.[30][37][38][39][40][41]
Indeed, within the rolling release user community, a rolling development model is often viewed as a 'must-have' feature when choosing and moving between software distributions (commonly referred to as distro hopping). In some cases, ardent fans of rolling distributions may become converts, opting solely to use rolling distributions, in a similar manner to 'Linux converts' with Linux adoption.
Adoption of rolling distributions
Although there are no official figures on adoption of rolling release software distributions, the popular website DistroWatch keeps page-hit statistics for its various distribution pages, including distributions which are rolling releases and those which have rolling release versions. This gives a very rough indication of the overall popularity landscape of software distributions and is used by some as an unofficial measure of popularity and use of various software distributions.
There are also no official figures for the total number of Linux systems,[42][43] partly due to the difficulty of quantifying the number of PCs running Linux (see Desktop Linux#Measuring adoption), since many users download Linux distributions. Hence, the sales figures for Linux systems and commercial Linux distributions indicate a much lower number of Linux systems and level of Linux adoption than is the case; this is mainly due to Linux being free and open source software that can be downloaded free of charge.[42][44]
However, the website The Linux Counter Project (LiCo) (its new website can be found here) keeps a guesstimate of the number of Linux systems, but does not distinguish between rolling release and standard release distributions.The DistroWatch and Linux Counter figures, taken together, could in theory be used to arrive at a very rough guesstimate of the popularity and adoption of rolling distributions.
In September 2008 Steve Ballmer (Microsoft CEO) claimed 60% of servers run Linux.[45] Linux is by far the most popular operating system among supercomputers, due to its superior performance, flexibility, speed and lower costs. In November 2008 Linux held an 87.8 percent share of the world's top 500 supercomputers.[46][47][48][49][50]
As of June 2010 the operating systems used on the world's top 500 supercomputers were:[48]
OS | Share |
---|---|
Linux | 91.0% |
Unix | 4.4% |
Hybrid Unix/Linux | 3.4% |
Windows HPC | 1.0% |
BSD | 0.2% |
These figures indicate Linux dominates the supercomputer sector with a market-share of over 90% and climbing, and that Linux constitutes well over half of the server market. However, it is unclear what proportion of these run rolling release Linux distributions. The vast majority of BSD systems are non-rolling since the only significant rolling release BSDs are the Gentoo/*BSD variants, which have nowhere near the popularity of major BSD distributions such as FreeBSD; likewise, as GNU Hurd is still experimental, Hurd distributions (rolling and non-rolling) have minimal market-share. BSD and Hurd adoption thus currently has negligible impact on the overall adoption of rolling distributions, since the vast majority of rolling distributions are Linux distributions and Linux adoption currently dwarfs that of BSD and Hurd in the PC, mobile, enterprise, server and HPC sectors.
With major software distributions (such as Google's Chrome OS, openSUSE Tumbleweed, LMDE, Fuduntu, Chakra and the possibility of DebianCUT) opting for a rolling release software development model, the number and popularity of rolling distributions would appear – and has been asserted by some, particularly within the rolling community – to be on the rise.[30][37][38][39][40][41] However, whether this is truly part of a bigger long-term software development and use trend (either towards favoring rolling releases over standard releases, or towards giving the user the option to use software in either manner) remains to be seen.
Also – if one takes into account the current explosion in mobile computing with Google Android, iOS and other mobile devices – although the absolute number of rolling release installs may have increased, the relative number may not have. Whether the latter will may depend partly on the future of the Google Android (non-rolling) and ChromeOS (rolling) operating systems — specifically, if Google merges the two, whether the resulting operating system will be a rolling release or not.
Common myths & misconceptions
There are many myths and misconceptions regarding Linux and software distributions in general;[51] this section focuses on the most common of those that regard rolling distributions.
- Some rolling distributions take snapshots of the distribution at regular time intervals and use "version" numbers to label these. During a snapshot point, a rolling distribution may try to minimize the number of software bugs. The snapshots are normally then made available for download form the web to be used by users as install media. These are quite different from release versions used in non-rolling distributions as they are not releases per se (though they are sometimes referred to as such) but snapshots. As a result, this can confuse new users as to whether a distribution is a rolling release, due to the use of "version" numbers, which are often associated with non-rolling releases.
- The distinction between rolling release software distributions and development branches of standard release software distributions is often overlooked by users inexperienced with rolling distributions. This can lead to confused comments, such as: "distro-X is a rolling distribution if you use its development branch" — where distro-X is a standard release distribution. Even in rare cases where the development branch is a rolling (opposed to the more common cyclical) development branch, this does not make the distribution rolling. Unlike standard release distributions, rolling release distributions do not have development branches.
- Some non-rolling release (aka standard release) application software, operating systems and software distributions are capable of rolling software upgrades (treating the software upgrade as if it were a major software update), without the need for a full reinstall of the software to overwrite the old version with the new one. Such software is sometimes confused with rolling release software, where, in fact, it is usually standard release software with rolling upgrades. Distributions with this capability tend to warn against or discourage new users from using rolling upgrades (instead recommending a fresh install) as they can break the operating system, especially at the hands of inexperienced users.[52] There are many significant differences between rolling release and standard release software, with not needing to be reinstalled being only one of these. Hence, it is a necessary condition but not a sufficient condition of rolling release software.
- A common misconception about rolling release distributions is that users are forced to accept rolling software updates, even if they do not wish to. This is not the case. Just because a rolling system can be cutting-edge or bleeding-edge, doesn't mean the user is forced to run such a system. The choice of which rolling updates to accept is completely within the user's control, and a user can choose to run a more 'conservative' system set-up if they so wish. Also, more than one version of a given software package is often available in the software repository, giving the user the freedom to choose which to run.
- A warning often made regarding rolling distributions is that they are NOT for 'newbies' (new users). Though this may generally be true for the majority of newbies and the majority of rolling distributions (particularly when it comes to the likes of Gentoo Linux, Funtoo, Source Mage, Lunar Linux and Arch Linux) it is a sweeping generalization to apply it to all rolling distributions and all newbies. For example, PCLinuxOS, Sabayon Linux, LMDE and Google Chrome OS are specifically intended to be 'newbie friendly'.[53][54][55] Not aimed at newbies per se, Fuduntu, Chakra and Toorox do intend to be more more 'user friendly' than the distributions they are based on or derived from. Also, users new to Linux but with a keen interest in computer software (e.g. IT enthusiasts, programmers or computer science students) might primarily wish to understand how a Linux system is built, works and is put together, for which Arch Linux, Gentoo Linux or Linux From Scratch might be likely recommendations. Although it may be argued that non-rolling distributions make better starting distributions for your average newbie, it is worth noting that unlike most software distributions rolling distributions do not force the user to reinstall in order to run current software. For newbies that are inexperienced with re-installs and lack an experienced user to turn to, a 'newbie friendly' rolling distribution might be viewed by some as worth considering.
- Another common assertion is that, by their very nature, rolling distributions in general are inherently unstable. Rolling distributions are often highly customizable, especially 'self-build' ones, which can give the user more control over stability (and other attributes) than many standard release distributions. Also, although rolling distributions generally have the latest stable software packages available in their software repository, the freshness of the packages in the repositories can vary from distribution to distribution, and need not be bleeding-edge in all cases. Also, as mentioned previously, more than one version of a given software package is often available in the software repository, giving the user the freedom to choose which to run.
Regarding this last misconception, it is not a necessary condition for a rolling distribution to be bleeding-edge, and there are many bleeding-edge standard release distributions for which stability is just as big an issue. Hence – though it is sometimes claimed by critics of rolling releases – rolling release distributions in general need not be inherently unstable, compared to standard release distributions. Rather, any apparent instability is more likely to be to do with the developer- and user-base in general opting for a more cutting-edge and bleeding-edge approach to software development and use. Thus, it is more a reflection of the culture and attitude within the 'rolling' community, than it is a flaw or failure in the rolling release software development model. However, the majority of rolling distributions do tend to include cutting-edge and bleeding-edge software in their software repositories so the user has the choice whether or not to use such.
Focus of effort
It is common to occasionally take snapshots of the rolling release, which can be refined and "frozen" and only maintained for software security. This is often impractical since it requires duplication of effort. Typically, defects and characteristics of a particular software release are not specifically addressed in a separate/isolated effort (e.g. as patches); instead, they are addressed in the main software development effort.
See also
- Operating system
- Release engineering
- Software distribution
- Software versioning
- Software release cycle
- Software release life cycle
- Software testing
- Software development
- Software development methodology
- Software development philosophy
- Software development process
- Software development model
- Agile software development
- Iterative and incremental development
- Spiral model
- Waterfall model
Further reading
See Wikibooks.org for more Wikibooks.
References
- ^ The Chakra Project. "half-rolling development model". chakra-project-org.
- ^ The Chakra Project. "The Chakra Project Wiki: FAQs". chakra-project-org.
- ^ "Fedora Release Life-cycle Proposals". fedoraproject.org.
- ^ "Fedora Development Mailing List". fedoraproject.org.
- ^ Rev. "Linux Certification – Preparation". walkingwithzen.com.
- ^ "Why openSUSE". opensuse.org.
- ^ "Debian: Releases". debian.org.
- ^ "Debian: Releases: Sid". debian.org.
- ^ "Chakra GNU/Linux Review". LinuxBSDos. 2011-04-30. Retrieved 2011-09-30.
- ^ Dan Lynch (2009-05-30). "Chakra GNU/Linux Review". danlynch.org. Retrieved 2011-09-30.
- ^ Official Arch Hurd About Page, archhurd.org, retrieved 2011-01-18
- ^ Official aptosid Manual, manual.aptosid.com, retrieved 2011-01-18
- ^ Official Linux Mint Debian Edition Download Page, linuxmint.com, retrieved 2011-01-18
- ^ Official antiX Wiki, antix.mepis.org, retrieved 2011-01-18
- ^ Andrew (2011-09-16). "Fuduntu becomes rolling release". webupd8.org. Retrieved 2011-09-30.
- ^ "DistroWatch Weekly: Q&A - Fuduntu Interview". distrowatch.com. Retrieved 16 October 2011.
- ^ Chema Martín. "The Linux Experience: Fuduntu Interview". cristalinux.blogspot.com. Retrieved 16 October 2011.
- ^ Official Gentoo Handbook, gentoo.org, 2008-04-22, retrieved 2011-01-18
- ^ L'autre, About Calculate Linux, calculate-linux.org, retrieved 2011-02-06
- ^ lxnay (2008-12-23), Sabayon 4 and future Entropy, planet.sabayon.org, retrieved 2011-01-18
- ^ "Chromium OS Developers Guide". google.com. Retrieved May 22, 2011.
- ^ Official Unity Linux Documentation, docs.unity-linux.org, retrieved 2011-01-18
- ^ "Official Foresight Linux About Page". foresightlinux.org. Retrieved 2011-01-18.
- ^ "Sorcerer Admin Mailing-List". berlios.de. Retrieved 13 October 2011.
- ^ Linux Planet (2011-03-10), Newest openSUSE Linux Offers Rolling Releases, linuxplanet.com, retrieved 2011-05-23
- ^ The Chakra Project, The Chakra Project - About Chakra, chakra-project.org, retrieved 2011-08-24
- ^ The Chakra Project, The Chakra Project - Bundles, chakra-project.org, retrieved 2011-08-24
- ^ DistroWatch, DistroWatch.com: Chakra GNU/Linux, distrowatch.com, retrieved 2011-09-01
- ^ Clement Lefebvre (2011-07-11). "Upcoming releases". blog.linuxmint.com. Retrieved 2011-08-24.
- ^ a b c Lucas Nussbaum (2011-04-02). "Debian rolling discussion on -devel@". lucas-nussbaum.net. Retrieved 2011-09-06.
- ^ Raphaël Hertzog. "A constantly usable testing distribution for Debian". lwn.net.
- ^ Adnan Hodzic (2011-03-17). "DebianCUT, a new rolling release?". omgubuntu.co.uk. Retrieved 2011-09-07.
- ^ Susan Linton (2011-04-03). "Debian may begin rolling release branch". ostatic.com. Retrieved 1 October 2011.
- ^ DistroWatch, DistroWatch.com: PCLinuxOS, distrowatch.com, retrieved 2011-09-01
- ^ openSUSE Project (2011-08-26). "openSUSE Tumbleweed Portal". opensuse.org. Retrieved 2011-09-01.
- ^ a b c d e Chad Perrin (210-08-02), Point-release vs rolling-release: developer, user and security considerations, techrepublic.com, retrieved 2011-09-06
{{citation}}
: Check date values in:|date=
(help) - ^ a b "DistroWatch: Page-Hit Statistics". distrowatch.com. Retrieved 2011-09-30.
- ^ a b "2007 Ubuntu Poll: Should Ubuntu move to a rolling release cycle?". ubuntuforums.org. Retrieved 2011-09-30.
- ^ a b "2009 Ubuntu Poll: Would you prefer Ubuntu have a version that was a rolling release model?". ubuntuforums.org. Retrieved 2011-09-30.
- ^ a b "2008 openSUSE Poll: What release style would you like best?". opensuse.org. 2008-12-20. Retrieved 2011-10-01.
- ^ a b Joss (aka np237) (2011-05-03). "Rolling Release". livejournal.com. Retrieved 2011-10-01.
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ a b Prashanth Venkataram (2010-09-10). "Counter-Debunking the 1% myth". dasublogbyprashanth.blogspot.com. Retrieved 1 October 2011.
- ^ Schestowitz, Roy (2007). "Can Linux Adoption Ever be Accurately Gauged?". Retrieved 2008-05-23.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ^ Caitlyn Martin (2010-09-07). "Debunking the 1% myth". oreilly.com. Retrieved 1 October 2011.
- ^
Niccolai, James (2008). "Ballmer Still Searching for an Answer to Google". Retrieved 2009-06-04.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ^ Operating system Family share for 11/2009 | TOP500 Supercomputing Sites
- ^ http://en.wikipedia.org/wiki/Image:Top500_OS.png
- ^ a b Vaughn-Nichols, Steven J. (2009). "Linux: It doesn't get any faster". Retrieved 2009-06-24.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ^ Practical Technology (2009). "Linux Computer Smashes Petaflop Supercomputer Barrier". Retrieved 2009-10-15.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ^ Strothman, Jim (2003). "Linux elbows into super-computer turf". Retrieved 2009-10-15.
{{cite web}}
: Unknown parameter|month=
ignored (help) - ^ J.A. Watson (23 October 2009). "ZDNet: Debunking Some Linux Myths". zdnet.co.uk. Retrieved 9 October 2011.
- ^ Rob (aka "Robster") (2004-03-10). "Apt-get dist-upgrade can seriously damage your health". lwn.net. Retrieved 1 October 2011.
- ^ "DistroWatch: Sabayon Linux". distrowatch.com. Retrieved 9 October 2011.
- ^ "DistroWatch: PCLinuxOS". distrowatch.com. Retrieved 9 October 2011.
- ^ "DistroWatch: Linux Mint". distrowatch.com. Retrieved 9 October 2011.
External links
- Rolling Release A website about rolling releases, focused almost exclusively on Arch Linux.
- DistroWatch A website with a database of, and news and information about, software distributions.