Comparison of open source configuration management software
Encyclopedia
This is a comparison of free (libre)
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 and open source
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...

 configuration management
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

 software.

Basic properties

Language Licensed Mutual auth
Mutual authentication
Mutual authentication or two-way authentication refers to two parties authenticating each other suitably. In technology terms, it refers to a client or user authenticating themselves to a server and that server authenticating itself to the user in such a way that both parties are assured of the...

Encrypts
Encryption
In cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key. The result of the process is encrypted information...

First release Latest stable release
Arusha Project
Arusha Project
The Arusha Project provides a framework for collaborative system administration of multi-platform Unix sites with many dozens of machines. ARK gives you a notation to describe your Unix site, and to do so in collaboration with others ....

 (ARK)
Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

BSD
BSD licenses
BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named....

 http://ark.sourceforge.net/license.html
2001-07-21 2005-04-19 20050419
Bcfg2
Bcfg2
Bcfg2 is a configuration management tool developed in the Mathematics and Computer Science Division of Argonne National Laboratory. Bcfg2 aids in the infrastructure management lifecycle – configuration analysis, service deployment, and configuration auditing...

Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

BSD
BSD licenses
BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named....

 http://trac.mcs.anl.gov/projects/bcfg2/browser/trunk/bcfg2/COPYRIGHT
2004-08-11 2011-05-27 1.1.2 http://trac.mcs.anl.gov/projects/bcfg2/wiki/Download
cdist Bourne Shell
Bourne shell
The Bourne shell, or sh, was the default Unix shell of Unix Version 7 and most Unix-like systems continue to have /bin/sh - which will be the Bourne shell, or a symbolic link or hard link to a compatible shell - even when more modern shells are used by most users.Developed by Stephen Bourne at AT&T...

GPL 2011-03-07 2011-04-07 1.6.1 http://www.nico.schottelius.org/software/cdist
CFEngine
Cfengine
CFEngine is a popular open source configuration managementsystem, written by Mark Burgess.Its primary function is to provide automated configuration and...

C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

GPL, COSL http://cfengine.com/pages/faq 1993 2011-10-25 3.2.3 http://www.cfengine.org/pages/source_code
Chef http://wiki.opscode.com/display/chef/Home Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

Apache
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....

2009-01-15 0.5.0 2011-05-02 0.10.0 http://www.opscode.com/blog/2011/05/02/chef-0-10-0-released/
DACS http://www.cs.umb.edu/~rouilj/DACS/dacsmanual.html Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

 Bourne Shell
Bourne shell
The Bourne shell, or sh, was the default Unix shell of Unix Version 7 and most Unix-like systems continue to have /bin/sh - which will be the Bourne shell, or a symbolic link or hard link to a compatible shell - even when more modern shells are used by most users.Developed by Stephen Bourne at AT&T...

GPL plus some others 1994-11 as the Config system 2009-01-10 2.0 http://www.cs.umb.edu/~rouilj/DACS/
Etch Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

MIT
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

2008-11-08 2011-01-18 3.18.0
FusionInventory with GLPI
GLPI
GLPI, an initialism for Gestionnaire libre de parc informatique , is a free trouble ticket system software that anyone can use to build up a database with an inventory for computer equipment...

Perl, PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

GPL 2010 2010-08
ISconf
ISconf
ISconf is a tool to execute commands and replicate files on all nodes of a computer park. The nodes need not to be up; the commands will be executed when they boot. The system has no central server so commands can be launched from any node and they will replicate to all nodes....

Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

GPL http://trac.t7a.org/isconf/browser/trunk/LICENSE 1998 2006-08-13 4.2.8.233
LCFG
LCFG
LCFG stands for "Local ConFiGuration system". Developed at the University of Edinburgh beginning around 1993, it is "a system for automatically installing and managing the configuration of large numbers of computer systems...

Perl GPL 1994 Weekly Releases
OCS Inventory NG
OCS Inventory
Open Computer and Software Inventory Next Generation is free software that enables users to inventory their IT assets. OCS-NG collects information about the hardware and software of networked machines running the OCS client program . OCS can be used to visualize the inventory through a web interface...

 with GLPI
GLPI
GLPI, an initialism for Gestionnaire libre de parc informatique , is a free trouble ticket system software that anyone can use to build up a database with an inventory for computer equipment...

Perl, PHP, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

GPL 2003 2011/09/13 http://www.ocsinventory-ng.org/en/home/news/version-2-0-1-stable.html
OpenSymbolic Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

