I think this project is a great opertunity to learn new skills (python, GTK,...) and as we are with 3 people interrested to start I think we should be able to pull this of. If we want to start this I think the steps to be taken are the following:
- Determine the goals. What do we want to accomplish, what are our ambitions.
- Explore the possible starting points (Starting from scratch, forking Yast,...)
- Specify a basic roadmap.
My vision on the above points:
- No dependency towards any DE
- A modular framework.
- Each configuration tool should be a module (examples: keyboard module, Users&Groups module).
- All modules should be tied together in the framework.
- Modules should be indpendent of eachother.
- Modules can be written in either language (python, basic shell script, C/C++, ...)
- Support for multiple User Interfaces (GTK, QT, ...), maybe following design templates needed by the framework.
- Modules to start with: Keyboard, Users&Groups, ... (@Stupot: Samba is indeed to ambitious at this point, I used it just as an example)
- Starting from scratch: The benefits are that we will have all flexibility that we want, better knowledge of how stuff works. The drawbacks are time (it will take more time) and possible duplicated work (work already done in another project).
- Forking Yast: The benefits are that we will have something good that works from the beginnen. The drawbacks are the time needed to port it to sabayon/gentoo, the time needed to fully understand the inner workings and does it allow us to accomplish all our goals (needs to be looked into).
Roadmap (example if we start from scratch)
- Determine the language to use for the framework.
- A high level design of the framework (UML schema's) and how to tie in the modules.
- First implementation of the framework.
- Adding some basic modules. Using existing configuration scripts as xlnagla suggested.