Configuration 4 GNU (CFG)

Config4GNU System Requirements Specification

Recent Revision History

Revision 0.312 Jan 2003 
Added requirements Read a nonexistent configuration setting, Changing the content of a Phantom Object, and Notification of added property.
Revision 0.217 Oct 2002jal
Put contents of Risks section into sentence-paragraph form; add paragraph about Node Class inheritence.



The Config 4 GNU project is a new open source initiative which will improve the "nightmare" that is the current state of Linux/Unix configuration. We plan to provide a set of standardized tools for users, administrators, and developers which make configuration more efficient and powerful, while remaining true to the Unix philosophies of simplicity and reliability.


The purpose of this System Requirements Specification is to list the various functionality and requirements for the system in a clear and precise way. The System Requirements Specification is to be the guide and vision for the project.


The scope of the Config 4 GNU project is dealing with system configuration in all its various flavors:

  • Configuration of system settings, such as network interfaces, users and groups, user authentication, and filesystem management.

  • Configuration of system applications, such as the Apache webserver, Samba file sharing, DHCP, DNS servers, and mail servers.

Config 4 GNU will work with all sorts of different Linux and Unix-like operating systems. Although the underlying configuration mechanisms will vary on different platforms, the interface presented to the user will not.

The system shall not encompass user-level configuration, i.e. the type of configuration that is stored in a user's home directory.


In order for maximum clarity in communication of requirements, it is important to define certain terms used in this document.


An Application, also called System Application, in Config4GNU is a program that is typically run by the system administrator(s) and is not customizable per user. This will probably never include a desktop application.


A Daemon is an Application that is "always-running" on a system. It typically begins its life at system startup and continues until the machine is shutdown. It may run as the root user or a special user created for the purpose. It does not have a user interface, but waits for other programs to initiate communication or a timed event to happen.

Examples include:

  • Apache Web Server

  • Cron

  • Sendmail Mail Server


   General Description

SourceForge Logo