No one has to implement Jingle File Transfer
XEP-0385 says "a client supporting this XEP MUST implement Jingle File Transfer (XEP-0234)". I'm not sure how to not read that as a MUST.
Right but we're not talking about supporting that XEP, but rather a totally different XEP (sims) which uses part of the same vocabulary.
I missed the context of this quote and that it was from SIMS. The full quote is:
Thus a client supporting this XEP MUST implement Jingle File Transfer (XEP-0234) [2] and HTTP File Upload (XEP-0363) [4].
I thought the argument being made was that because it uses a metadata element in the jingle namespace it must implement jingle, which clearly would not be true. But in fact it's simply that the XEP actually says "MUST implement jingle" in a totally different section that we were discussing, which is what confused me. I agree it's silly for this to be a MUST and the XEP should be transport-method agnostic and not require any particular transport method (http, jingle, or anything else) to work at all. Though I can see the reasoning was probably simlar to the suggested codecs section on "wouldn't it be nice if all the apps always worked together" but I think it's well known I oppose that kind of view so I'd be quite happy to drop this MUST. I don't think this is related to the XEP-0446 discussion, though.