GPL 2008-05-08 2009-11-16 1.5.0-1
opsi (open pc server integration)
Opsi (open pc server integration)
Opsi is a software distribution and management system for Windows Clients, based on Linux servers. Opsi is developed and maintained by uib GmbH from Mainz, Germany....

Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

, Delphi
GPL 2004 2010-10-01 4.0
Uranos PHP GPL 2004 2011-04-09 1.1770
Pacha Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

MIT
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

2010-02-02 0.2.3
Pallet Clojure
Clojure
Clojure |closure]]") is a recent dialect of the Lisp programming language created by Rich Hickey. It is a general-purpose language supporting interactive development that encourages a functional programming style, and simplifies multithreaded programming....

EPL
Eclipse Public License
The Eclipse Public License is an open source software license used by the Eclipse Foundation for its software. It replaces the Common Public License and removes certain terms relating to litigations related to patents....

2011-06-01 2011-06-01
PCfengine Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

GPL http://svn.enstb.org/pcfengine/trunk/COPYING 0.0.2 (discontinued)
PIKT
PIKT
PIKT is cross-categorical, multi-purpose software for global-view, site-at-a-time system and network administration. Applicability includes system monitoring, configuration management, server and network administration, system security, and many other uses....

C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

GPL http://pikt.org/pikt/licensing.html 1998 2007-09-10 1.19.0
Puppet Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

Apache
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....

 from 2.7.0 and GPL prior to this
2005-08-30 2011-10-14 2.7.6
Quattor
Quattor
Quattor is a generic open-source tool-kit used to install, configure, and manage computers. Quattor was originally developed in the framework of project...

Perl EDGhttp://eu-datagrid.web.cern.ch/eu-datagrid/license.html 2005-04-01 2007-12-12 1.3-2
Radmind
Radmind
Radmind is a suite of Unix command-line tools and an application server designed to remotely administer the file systems of multiple client machines....

C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

BSD
BSD licenses
BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named....

 http://rsug.itd.umich.edu/software/copyright.html
2002-03-26 2008-10-8 1.13.0
SmartFrog
SmartFrog
SmartFrog is an open-source software framework, written in Java, that manages the configuration, deployment and coordination of a software system broken into components. These components may be distributed across several network hosts....

Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

LGPL 2004-02-11 2009-01-26 3.16.004
Salt http://saltstack.org/ Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 
Apache
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....

 http://saltstack.org/topics/index.html#open
2011-03-17 0.6.0 2011-09-17 0.9.2
Spacewalk
Spacewalk (software)
Spacewalk is open source systems management software developed by Red Hat. It is the upstream version of the RHN Satellite Server, which was open sourced in 2008. Spacewalk includes the web interface and back-end, as well as RHN Proxy Server and associated client software of Satellite and makes...

Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 (Perl, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 & PL/SQL
PL/SQL
PL/SQL is Oracle Corporation's procedural extension language for SQL and the Oracle relational database...

)
GPL (v2) 2008-06 2010-04-29
STAF C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

CPL
Common Public License
In computing, the CPL is a free software / open-source software license published by IBM. The Free Software Foundation and Open Source Initiative have approved the license terms of the CPL....

 http://staf.sourceforge.net/license.php
1998-02-16 2011-03-31 3.4.5
Synctool Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

GPL http://www.heiho.net/synctool/LICENSE.txt 2003 2010-02-23 4.5

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's 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
Berkeley Software Distribution
Berkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...

HP-UX
HP-UX
HP-UX is Hewlett-Packard's proprietary implementation of the Unix operating system, based on UNIX System V and first released in 1984...

Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

Solaris Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

Others
Arusha Project
Arusha Project
The Arusha Project provides a framework for collaborative system administration of multi-platform Unix sites with many dozens of machines. ARK gives you a notation to describe your Unix site, and to do so in collaboration with others ....

 (ARK)
Bcfg2
Bcfg2
Bcfg2 is a configuration management tool developed in the Mathematics and Computer Science Division of Argonne National Laboratory. Bcfg2 aids in the infrastructure management lifecycle – configuration analysis, service deployment, and configuration auditing...

cdist
CFEngine
Cfengine
CFEngine is a popular open source configuration managementsystem, written by Mark Burgess.Its primary function is to provide automated configuration and...

Chef
DACS http://www.cs.umb.edu/~rouilj/DACS
Etch
FusionInventory with GLPI
ISconf
ISconf
ISconf is a tool to execute commands and replicate files on all nodes of a computer park. The nodes need not to be up; the commands will be executed when they boot. The system has no central server so commands can be launched from any node and they will replicate to all nodes....

