There has been discussion about moving the QMF code out of the main source tree and into the "extras" tree. This is appropriate in that QMF is, as of v2, completely layered over messaging and does not require anything in the messaging broker beyond standard AMQP 0-10 behavior. I suggest raising a separate Jira for this effort because it will not be done in the Qpid 0.10 timeframe. Note that the pure Python implementation of QMF is already in the extras tree.
The primary reason that the C++ implementation cannot yet be moved out of the main tree is that it uses non-public Qpid headers:
1) It uses the qpid::sys namespace for locks, conditions, and other wrapped OS features.
2) It uses the qpid::framing namespace (specifically Buffer and FieldTable) to construct and interpret QMFv1 messages for backward compatibility.
Some possible approaches to consider:
1) Move qpid::sys out of the main tree as it is also not messaging specific but more of a general-purpose OS abstraction layer.
2) Provide a binary codec that puts AMQP-typed values into a buffer in-order without map or list overhead
3) Fully deprecate QMFv1 (i.e. abandon backward compatibility)