How is it that Cfengine does not exist in the Ubuntu (10.04 LTS) Main Repository? I can't find a discussion of this anywhere (using Google). The only configuration management in Ubuntu Main seems to be Puppet.

I looked for a wide variety of others as well - all from Wikipedia's list of configuration management tools - and none of them are present in Ubuntu main. I looked for bcfg2, opensymbolic, radmind, smartfrog, spacewalk, staf, synctool, chef - none are present.

From my vantage point as a system administrator, I would have expected to find at least bcfg2, puppet, cfengine, and chef (as the most widely used tools).

Why is cfengine (or chef and others) not included in Ubuntu main? Why is there only one configuration management tool in Ubuntu main?

By the way - the reason this is important in the context of server administration is because Ubuntu main is fully supported by the Ubuntu team with updates and security updates; the other repositories are not.


First off, bcfg2, chef, and cfengine are all in the universe repository, which is a community supported repository of software. It is better explained here:


The most relevant portion of that page here is

"Popular or well supported pieces of software will move from universe into main if they are backed by maintainers willing to meet the standards set by the Ubuntu team."

When you're talking about server related software, main is really a giant commitment.

At some point, one has to think about the burden that the maintenance of all the packages in main puts on Ubuntu as a project. LTS server releases in particular are supported with security updates for 5 years. So when the MIR team and greater Ubuntu development community looks at whether something should go into main, one of the first things they look at is whether there isn't already something with feature parity in main.

Many times, Ubuntu will still go forward with adopting the package for main. MySQL and PostgreSQL are both in main and at this point have very similar functions and features. This is in large part because there are massive groups of Ubuntu users who use either one, and plenty of people out there maintaining the software.

In the case of configuration management solutions, cfengine, puppet, and chef, all seem to offer a high degree of overlap in functionality, and zero compatibility. So there's an opportunity to make an opinionated decision for users who haven't chosen one. In this case, those involved with that decision up to now have chosen Puppet for a number of reasons which have been discussed at Ubuntu Developer Summits (UDS) in detail many times.

This choice is always up for discussion. Chef, Cfengine, anything else, just need to have somebody willing to make a compelling case that it will serve a large number of Ubuntu users to include the software in main.

I would encourage you then to read through the requirements here:


And file a MIR request if you think it will pass, using this process:


If you're not getting much traction on your MIR, file a blueprint attached to an upcoming UDS (UDS-Oneiric is coming up in May in Budapest). You don't have to fly all the way to Budapest to join the discussion (note that sponsorship is available on a limited basis), you can attend virtually. Either way, I think its clear that the Ubuntu development community wants to hear from you and any other users who feel that Ubuntu can be improved.

  • 2
    Fantastic answer - well explained - and exactly what I was looking for! (Can I give double points?) I would have thought that there would be a huge installed base (by an order of magnitude perhaps!) of cfengine vs. puppet; but I've nothing to back that up. It may be there aren't that many Ubuntu users, or that there isn't a maintainer. – Mei Mar 14 '11 at 19:13
  • Given a package name, is there any way to find specific notes as to why it is (or is not) contained in Main? – Mei Mar 14 '11 at 20:13
  • 1
    Not really, if something has been proposed for main do a search for it's "main inclusion report" and the packagename, if someone's proposed it and it got rejected it would be in that bug report. Here's puppet's for an example: bugs.launchpad.net/ubuntu/+source/puppet/+bug/408297 – Jorge Castro Mar 14 '11 at 20:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.