No, "product" IS Jersey, CXF, RESTeasy. It is definitively NOT the same thing as "application author". That would really be extraordinarily strange.
Yes, that would be strange. OK, so we know what "product" is not.
So you're absolutely sure that in the following paragraph:
"In a product that supports CDI, implementations MUST support the use of CDI-style Beans as root resource classes, providers and Application subclasses."
…"product" means Jersey (for example) and "implementation" means…what, exactly?
And in section 11.2.1 (I picked it kind of arbitrarily) which uses the same sort of language and says in part "in a product that also supports the Servlet specification, implementations MUST support JAX-RS applications that are packaged as a Web application", again, you see "product" as Jersey, and "implementations" as…what, exactly?
For the record I see this as:
"product" == Glassfish or some other application server or integration environment inside of which a JAX-RS implementation might find itself
"implementation" == Jersey or another implementation of the JAX-RS specification
Then it becomes very clear, and could be rewritten equivalently like this:
When integrated in Glassfish, or any other product that supports CDI, Jersey or any other JAX-RS implementation MUST support the use of CDI-style Beans as root resource classes, providers and Application subclasses.
I base my interpretation on the clear distinction throughout the rest of section 11 between "product" and "implementation". Note that 11.2 says, in part, "this section describes the additional requirements that apply to a JAX-RS implementation when combined in a product that supports the following specifications". How could "product" and "implementation" possibly be synonyms in this sentence? They cannot.
Anyway, thanks for your help and alternative interpretation. I think I've got the answer I needed!
Best,
Laird