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.
Best Answer
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:
http://www.ubuntu.com/project/about-ubuntu/components
The most relevant portion of that page here is
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:
https://wiki.ubuntu.com/UbuntuMainInclusionRequirements
And file a MIR request if you think it will pass, using this process:
https://wiki.ubuntu.com/MainInclusionProcess
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.