Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.


There are a lot of system administration frameworks out there. This spec defines common criteria to evaluate and compare them.

IT DOESN'T COVER THE ACTUAL COMPARISON OF PRODUCTS. This is done in SysAdminFrameworkEvaluation.


Ubuntu tries to simplify the end user experience. In order to simplify the administration of Ubuntu servers a system administration framework should be provided. There are a lot of products there - thus the need to compare them against common criteria.

Use Cases

  • Alice has discovered a new system management framework and wants to compare it to others.
  • Bob was asked by management if he could look into the product super-admin-framework to see if it can be integrated as a management tool into Ubuntu server.


Define a list of criteria that should be evaluated.

Provide a common place to summarize the evaluation of the different frameworks and compare them.


List of criteria

  • Overview :
    • In which language(s) is the product written ?
      • Ex: python, perl, ruby, c, java.
    • Which other components/products/packages are needed ?
      • Ex: mysql, postgresql, ldap, an xml parser.
    • Which platform is targeted ?
      • Ex: linux, debian.
    • Which license is used ?
      • Ex: GPL, BSD, Commercial.
  • Packaging :
    • How does upstream distribute the product ?
      • Ex: a tar file.
    • Does upstream provide packages ?
      • Ex: package for debian, ubuntu.
  • Frontend :
    • What type of frontend is provided ?
      • Web interface:
        • Is it possible to modify the look'n'feel of the interface ? How ?
          • Ex: change the css file in the template directory.
      • Graphical UI:
        • Which environment is used ?
          • Ex: gnome, kde, gtk, qt, Xlib.
      • Console UI:
        • Which environment is used ?
          • Ex: ncurses.
      • Command line interface:
        • Ex: via bash script, perl script.
    • How is user management handled ?
      • What type of user authentication is supported ?
        • Ex: ldap, password file.
      • Does it support access control ?
        • Ex: Alice can configure service A and B. Bob can only configure B.
  • Backend :
    • Is there a clear separation of the backend and the frontend ? How ?
      • Ex: Uses a client/server model.
    • Is it possible to have multiple frontends ?
    • How does the framework handle configuration modifications done in other ways?
      • Ex: the dhcpd.conf file has been edited by hand. Will the framework overwrite it ? How will the framework react ?
    • How is the configuration stored ?
      • Ex: xml file, directly in the configuration files.
    • How are the local configuration files generated ?
      • Ex: template engine (which one).
  • Other features:
    • Does the framework support multiple server management ?
      • Which protocol is used to communicate between servers ?
    • Does the framework support rollback to previous configurations ?
    • Is it possible to view changes between two configurations ?
    • Is it possible to view which modifications are going to be applied before committing them ?
    • Is there an auditing system that logs which actions have been done by whom ?
    • How can a new service be added to the framework ?

Evaluation summary location

A wiki page : SysAdminFrameworkEvaluation.

Outstanding Issues

BoF agenda and discussion



SysAdminFrameworkEvaluationCriteria (last edited 2008-08-06 16:29:07 by localhost)