(Updated after IRC conversation 10.04)

Update: Arthur Liu suggested today, that instead of focusing only on Config::Model, this project should result in creation of tool that would allow syntax-aware 3-way merge. While such tool can't be as good as models by definition (it cannot detect all logically incorrect configs), it's better than simple text 3-way merge, because it operates on a higher abstraction level (resulting configs will be always syntactically correct). Such tool would detect (of would be given) config file type, and use appropriate "backend" to do the 3-way merge. Of course, it could make use of Config::Model (i.e. support it's models as one of the backends). Also, while models would need continuous maintenance, this tool will not. I think, that Perl or Python will be a best choice for a programming language (because of their text-processing abilities). DD: another possibility is to enhance Config::Model to lower the need of "continuous maintenance" for upgrades. In other words, what is missing in Config::Model to perform the task suggested by ?ArthurLiu ?

Update: Since the goal changed a bit, it is easier to make timeline (deadlines): Above statement about selection of packages holds true, but I think the project should start with the packages that rely on configs most (most notably servers: Apache, Pure-FTPd, MySQL, cups; as I mentioned in my comment at socghop).

31.05 - Fully working proof-of-concept implementation, using models. This should be quite easy, since there are models for a few applications, and merging configs using them is explained on the wiki.

7.06 - Another easy file format is ini (used by PHP and MySQL among others). PHP is a bit trickier, since it's config file allows bitwise operators. At 7.04 support for basic ini files merge should be ready.

DD: 7.04 ??

21.06 - Full, or almost full support for complex INIs (that may contain lists and expressions, like configs of apps based on QSettings or PHP) and support for XML-based configs (inkscape, xfce, ...). XML should be easier, because it's standarized.

5.07 - Support for the mix of the above (Apache and cups)

Now, the easiest part is done. Integrating support of this tool shouldn't be very hard. For example, UCF makes copies of old configs files.

18.07 - Backends for less common, but important config file types (e.g ssh), basing on research conducted during community bonding, improving the existing code.

24.07 - Added ability to define simple tests - such tests could help determine whether config file is logically valid.

30.07 - Detailed instructions for package maintainters willing to incorporate this project into packages.