Dear developers,
Please don't use JSON for configuration files. It is intended for carrying data, and nothing else. Therefore, it is good at carrying data, and nothing else.

I strongly believe that anything that doesn't support comments shouldn't be used for configs. Comments are indispensable for short documentation, or putting a URL to proper documentation.

There are other plain text file formats better fit for this purpose, such as TOML, YAML, and even XML.

If you coded your program in JS, I understand that you might be inclined to use JSON. Maybe you want to reduce bloat or dependency by not including a TOML or YAML parser. But you are making it more difficult for us to contribute to your project, or fix something on our end.

It is quiet old too. Probably older than time itself given that it doesn't support date standards ISO 8601 or RFC 3339 out-of-the-box. That is because it doesn't need to, because it is not for configurations or manifests.

What is your favourite plain text format for configurations?
JSON
14.9%
TOML
34.9%
YAML
32%
Other (comment please)
18.3%
Poll ended at .
@murtezayesil I said YAML but I also use JSON a lot for the reasons you outlined above
@hryggrbyr @[email protected] voted YAML but not because I like it just config in JSON is just stupid and it because the dev wants to read the config not write it.

@tig @hryggrbyr

I asked what is your favourite file format for config files. In other words, which format you think should be the norm in IT industry.

@murtezayesil @hryggrbyr I don't really mind providing it is plain text and clearly documented. I don't care so much for rigid formatting or the formatting dictating the config.
@murtezayesil @hryggrbyr I mean we have never really fully nailed down email as a standard there are general accepted rules but nothing concrete so if we haven't done that I think a single config standard is nice idea but I doubt it will happen. I think we should strive for good behaviour in config files so plain text, human readable and human friendly remembering this is bit the user needs to deal with and may not be a programmer so no fiddly formatting please :)