json-c has partial support for "thread safety", as documented at: https://github.com/json-c/json-c It is probably configurable due to toolchain problems with uClibc. While JSON parsing hardly requires multi-core scalability, we shoud probably (IMHO) enable thread safety unconditionally if only for safety reasons, even if that implies a performance hit. That being said, by default ENABLE_THREADING is OFF and purely single-threaded access to json-c and a parsed object tree should be fine either way, so I'll leave the decision to the maintainer. Ultimately the real problem here - just as with any other library - is that the configuration decision is not with json-c but with the application that uses it. Currently there is no ebuild in the tree that explicitly requires json-c[threads]. Reproducible: Always
An alternative course of action would be to rename threads to thread-safety (default off?) so that any consumer packages can explicitly declare what they require.
As documented in https://github.com/json-c/json-c/blob/master/README.md the ENABLE_THREADING CMake option is disabled by default and actually incomplete. Enabling it by default would therefore be misleading.