Why is there only one configuration management tool in the main repository?

Solution 1:

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

"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:

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.