Linux, a freely distributable, cross-platform operating system based on Unix, was first launched in 1991, after a Finnish student Linus Torvalds felt the need for a new free operating system kernel. Although the earlier versions of Linux were not user-friendly, its open-source aspect allowed it to become robust and popular over the years. After more than 25 years of its launch, Linux Kernel has now reached a point where it’s enjoying popularity at its prime.
Linux Kernel attracted the attention of many programmers world over as it allowed them to design their own custom operating systems. This ensued the emergence of a wide range of operating systems based on Linux Kernel. The operating systems based on Linux Kernel are known as Linux Distributions, often abbreviated as “Distros”.
That the tech market is now flooded with various Linux Distributions, programmers often find it difficult to determine as to which Linux distro to go for. Having said that, I have compiled a list below comprising of 5 distros being used the most by developers across the globe.
Note: There is an abundance of distros out there, so don’t feel offended if I miss out on your favorite one.
Top 5 Linux Distributions for Developers
Linux Mint is a stable, robust, and elegant derivative of Ubuntu. Linux Mint particularly gained a lot of traction in developers’ community for providing out of the box software, like multimedia codecs. However, starting from Linux Mint 18.1, which is the latest release of Mint and is based on Ubuntu 16.04 LTS, Mint has stopped the practice of shipping codecs.
The three major reasons behind this move were: High cost, too much work for the Mint team to ship ISO images both with and without codecs, and the failure of shipping codecs to significantly improve the distribution.
So, if you want to use Linux Mint 18.1, you need to install the relevant multimedia codecs yourself. To install multimedia codecs, you can either check out a box during installation, or click a button on the Welcome screen, or install them via Menu>Sound and Video>Install Multimedia Codecs.
Linux Mint offers familiarity and ease-of-use to the novice or Windows user. Linux Mint is also available with its own flagship desktop environment, called Cinnamon, which makes it suitable for modern PCs. With Cinnamon, Mint allows users to access a suite of distro specific tools and features that make it stand out. For lower spec PCs, Mint can be used with the MATE desktop environments. KDE and XFCE desktop environments also work with Mint.
Ubuntu OS, a product of Canonical and built on Debian's architecture and infrastructure, is one of the most popular and reliable Linux distros for developers. The kind of professionalism it delivers in the form of Long-term Support (LTS) for five years after the release date, availability for both desktop and server editions, etc., makes Ubuntu a stand out choice for developers. Its latest version is Ubuntu 16.04 LTS, and similar to previous versions, it’s also based on debian.
Although Ubuntu’s default desktop environment is Unity, other flavors, including Gnome, KDE, LxQt, MATE and other community supported desktop environments, are also available. Ubuntu is a good choice for developers who have just started trying out their hands in web development. Ubuntu Make, a command line tool, is a special feature for developers to install with ease the entire development stack, tools, and various IDEs for Node.js, Dart, Rust, Swift, Go, Scala, Android, etc.. In short, Ubuntu users need to use one command to get the system ready to develop with.
And, not only established IDEs, like Eclipse, NetBeans, and MonoDevelop, are available via Canonical’s repositories, but lesser-known ones like Ninja, Anjuta, and Geany as well.
However, there have been controversies too with Ubuntu, like Amazon-based affiliate results within the Unity search results and creation of their own display server and init system. Nevertheless, Ubuntu still is a top choice for developers for providing a very capable and user friendly alternative to Microsoft Windows.
#3 Fedora 25
Fedora operating system is based on Linux kernel and GNU programs. It’s supported by Fedora Project and sponsored by Red Hat Enterprise Linux (RHEL). What makes Fedora an operating system worth using is its ability to integrate new package versions and technologies into the distribution. Two versions of Fedora were released in 2016: Fedora 24 and Fedora 25. Release types for Fedora are: Desktop, server and cloud. However, our area of concern in the blog is desktop.
Robust security is one of the top virtues of Fedora, thanks to default firewall and SELinux settings. Bleeding edge software availability, a solid GNOME desktop experience and a predictable release cycle are other advantages of using Fedora.
GNOME 3 is the default desktop of Fedora, making the operating system free of complexity and easy to navigate. However, if you wish to use other desktop environment, you have several choices available, including KDE Plasma, XFCE, LXDE, Mate-Compiz, Cinnamon and the OLPC SOAS. Fedora also provides pedantic notes for each new release to help developers swiftly acquaint with the new version.
With Fedora, developers get to use the most recent versions of the bundled languages and runtimes for production. To cite an example, Ruby on Rails 5.0 and Go 1.7 can be used with Fedora 25. The latest Fedora also includes Mozilla’s Rust, multiple editions of Python and Docker. As far as development tools are concerned, Fedora’s software repositories give access to Eclipse, Vim, MonoDevelop, Code::Blocks and Geany. IDEs are also available for Arduino and MCU 8501 hardware boards.
However, the hassle with Fedora is the need to go for full upgrade at least once a year to continue getting support. Also, there are no long-term support releases. That apart, Fedora is a good choice for developers.
CentOS is the abbreviation for Community ENTerprise Operating System. Although many developers may say that CentOS7 is not an apt choice for development, the reason for choosing it is the the efforts it’s been continuously making to improve the desktop experience for developers. CentOS is reliable, fast and stable.
One of the top advantages of using CentOS is that it provides RHEL’s stability and long support lifecycle, but doesn’t force you to pay RHEL’s branding or support. The collaboration between CentOS project and Red Hat in 2014 led to significant rise in the popularity of CentOS. Though, CentOS is an independent project and scores good points by allowing developers to use a few nice versions of the RHEL code.
CentOS also provides long term support, but for specific editions. For instance, CentOS 7 is set for updates until 2024. However, its major disadvantages are: Not providing many common components by default that are usually found in a desktop build. So, if you are looking for MP3 playback support in any of the default CentOS repositories, you won’t find that. Another drawback is unavailability of popular IDEs. Here pops up a question, Why to use CentOS for development ?
Actually, the Red Hat Software Collections acts as the elixir by providing access to the desired third-party repository for CentOS. So, you can download tools that fit your specific needs. Moreover, it brings you the latest versions of many languages and platforms along with support. CentOS also significantly cuts down the risk of crashes and errors as it runs only on the most stable versions of packaged software. Firewall, the SELinux policy mechanism and many other security features make CentOS highly secured.
Before jumping on to openSUSE Leap, I am shedding light on openSUSE, which is a Linux-based project and distribution sponsored by SUSE Linux GmbH and other companies. OpenSUSE comes with YaST, which allows you to control the entire OS from one place, like network management, software update, etc.
You can easily install third party apps by visiting the online portal the software.opensuse.org, which works very similar to app stores. openSUSE offers packages that you can use to turn openSUSE into the type of installation you want. Open Build Service (OBS) also makes openSUSE stand out by paving the way for developers to package their applications not only for openSUSE, but for other popular distributions as well, like Fedora and Ubuntu.
openSUSE Leap, on the other hand, is a novel way of building openSUSE and is new type of hybrid Linux distribution. Sources that are used by Leap come from SUSE Linux Enterprise (SLE). As a result, Leap provides stability way higher than other Linux distributions. openSUSE Leap 42.1 was the first hybrid distro in the history of Linux.
The developer-friendly advantages of using openSUSE Leap include formatting of root partition with BtrFS for enhanced system protection. In order to provide flexibility, a separate partition is formatted with XFS. BtrFS allows you to take snapshots of the file system. Also, it allows you to use subvolumes, which handles a subdirectory like its own file system. Several application-specific subvolumes you can configure using Leap are MySQL, MariaDB, PostgreSQL, the spooler, logs, and Mailman. You can also add your own subvolumes during setup. The environment options you get at setup time are Xfce, LXDE, Minimal X, Enlightenment, and plain old text mode, in addition to GNOME and KDE.
There are many other popular distributions, like Arch, Debian, Puppy Linux, Manjaro, etc. as well, but I have listed the ones that are most popular. Before you go for a Linux distro, it’s recommended to have good knowledge of their advantages and disadvantages and Evon Technologies, a desktop application development company is the one that will help you with your related needs. I hope this blog helps you make a wise decision.