Best Open Source Software


A C, C++ and Fortran IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable. With multiple compiler support, custom build system, and support for parallel builds, Code:: Blocks makes compiling easy. The good range of features is extended further via plugins.

Code::Blocks is oriented towards C, C++, and Fortran. It has a custom build system and optional Make support.

Code::Blocks is being developed for Windows, Linux, and macOS and has been ported to FreeBSD, OpenBSD and Solaris.

The software has been in development for more than 12 years.

Developer: The Code::Blocks team
License: GNU GPL v3 (third party plugins can be released under any license)
Written in: C++


There’s little competition to Eclipse when it comes to the most feature-rich integrated development environment. It offers an awesome community of tools, projects, and collaborative working groups.

Eclipse is written mostly in Java and its primary use is to code Java applications, but it may also be used to develop applications in other programming languages through the use of plugins.

The Eclipse Installer makes it easy to install and update the Eclipse Development Environment.

There are specific packages for Java EE, Java, C/C++, Android, PHP, JavaScript/Web, Java and DSL, RCP and RAP, and more.

Developer: Eclipse Foundation
License: Eclipse Public License
Written in: Java


The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages. It is one of the most used compilers. With good reason. It includes front ends for C, C++, Objective-C, Fortran, Java, Ada, and Go, as well as libraries for these languages.

GCC was originally written as the compiler for the GNU operating system. It used to stand for the GNU C Compiler, but since the compiler supports several other languages aside from C, it now stands for the GNU Compiler Collection.

There are too many architectures to list that are supported by GCC.

Developer: GNU Project
License: GNU GPL v3 or later
Written in: C++


Targeted towards programmers and web developers, Bluefish is a powerful multi-language editor. With excellent support for programming and markup languages, it offers a clean way to develop dynamic and interactive websites.

Bluefish fills the niche market between the plain text editors and the full Integrated Development Environment. Syntax highlighting, auto-completion, code folding as well as auto-recovery, upload/download functionality and a Unicode character browser are all included.

Packages are available for Debian, Ubuntu, Fedora, Gentoo, Mac OS X, AltLinux, OpenSolaris and Windows.

Bluefish uses GTK+ for its GUI widgets and is written in C.

Developer: Olivier Sessink, Andrius Rinkevicius, Shawn Novak, Jim Hayward, Daniel Leidert
License: GNU GPL v3
Written in: C

OpenShift Origin

RedHat OpenShift Origin offers tools to develop, host, and scale apps in the public or private cloud. It includes support for a wide variety of language runtimes and data layers including Java EE6, Ruby, PHP, Python, Perl, MongoDB, MySQL, and PostgreSQL.

This is the upstream community project used in OpenShift Online, OpenShift Dedicated, and OpenShift Container Platform. Built around a core of Docker container packaging and Kubernetes container cluster management, Origin is augmented by application lifecycle management functionality and DevOps tooling.

OpenShift Origin is designed for Red Hat Enterprise Linux.

Developer: Red Hat
License: Apache License 2.0
Written in: Go, Angular.js


The most promising platform for distributed applications to emerge in recent times, Docker is ideal for developers and system administrators alike. One of the most talked about platforms; with good reason.

Docker containers wrap a piece of software in a complete filesystem that contains everything needed to run: code, runtime, system tools, system libraries – anything that can be installed on a server. This ensures the software will always run the same, regardless of its environment.

This project is Linux only. Docker provides an additional layer of abstraction and automation of operating-system-level virtualization on Linux.

Developer: Docker, Inc.
License: Apache License 2.0
Written in: Go


Git is a distributed version control system designed to handle everything from small to very large projects with speed and efficiency. With its branching model, developers benefit from frictionless context switching, role-based codelines, disposable experimentation, and feature based workflow.

Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

Besides Linux, Windows and OS X, the latest release is available for Solaris, FreeBSD, OpenBSD, and Alpine.

Git was created by Linus Torvalds in 2005 for development of the Linux kernel, with other kernel developers contributing to its initial development. Linus is the creator of Linux.

Developer: Junio Hamano and others
License: GNU GPL v2 and GNU LGPL v2.1
Written in: C, Perl, Python, Shell, and Tcl

Google Web Toolkit

