It has become common recently to refer to CFEngine on the web as an “academic” project. Turns out, though, that this phrase turns out to mean quite different things depending on who’s using it, and sometimes it doesn’t really mean anything at all.
For CFEngine users, the academic connotation is generally perceived as a good one, representing CFEngine’s long standing commitment to both research and the educational environment. CFEngine is proudly academic in the sense that it was rationally and systematically designed and developed, with the specific choices based not on personal preferences or aesthetics but on well grounded, peer-reviewed and tested software engineering principles, things too often neglected in commercial software development.
For critics of CFEngine, “academic” is most often used as a general purpose pejorative, as if being academic is somehow opposed to being substantial, committed, serious or real, as if CFEngine were only a university toy. In such usage, academic becomes a lazy substitute for the much harder task of performing substantive analysis of or comparisons to CFEngine itself.
However you may feel about universities and their supposed ivory tower separation from the real world, at this point it is just silly to think of CFEngine in this way. Since its first release as Open Source code in 1994, CFEngine has been used by commercial, government and, yes, academic organizations throughout the world–and especially in large, mission critical environments in banking, aerospace, oil and gas, military, and so on. The fact is that CFEngine is deeply embedded in some of the largest and most sensitive production sites around the world, as well as being used successfully by scores of small and medium sized organizations of every kind.
To his credit, CFEngine’s originator, Professor Mark Burgess of Oslo University College, has kept CFEngine closely tied to what he terms “scientific principles” that have been the subject of research for almost twenty years. As he puts it, “What’s important is the methods and the integrity of the project, not where it originates and develops. Science is about a culture of understanding, not of marketing and wild claims. There are certain ideas that you can only see when you are not inundated with the so-called real world. Without principles to guide you, you can’t say you know what you’re doing.”
Burgess himself has made many visits out into the real world during his career. “I like to go get my hands dirty and immerse myself in an issue and then retreat to a quiet place and reformulate it in abstract terms, stripping away irrelevant details to preserve the essence. That’s what science does – it idealizes messy reality into something we can repeat and learn from.”
At CFEngine headquarters, the company has built up a staff of like-minded individuals who are willing to ask the challenging questions, and who understand the value of models, experiments and their honest appraisal. They are proud of their academic roots and skills and they take CFEngine in new directions. I think we will all benefit from this fortuitous combination.