From 06ee60f0046b80d7d85f80e1b23d2c2e1147d0cd Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 6 Jun 2019 17:32:59 -0600 Subject: [PATCH] Clarify what compliant implementations are --- specification/modules.rst | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/specification/modules.rst b/specification/modules.rst index 6a2564ce..1bc88445 100644 --- a/specification/modules.rst +++ b/specification/modules.rst @@ -18,7 +18,10 @@ Modules Modules are parts of the Client-Server API which are not universal to all endpoints. Modules are strictly defined within this specification and -should not be mistaken for XEP or equivalent extensions from other protocols -- in order for an implementation to be compliant with the Client-Server -specification it MUST support all modules and supporting specification. -The exception being clients, which are governed by `Feature Profiles <#feature-profiles>`_. +should not be mistaken for experimental extensions or optional features. +A compliant server implementation MUST support all modules and supporting +specification (unless the implementation only targets clients of certain +profiles, in which case only the required modules for those feature profiles +MUST be implemented). A compliant client implementation MUST support all +the required modules and supporting specification for the `Feature Profile <#feature-profiles>`_ +it targets.