For the longest time, I wasn’t entirely sure why the XDG base directory specification split non-cache data into config and data. I knew there must be a difference which made it a useful thing to do, but I just couldn’t figure out why.
Then, as it tends to happen, while on a completely different topic, I ran across an entry in the Aquaria development mailing list which explained it simply and clearly.
Config files and data files are separated because config files are, in some ways, like cache files. If you lose them, it’ll be annoying, but they’re not too difficult to replace. On the other hand, I know I’d be pissed as hell if I lost a saved game that took me hours or days to build up.
It’s not as clear a distinction as something like “roaming vs. non-roaming” but given that config files are also more likely to be system-specific, that can play a part in it too.
Update: In my opinion, this blog post explains it even more effectively.
The Real Meaning Behind The XDG basedir config/data split by Stephan Sokolow is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
By submitting a comment here you grant this site a perpetual license to reproduce your words and name/web site in attribution under the same terms as the associated post.
All comments are moderated. If your comment is generic enough to apply to any post, it will be assumed to be spam. Borderline comments will have their URL field erased before being approved.