Open Source Software on Linux
A short orientation to the categories of free and open source software that ship with most Linux distributions, plus the installation patterns that work across them. Last reviewed on 2026-05-13.
Most of the software available on Linux is free and open source, packaged by your distribution and installable in one command. That gives Linux a quiet advantage that other operating systems don't have: you rarely need to download an installer from a vendor's website. The trade-off is that the same program can be packaged under slightly different names on different distributions, and updated on different schedules.
The categories below cover the kind of software that comes up regularly in everyday desktop and server work. Each category points at the upstream project and at the usual package name on the major distributions.
Developer tools and runtimes
Version control
Git is the de facto distributed version control system. It is available in every mainstream repository under the package name git. Most distributions also ship related tooling such as git-lfs and graphical front-ends in optional packages.
Programming runtimes
Python, Node.js, Ruby, Go and the JVM are available through standard packages on every major distribution. For pinned versions, language-specific version managers (such as pyenv or nvm) are usually a better fit than relying on the system package.
Build toolchains
The GNU toolchain (gcc, make, binutils) is universally available. On Debian-family systems the meta-package build-essential pulls in everything needed to compile most software from source.
Containers
Docker and Podman both run natively on Linux. Podman is the default container runtime on the Red Hat family and supports rootless containers; Docker is more widely documented in tutorials. Both speak the same OCI image format.
Editors and IDEs
Vim, Neovim and Emacs are in every repository. Visual Studio Code, JetBrains products and similar GUI editors are usually distributed as Flatpaks, Snaps or vendor-provided .deb / .rpm packages.
Shells and command-line tools
Bash is the default shell on most distributions. Many readers prefer Zsh or Fish; both can be installed from the package manager and set with chsh. See the commands reference for a practical overview.
Web browsers
Firefox is shipped by default on most Linux desktops and is available either as the distribution package or as the official Mozilla build. Chromium, the open source upstream for Google Chrome, is also packaged for every major distribution. Both browsers are available as Flatpaks, which is often the simplest way to get the latest version on a distribution with conservative repositories.
Productivity
LibreOffice is the standard office suite on Linux and is preinstalled on most desktop distributions. It opens and saves Microsoft Office formats well enough for most everyday documents, with occasional layout differences in complex templates. Other widely-used productivity software includes Thunderbird for email and Calibre for ebooks.
Multimedia and graphics
VLC plays virtually every audio and video format without needing extra codecs. GIMP is the long-standing image editor; for vector work, Inkscape covers the same ground as commercial tools. Audacity handles audio recording and editing, and Kdenlive is the most-used free video editor on Linux. OBS Studio is the standard for screen capture and live streaming. Blender, while not Linux-specific, runs natively and is the standard for 3D modelling and rendering across operating systems.
System tools
The systemd service manager is part of the base system on every mainstream distribution; see the Linux kernel overview for context on what runs underneath it. Other widely-used system utilities include htop for process monitoring, tmux for session multiplexing, rsync for file synchronisation, and Timeshift for filesystem snapshots on Btrfs-formatted systems.
Installing software: the standard patterns
Almost every Linux distribution exposes its software through a package manager that talks to one or more repositories. The exact command depends on the distribution family rather than the application — the package managers comparison covers apt, dnf, pacman and zypper side by side. The everyday install command:
sudo apt update
sudo apt install <package-name>
sudo dnf install <package-name>
sudo pacman -S <package-name>
sudo zypper install <package-name>
In addition to the distribution's own repositories, two cross-distribution packaging systems are widely used:
- Flatpak — a sandboxed application format. Most desktops can install Flatpaks from
flathub.org. Useful when you want a recent version of an application that the distribution package lags behind. - Snap — Canonical's packaging system, preinstalled on Ubuntu. Similar in goals to Flatpak but tied more closely to its central store.
Some upstream projects suggest installing their software by piping a shell script from a website directly into bash. This works, but it asks you to trust both the script and the connection. Where a packaged version exists in your distribution's repositories or on Flathub, prefer it. If you do run an installation script, read it first.
Related references
- Essential Linux commands — the package-manager commands plus the rest of the everyday toolkit.
- Linux distributions — which package manager comes with which distribution.
- Linux security overview — how distributions publish security updates and how to apply them.