Comparison of open-source configuration management software


This is a comparison of notable free and open-source configuration management software, suitable for tasks like server configuration, orchestration and infrastructure as code typically performed by a system administrator.

Basic properties

"Verify mode" refers to having an ability to determine whether a node is conformant with a guarantee of not modifying it, and typically involves the exclusive use of an internal language supporting read-only mode for all potentially system-modifying operations. "Mutual auth" refers to the client verifying the server and vice versa. "Agent" describes whether additional software daemons are required. Depending on the management software these agents are usually deployed on the target system or on one or many central "controller" servers.

LanguageLicenseMutual authEncryptsVerify modeAgent-lessHave a GUIFirst releaseLatest stable release
AnsiblePythonGPLv3+2012-03-082020-03-05 2.9.6
Bcfg2PythonBSD 2-clause2004-08-112015-06-11 1.3.6
CapistranoRubyMIT License20052017-03-08 4.4.2
cdistPythonGPLv3+20102018-04-20 4.8.4
ChefRuby, ErlangApache 2.02009-01-15 0.5.02019-01-28 14.10.9, 2018-02-13 12.17.33
CFEngineCGPLv319932020-06-23 3.16.0, 2020-06-02 3.15.2, 2020-06-02 3.12.5
ISconfPythonGPL19982006-08-13 4.2.8.233
JujuPython, GoAffero General Public License2010-09-172020-06-04 2.8.0
Local ConFiGuration system PerlGPL1994Weekly Releases
NOCPythonBSD License 2.02012-03-082015-05-20 15.05.1
OCS Inventory NG with GLPIPerl, PHP, C++GPL20032014-07-13
Open pc server integration Python, JavaGPL20042013-03-01 4.0.3
PIKTCGPLv2+19982007-09-10 1.19.0
PuppetRuby, C++ & Clojure Apache since 2.7.0, GPL before then2005-08-302020-06-03 6.16.0, 2020-06-03 6.12.0
QuattorPerl, PythonApache 2.02005-04-012018-07-3 18.6.0
RadmindCBSD2002-03-262008-10-08 1.13.0
RexPerlApache2010-11-05 0.9.02017-12-03 1.6.0
RudderC, Scala and RustGPLv3 and Apache 2.02011-10-312019-05-12 5.0.15
SmartFrogJavaLGPL2004-02-112009-01-26 3.16.004
SaltPythonApache 2.0Both2011-03-17 0.6.02019-02-25 v2019.2.0
SpacewalkJava GPLv22008-062019-01-14 2.9
STAFC++CPL1998-02-162012-12-16 3.4.16
SynctoolPythonGPLv220032019-08-11 6.3
LanguageLicenseMutual authEncryptsVerify modeAgent-lessHave a GUIFirst releaseLatest stable release

Platform support

Note: This means platforms on which a recent version of the tool has actually been used successfully, not platforms where it should theoretically work since it is written in good portable C/C++ or an interpreted language. It should also be listed as a supported platform on the project's web site.

AIX*BSDHP-UXLinuxOS XSolarisWindowsOthers
Ansible
Bcfg2
CFEngine
cdist
Chef
ISconf
Juju
Local ConFiGuration system
OCS Inventory NG
Open pc server integration
PIKT
Puppet
Quattor
Radmind
Rex
Rudder
SmartFrog
Salt
Spacewalk
STAF
Synctool
AIX*BSDHP-UXLinuxOS XSolarisWindowsOthers

Short descriptions

Not all tools have the same goal and the same feature set. To help distinguish between all of these software packages, here is a short description of each one.
;Ansible
;Bcfg2
;CFEngine
;cdist
;Chef
;ISconf
;Juju
;Local Configuration system
;Open PC server integration
;PIKT
;Puppet
;Quattor
;Radmind
;Rex
;Salt
;SmartFrog
;Spacewalk
;STAF
;Synctool