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 authentication 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. Although
Agent-less = No is colored red and might seem to be a negative, instead, having an agent can be considered quite advantageous to many. Consider the impact if an agent-less tool loses connectivity to a node while making critical changes—leaving the node in an indeterminate state that compromises its function.| Language | License | Mutual auth. | Encryption | Verify mode | Agent-less | GUI | First release | Latest stable release | |
| Ansible | Python | GPLv3+ | 2012-03-08 | 2025-03-25 2.18.4 | |||||
| Bcfg2 | Python | BSD 2-clause | 2004-08-11 | 2015-06-11 1.3.6 | |||||
| Capistrano | Ruby | MIT | 2005 | 2022-08-07 3.17.1 | |||||
| cdist | Python | GPLv3+ | 2010 | 2021-08-24 6.9.8 | |||||
| Chef | Ruby, Erlang | Apache 2.0 | 2009-01-15 0.5.0 | 2023-01-05 18.1.0, 15.4.0 | |||||
| CFEngine | C | GPLv3 | 1993 | 2026-01-09 3.27.0, 2025-12-12 3.24.3, 2025-12-12 3.21.8 | |||||
| Consfigurator | Common Lisp | GPLv3+ | 2024-07-26 1.4.2 | ||||||
| Guix | Scheme | GPLv3+ | 2022-12-19 1.4.0 | ||||||
| ISconf | Python | GPL | 1998 | 2006-08-13 4.2.8.233 | |||||
| Juju | Python, Go | AGPL | 2010-09-17 | 2025-06-09 3.6.7 | |||||
| Local ConFiGuration system | Perl | GPL | 1994 | Weekly Releases | |||||
| NOC Project | Python | BSD 2.0 | 2012-03-08 | 2015-05-20 15.05.1 | |||||
| OCS Inventory NG with GLPI | Perl, PHP, C++ | GPL | 2003 | 2014-07-13 | |||||
| Open pc server integration | Python, Java | GPL | 2004 | 2013-03-01 4.0.3 | |||||
| PIKT | C | GPLv2+ | 1998 | 2007-09-10 1.19.0 | |||||
| Puppet | Ruby, C++ & Clojure | Apache since 2.7.0, GPL before then | 2005-08-30 | 2024-04 8.6.0, 7.30.0, 2024-04 8.6.0, 7.17.0 | |||||
| Pyinfra | Python | MIT License | 2016-08-10 0.1 | 2025-01-30 3.2 | |||||
| Quattor | Perl, Python | Apache 2.0 | 2005-04-01 | 2024-11-22 24.10.0 | |||||
| Radmind | C | BSD | 2002-03-26 | 2008-10-08 1.13.0 | |||||
| Rex | Perl | Apache | 2010-11-05 0.9.0 | 2025-07-05 1.16.1 | |||||
| Rudder | C, Scala, Rust | GPLv3, Apache 2.0 | 2011-10-31 | 2025-11-19 9.0.1 | |||||
| SmartFrog | Java | Apache 2.0 | 2004-02-11 | 2012-03-13 3.18.016 | |||||
| Salt | Python | Apache 2.0 | Both | 2011-03-17 0.6.0 | 2023-05-05 v3006.1 | ||||
| Spacewalk | Java | GPLv2 | 2008-06 | 2019-01-14 2.9 | |||||
| STAF | C++ | CPL | 1998-02-16 | 2012-12-16 3.4.16 | |||||
| Synctool | Python | GPLv2 | 2003 | 2019-08-11 6.3 | |||||
| Uyuni | Java, Python, PL/SQL | GPLv2, Apache 2.0 | Both | 2018-06 | 2024-01-31-01 2024.01 | ||||
| Language | License | Mutual auth | Encrypts | Verify mode | Agent-less | Have a GUI | First release | Latest 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 | *BSD | HP-UX | Linux | OS X | Solaris | Windows | Others | |
| Ansible | ||||||||
| Bcfg2 | ||||||||
| CFEngine | ||||||||
| cdist | ||||||||
| Chef | ||||||||
| Consfigurator | ||||||||
| Guix | ||||||||
| ISconf | ||||||||
| Juju | ||||||||
| Local ConFiGuration system | ||||||||
| OCS Inventory NG | ||||||||
| Open pc server integration | ||||||||
| PIKT | ||||||||
| Puppet | ||||||||
| Pyinfra | ||||||||
| Quattor | ||||||||
| Radmind | ||||||||
| Rex | ||||||||
| Rudder | ||||||||
| SmartFrog | ||||||||
| Salt | ||||||||
| Spacewalk | ||||||||
| STAF | ||||||||
| Synctool | ||||||||
| Uyuni | ||||||||
| AIX | *BSD | HP-UX | Linux | OS X | Solaris | Windows | Others |
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
;Consfigurator
;Guix
;ISconf
;Juju
;Local Configuration system
;Open PC server integration
;PIKT
;Puppet
;Pyinfra
;Quattor
;Radmind
;Rex
;Salt
;SmartFrog
;Spacewalk
;STAF
;Synctool