On the heels of
ARROW-585 and ARROW-5255, it has been proposed to add reserved keys to custom_metadata on the Field Flatbuffer type to pass along the name of a custom/user-defined data type and any serialized data required to reconstruct that data type.
The objective of this is to enable library users to define new data types that are embedded semantically in pre-defined Arrow data types like Binary or FixedSizeBinary. For example, UUID could be defined as an extension type atop FixedSizeBinary(16) (though UUID may be important enough to formalize as a logical type at some point...)
I will propose language to add to Metadata.rst and start a discussion on the mailing list to possibly call a vote