I hate them. I am especially annoyed when a library that exposes some sort of API requires it’s own configuration file. So, not only do you have a configuration file for your application, you also have to have another for this stupid library you integrated into your application. Wouldn’t it be nicer for the API to expose some methods, structures or something so that the data needed by the api could be set from the consuming application? That way, if you insisted in persisting these settings in a file you could do so in the application config file, giving you a single config file instead of two. I suppose one might make an exception and have a separate config file for a something that is so pervasive that is canonical like the log4XX logging libraries.