Set of tools that allows web developers to develop complex JavaScript front-end applications in Java. GWT is used by many products at Google, including Google AdWords and Google Wallet.

Google Web Toolkit runs on systems that have Java Runtime Environment 1.5 or later. The software needs 100MB of free disk space, and a system with 512MB of RAM (minimum).

It supports Firefox, Internet Explorer 8-11, Safari 5-6, Chromium and Google Chrome, and Opera.

Developer: Google Inc
License: Apache License 2.0
Written in: Java


Vim is an advanced, portable, keyboard based text editor that seeks to provide the power of the Unix editor ‘Vi’, with a more complete feature set. Vim is a command line editor, which facilitates remote development. To build on the core of Vim, Vimscript offers a rich scripting functionality.

Vim is truly multi-platform. Besides the main three operating systems, you can run Vim on Amiga, OS/2, iOS, QNX, Agenda, Open VMS, and MorphOS.

Developer: Bram Moolenaar and too many to list contributors
License: Charityware - GPL-compatible; the author encourages you to make a donation to charity
Written in: C, VimL


Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects.

Meld is packaged for most Linux/Unix distributions, including Fedora, Ubuntu, and Suse.

On OS X, Meld is not yet officially supported. You can download Meld from MacPorts, Fink or Brew; none of these methods are supported.

Developer: Kai Willadsen
License: GNU GPL v2
Written in: Python


Looking for a good Web framework? Django fits the bill. It’s a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Build better Web apps quicker and with tighter code.

There are some well-known sites which are powered by this web framework. Examples include Disqus, Pinterest and Instagram.

Many third-party Linux distributors are now providing versions of Django integrated with their package-management systems.

Being a Python Web framework, Django requires Python.

Developer: Django Software Foundation
License: BSD
Written in: Python


If you are looking for a web server solution, XAMPP fits the bill. Easy to install Apache distribution containing MySQL, PHP, and Perl from Apache Friends. XAMPP is very mature, being around for more than a decade, and backed by a huge community following.

XAMPP is actively maintained for Linux, Windows and OS X. Most Linux distributions are supported, including Debian, RedHat, CentOS, Ubuntu, Fedora, Gentoo, Arch, SUSE. Mac OS X 10.6 or later. Windows XP and 2003 are not supported

Compatible versions of PHP 5.5.38, 5.6.28 and 7.0.13.

Developer: Apache Friends
License: GNU GPL v2
Written in: Various languages


GitHub’s Atom is billed as a hackable text editor for the 21st Century. It is a desktop application based on web technologies. Atom consists of over 50 open source packages integrated around a minimal core. With Node.js support, and a full set of features, Atom is the perfect way to edit code.

Atom is based on Electron a framework that enables cross-platform desktop applications using Chromium and Node.js. It is written in CoffeeScript and Less.

Developer: GitHub Inc.
License: MIT
Written in: CoffeeScript, JavaScript, HTML, Less

1WorkLibreOffice, Calligra, Scribus, ProjectLibre, MariaDB, Calibre, FocusWriter, LyX Document Processor, Okular, KMyMoney, GnuCash, Zathura, CherryTree, FreeMind, MyNotex
2DevelopmentCode::Blocks, Eclipse, GCC, Bluefish, OpenShift Origin, Docker, Git, Google Web Toolkit, Vim, Meld, Django, XAMPP, Atom
3Games0 A.D, Battle for Wesnoth, Freeciv, Xonotic, Magarena
4InternetChromium, Thunderbird, Pidgin, Tor, Telegram Desktop, Dropbox, OwnCloud, FileZilla, HexChat, QuiteRSS, uGet, Gufw, Aria2, OpenSSH
5MediaKodi, VLC, OpenShot Video Editor, Amarok, Kdenlive, Audacity, Blender, Inkscape, Darktable, Handbrake, digiKam, GIMP, Beets, mpv
6ToolsVirtualBox, BleachBit, ClamAV, Déjà Dup, Redo Backup, GParted, VeraCrypt, Wine, K3b, Clonezilla, Shutter, KeePassX, PeaZip, GCstar, Terminator, FontForge, Recoll, Dolphin, Midnight Commander
7ScienceStellarium, GNU Octave, R, LaTeX, PSPP