LCFG
LCFG
LCFG stands for "Local ConFiGuration system". Developed at the University of Edinburgh beginning around 1993, it is "a system for automatically installing and managing the configuration of large numbers of computer systems...

OCS Inventory NG with GLPI
OpenSymbolic
opsi (open pc server integration)
Opsi (open pc server integration)
Opsi is a software distribution and management system for Windows Clients, based on Linux servers. Opsi is developed and maintained by uib GmbH from Mainz, Germany....

Uranos
Pacha
Pallet
PCfengine
PIKT
PIKT
PIKT is cross-categorical, multi-purpose software for global-view, site-at-a-time system and network administration. Applicability includes system monitoring, configuration management, server and network administration, system security, and many other uses....

Puppet
Quattor
Quattor
Quattor is a generic open-source tool-kit used to install, configure, and manage computers. Quattor was originally developed in the framework of project...

Radmind
Radmind
Radmind is a suite of Unix command-line tools and an application server designed to remotely administer the file systems of multiple client machines....

Rollout
SmartFrog
SmartFrog
SmartFrog is an open-source software framework, written in Java, that manages the configuration, deployment and coordination of a software system broken into components. These components may be distributed across several network hosts....

Salt
Spacewalk
Spacewalk (software)
Spacewalk is open source systems management software developed by Red Hat. It is the upstream version of the RHN Satellite Server, which was open sourced in 2008. Spacewalk includes the web interface and back-end, as well as RHN Proxy Server and associated client software of Satellite and makes...

STAF
Synctool

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.

Arusha Project
Arusha Project
The Arusha Project provides a framework for collaborative system administration of multi-platform Unix sites with many dozens of machines. ARK gives you a notation to describe your Unix site, and to do so in collaboration with others ....

 (ARK)
Manage package and configuration specification of hosts via a custom XML description language. Can be used as a front end for Cfengine
Cfengine
CFEngine is a popular open source configuration managementsystem, written by Mark Burgess.Its primary function is to provide automated configuration and...

 or PIKT. Provides some collaboration features between administration 'teams'. The last commit dates from April 2007.


Bcfg2
Bcfg2
Bcfg2 is a configuration management tool developed in the Mathematics and Computer Science Division of Argonne National Laboratory. Bcfg2 aids in the infrastructure management lifecycle – configuration analysis, service deployment, and configuration auditing...

Software to manage the configuration of a large number of computers using a central configuration model and the client–server paradigm. The system enables reconciliation between clients' state and the central configuration specification. Detailed reports provide a way to identify unmanaged configuration on hosts. Generators enable code or template based generation of configuration files from a central data repository.


cdist
cdist is a simple, usable configuration management system written in POSIX shell. It is extented by writing types and supports the push mechanism to deploy configurations.


CFEngine
Cfengine
CFEngine is a popular open source configuration managementsystem, written by Mark Burgess.Its primary function is to provide automated configuration and...

Lightweight agent system. Manages configuration of a large number of computers using the client–server paradigm or stand-alone. Any client state which is different from the policy description is reverted to the desired state. Configuration state is specified via a declarative language. CFEngine's paradigm is convergent "computer immunology"


Chef
Chef is a configuration management tool written in Ruby, and uses a pure Ruby DSL for writing configuration "recipes". These recipes are basically bundles of installation steps (or scripts) to be executed. Chef can be used as a client–server tool, or used in "solo" mode.


DACS
It is similar to other CCM (computer configuration management) tools such as bcfg2, lcfg, puppet and the well known cfengine. However, it has some unique features that makes it more than just a program which pushes files to other hosts. It integrates: a host database; a version control system; an optional file generation system; a file distribution and remote command execution mechanism.


Etch
Etch uses a client-server or client-only model. Configuration is defined in XML, Ruby, and embedded Ruby (ERB) templates. A copy of the original file is provided to the user's configuration scripts, allowing easy idempotent edits to stock files. In client-server mode clients can submit requests to the server for special configuration, allowing clients to have limited control of their configuration while still ensuring centralized management.


FusionInventory with GLPI
FusionInventory is a solution for hardware and software inventory with agent or agentless using SNMP (like for computer inventory or switch inventory), Wake On Lan (WOL), software deployment using the OCS Inventory NG protocol and peer-to-peer download, network connected devices (using NetBIOS, nmap and SNMP). It can be used with GLPI directly and other Asset solution (with lib server PHP integration).


