Agreed. I know in WildFly we integrate a number of libraries that use JSONP but not JSONB, and those libraries are used outside of appservers.
And in WildFly you can configure a server installation without JSONB support if you don't need it. I know other servers provide similar slimming ability.
Is it absolutely needed to have the specs split to enable that?
What about having multiple modules within the spec? E.g. jakarta.json as a module that includes both jakarta.json.processing and jakarta.json.bind. Application developers who want to use JSON could simply use jakarta.json. But libraries that specifically need to bind to jakarta.json.processing, can bind to only that.
We considered splitting up Faces in dozens of modules, so people could omit things they do not want (say, omit the navigation rules, or omit the resource library contracts). Naturally we don't dream of splitting up Faces in a dozen new specs.