Some Cfengine Users
Cfengine's history began in 1993 as a way for author Mark Burgess
(then a post-doctoral fellow of the Royal Society at Oslo University, Norway)
to get his work done by automating the management of a small group of
workstations
in the Department of Theoretical Physics. Like many
post-docs and PhD students, Burgess ended up with the task of
managing Unix workstations, scripting and fixing problems for users
manually. Scripting took too much time, the flavours of Unix
were significantly different, and scripts had to be maintained for
multiple platforms, drowning in exception logic.
After discussing the problems with a colleague Mark wrote the first version of Cfengine (the configuration engine) which was published as an internal report and presented at the CERN computing conference. It was able to hide platform differences using a domain-specific language that gained significant attention from a wider community.
A year later, Burgess finished his post-doc but decided to stay in Oslo and took at job lecturing at the University College of Oslo. Here he realized that there was little or no research being done into configuration management, and he set about applying the principles of scientific modelling to understanding computer systems. In a short space of time he developed the notion of convergent operators which remains the core of Cfengine's reliability to this day.
In 1998, dissatisfied with the level of understanding in the area and the ad hoc discussions of computer security at the time, Burgess wrote "Computer Immunology" a paper at the USENIX/LISA08 conference. It laid out a manifesto for creating self-healing systems, reiterated a few years later by at IBM in their form of Autonomic Computing. This started a research effort at Oslo University College and led to a major re-write Cfengine 2, which added features for machine learning, anomaly detection and secure communications.
Cfengine 2 has grown incrementally ever since, learning from the research done at Oslo University College as well as from user experiences originating all over the world.
Cfengine remains GPL, Open Software, but unlike some projects it was been driven by innovation and research rather than by a popular ideas -- Burgess' attention to quality and a belief in strong principles for safety and security has been the core if Cfengine's success. It has maintained its lead because of this commitment to being ahead of the curve. Maintaining safe software for hundreds of thousands of computers is a huge responsibility however, and great care has been taken to ensure safety and reliability. Now the world's first Professor in the field of Network and System Administration, Mark Burgess still checks contributions to the code and discards changes that do not conform to core principles of safety, security and reliability.
In 2003, it was time to take stock. There was no existing complete model that could adequately explain how Cfengine worked, except for a handful of papers about Cfengine's maintenance model. Mark began developing what would become Promise Theory as a way to rewrite Cfengine once again, making it simpler and more powerful at the same time.
In 2008, after 5 years of research, it was time to implement the model. Cfengine 3, marked for release 1 Jan 2009, is the most radical rewrite of Cfengine to date, designed to address all of the criticisms levelled at configuration management tools over the past 15 years. Mark Burgess also founded Cfengine AS, our commerical support and services company. Cfengine 3 goes beyond the criticisms of existing tools by taking on the challenges of the near future: integrating with knowledge management and discovery mechanisms opens Cfengine for genuine enterprise operation and support.