ISconf
ISconf
ISconf is a tool to execute commands and replicate files on all nodes of a computer park. The nodes need not to be up; the commands will be executed when they boot. The system has no central server so commands can be launched from any node and they will replicate to all nodes....

Tool to execute commands and replicate files on all nodes. The nodes do not need to be up; the commands will be executed when they boot. The system has no central server so commands can be launched from any node and they will replicate to all nodes. It implements many of the ideas in "Why Order Matters: Turing Equivalence in Automated Systems Administration".


LCFG
LCFG
LCFG stands for "Local ConFiGuration system". Developed at the University of Edinburgh beginning around 1993, it is "a system for automatically installing and managing the configuration of large numbers of computer systems...

LCFG manages the configuration with a central description language in XML, specifying resources, aspects and profiles. Configuration is deployed using the client–server paradigm. Appropriate scripts on clients (called "components") transcribe the resources into configuration files and restart services as needed.


OCS Inventory NG with GLPI
OCS Inventory NG, when integrated with GLPI, provides inventory and asset management scans/database, package deployment, distributed script execution, and via plugins permissions management and other configuration management functions. Here is a good diagram of its architecture.


OpenSymbolic
OpenSymbolic is an OpenSource Enterprise Platform designed to build, configure and manage your huge and global distributed data centers. Based on the best open source frameworks for these purposes, represents the state-of-the-art solution for a centralized datacenter management platforms.


opsi (open pc server integration)
Opsi (open pc server integration)
Opsi is a software distribution and management system for Windows Clients, based on Linux servers. Opsi is developed and maintained by uib GmbH from Mainz, Germany....

opsi (open pc server integration) is a desktop management software for Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 clients based on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 servers. It provides automatic software deployment
Software deployment
Software deployment is all of the activities that make a software system available for use.The general deployment process consists of several interrelated activities with possible transitions between them. These activities can occur at the producer site or at the consumer site or both...

 (distribution), unattended OS-Installation, patch
Patch
-Computing:* Patch , fix for a software program* Patch , UNIX utility* Patch, a 3-D Bézier curve used in computer graphics, or a primitive in some 3-D software packages* Patch Media, website for local news and events-Electronics:...

 management, hard- and software inventory, License Management / Software Asset Management
Software Asset Management
Software asset management is a business practice that involves managing and optimizing the purchase, deployment, maintenance, utilization, and disposal of software applications within an organization...

 as well as administrative tasks for the configuration management
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

.


Uranos
Its an alternative to Opsi desktop management software, includes support for Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 distributions .


Pacha
Pacha was designed to be a simple way to backup and manage software configuration files from single or multiple server instances across the network.Written in Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

, the initial approach is to easily deploy an instance and capture any changes via a version control (mercurial
Mercurial
Mercurial is a cross-platform, distributed revision control tool for software developers. It is mainly implemented using the Python programming language, but includes a binary diff implementation written in C. It is supported on Windows and Unix-like systems, such as FreeBSD, Mac OS X and Linux...

), giving the System Administrator the ability to rollback and safe guard valid, working configurations.


Pallet
Pallet is a provisioning, configuration and management tool written in Clojure
Clojure
Clojure |closure]]") is a recent dialect of the Lisp programming language created by Rich Hickey. It is a general-purpose language supporting interactive development that encourages a functional programming style, and simplifies multithreaded programming....

. It uses configuration "crates", that can be functionally composed to configure machines. It requires neither a server, nor an agent on the managed machine.


PCfengine
This tool aim to be a better Cfengine
Cfengine
CFEngine is a popular open source configuration managementsystem, written by Mark Burgess.Its primary function is to provide automated configuration and...

 written in Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

. It uses Python directly as a language to describe configuration files. In contrast to Cfengine, it determines automatically the order in which actions are applied in the client. You can read about its concepts and api.


PIKT
PIKT
PIKT is cross-categorical, multi-purpose software for global-view, site-at-a-time system and network administration. Applicability includes system monitoring, configuration management, server and network administration, system security, and many other uses....

PIKT is foremost a monitoring system that also does configuration management. "PIKT consists of a sophisticated, feature-rich file preprocessor; an innovative scripting language with unique labor-saving features; a flexible, centrally directed process scheduler; a customizing file installer; a collection of powerful command-line extensions; and other useful tools." http://pikt.org/


