Today in a design meeting we discussed the topic of where to store configuration and state of a distributed application.
It turns out that in that meeting, some developers understand different things when they hear configuration or state. Some even think that configuration and state are exactly the same thing.
My very shortly summarized understanding is that configuration describes how you want the system to behave, and the system should parse that config and take actions to reach a certain state that reflects an implementation and consolidation of that config.
For example, an Apache server may have a config that tells it to have between 15 and 30 worker processes. When the server starts, it will most likely start 15 of them, arriving to a state of having 15 worker processes. As requests come in it might change its state to have up to 30 active worker processes.
I couldn't however convince the developers in question that these two concepts are different, and googling doesn't give me more eloquent references that explain better than I can what the me almost obvious difference is.
Any suggestions or links on how to explain this better ? Or am I wrong ?