Elektra  0.8.20
Goals

Target

Quality Goals

1.) Simplicity

An overly complex system cannot be managed nor understood. Extensibility brings some complex issues, which need to be solved - but in a way so that the user sees either nothing of it or only needs to understand very simple concepts so that it works flawlessly. Special care for simplicity is taken for the users:

2.) Robustness

Configuration systems today suffer badly from:

We want to tackle this problem by introducing an abstraction layer where all these problems can be dealt with. The goal is that code changes are necessary only within Elektra and not in the applications using Elektra! This makes your code not only portable towards more systems, but also enables global improvements in the configuration systems.

3.) Extensibility

There are so many variants of

Nearly every aspect of Elektra must be extremely extensible. On the other side semantics must be very clear and well defined so that this extensible system works reproducible and predictable.

Only key-value pairs are the common factor and a way to get and set them, everything else is an extension.

4.) Performance

Configuration is the main impact for bootup and startup-time. Elektra needs to be similar fast then current solutions. Ideally it should get faster because of centralized optimization endeavours where everyone using Elektra can benefit from.

Only pay for what you need.

Non-Goals