Puppet
Puppet consists of a custom declarative language to describe system configuration, distributed using the client–server paradigm (using XML-RPC
XML-RPC
XML-RPC is a remote procedure call protocol which uses XML to encode its calls and HTTP as a transport mechanism. "XML-RPC" also refers generically to the use of XML for remote procedure call, independently of the specific protocol...

 protocol in older versions, with a recent switch to REST
Representational State Transfer
Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...

), and a library to realize the configuration. The resource abstraction layer enables administrators to describe the configuration in high-level terms, such as users, services and packages. Puppet will then ensure the server's state matches the description. There is support in Puppet for using a pure Ruby DSL as an alternative configuration language in version 2.6.0 and later.


Quattor
Quattor
Quattor is a generic open-source tool-kit used to install, configure, and manage computers. Quattor was originally developed in the framework of project...

"The quattor information model is based on the distinction between the desired state and the actual state. The desired state is registered in a fabric-wide Configuration Database (CDB), using a specially designed configuration language for expressing and validating configurations, composed out of reusable hierarchical building blocks called templates. Configurations are propagated to and cached on the managed nodes." http://quattor.web.cern.ch/quattor/


Radmind
Radmind
Radmind is a suite of Unix command-line tools and an application server designed to remotely administer the file systems of multiple client machines....

Radmind manages hosts configuration at the file system level. In a similar way to Tripwire
Tripwire (software)
Open Source Tripwire is a free software security and data integrity tool useful for monitoring and alerting on specific file change on a range of systems. The project is based on code originally contributed by Tripwire, Inc. in 2000....

 (and other configuration management tools), it can detect external changes to managed configuration, and can optionally reverse the changes. Radmind does not have higher-level configuration element (services, packages) abstraction. A graphical interface is available (only) for Mac OS X.


Rollout
Rollout is a system developed to automate system administration on UNIX servers. It is primarily focused towards Linux, but could be adapted to Solaris, HP-UX,AIX, etc. It is written purely in Perl, and the configuration is also a Perl source file. Some Perl knowledge is required to edit the configuration, but copy-and-paste may suffice.


Salt
Salt started out as a tool for remote server management. As its usage has grown, it has gotten a number of extended features, including a more comprehensive mechanism for host configuration. This is a relatively new feature facilitated through the Salt States component. With the traction that Salt has gotten in the last bit, the support for more features and platforms will continue to grow.


SmartFrog
SmartFrog
SmartFrog is an open-source software framework, written in Java, that manages the configuration, deployment and coordination of a software system broken into components. These components may be distributed across several network hosts....

Java-based tool to deploy and configure applications distributed across multiple machines. There is no central server; you can deploy a .SF configuration file to any node and have it distributed to peer nodes according to the distribution information contained inside the deployment descriptor itself.


Spacewalk
Spacewalk (software)
Spacewalk is open source systems management software developed by Red Hat. It is the upstream version of the RHN Satellite Server, which was open sourced in 2008. Spacewalk includes the web interface and back-end, as well as RHN Proxy Server and associated client software of Satellite and makes...

Spacewalk is an open source Linux and Solaris systems management solution and is the upstream project for the source of Red Hat Network Satellite. Spacewalk works with RHEL, Fedora, and other RHEL derivative distributions like CentOS, Scientific Linux, etc. We are working on getting it packaged for inclusion in Fedora. It allows you to inventory your systems (hardware and software information, install and update software on your systems, collect and distribute your custom software packages into manageable groups, provision your systems (from bare metal via KOAN and cobbler), manage and deploy configuration files to your systems, monitor your systems, provision virtual guests, start/stop/configure virtual guests and delegate all of these actions to organisations with fine grain local or LDAP user controls and system entitlements.


STAF
"The Software Testing Automation Framework (STAF) is an open source, multi-platform, multi-language framework designed around the idea of reusable components, called services (such as process invocation, resource management, logging, and monitoring)." http://staf.sourceforge.net There are STAF plugins to perform a variety of common configuration management functions, such as distributed scheduling, execution, and file copying.


Synctool
Python based command line tool that uses SSH with host-based authentication and rsync to copy an overlay tree to a machine or group of machines. Synctool is designed to be easy to learn and easy to use. Default behaviour is to show a preview of what files would be updated on which machine; then the admin can either view the changes in more detail or deploy them. Synctool was created by SARA
Stichting Academisch Rekencentrum Amsterdam
Stichting Academisch Rekencentrum Amsterdam is a Dutch foundation that provides supercomputers, colocation, networks and high-end visualisation to academic institutions...

system expert Walter de Jong.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK