SkiingYAC Logo
Custom Solutions

Configuration for GNU

This is a proposed project currently in the pre-alpha (planning) stage. No release date has been set, and no software is currently available for download.

Project Summary

The "Configuration for GNU" (CFG) project will provide a universal configuration tool which will provide a central point of configuration for many aspects of Linux and possible other GNU-based systems.

Goals:

  • get support from open source community (the gnu project, linux standard base, software development teams, etc.). we do not want to work on a project that won't be used.
  • get support from major linux vendors: mandrake, red hat, debian, etc.
  • use existing libraries and standards where possible, such as xml. too many open source projects tend to reinvent the wheel (e.g. mozilla's toolkit, staroffice's component model).
  • provide variety of configuration interfaces (command line, graphical, web-based, text-based, etc.)
  • modular design to allow addition of new configuration types, services, or interfaces.
  • provide compatibility with existing software as well as option to migrate software to new configuration file standards (e.g. configuration parsing libraries, ability to write out configuration to native formats).  
  • lean toward developing configuration tools, not a central configuration database like the windows registry.

Project Outline

Investigation Phase

  • list similar projects that have been started/proposed, and which ones are currently active
  • decide on configuration standards which will be used
  • develop a framework and possibly a prototype of proposed interface frontend(s)
  • present framework to open source community (through sites like freshmeat.net) and submit Requests For Comments (RFCs)

Development Phase

  • do the coding based on recommendations from the open source community
  • implement support for existing configuration file formats (e.g. win ini (samba), file/directory (qmail/djbdns), XML, flat text, etc.)

Implementation Phase

  • create configuration description files for major/common services/systems
  • distribute/create packages for linux distributions, and solicit assistance creating packages for other unixes.
  • encourage service development teams (samba, apache, etc.) and distribution package maintainers to include and update configuration description files to ensure continued usefulness.