So I got to know on the flock that fedmsg is going to be replaced?

Anyway, it seems that there is an idea to create schemas for the messages and distribute them in packages? And those python packages need to be present on producer as well as consumer?

> JSON schemas

> Message bodies are JSON objects, that adhere to a schema. Message schemas live in their own Python package, so they can be installed on the producer and on the consumer.

Could we instead just send the message schemas together with the message content always?

I would like to be able to parse any message I receive without some additional packages installed. If I am about to start listening to a new message type, I don't want to spend time to be looking up what i should install to make it work. It should just work. Requiring to have some packages with schemas installed on consumer and having to maintain them by the producer does not seem that great idea. Mainly because one of the raising requirements for fedmsg was that it should be made a generic messaging framework easily usable outside of Fedora Infrastructure. We should make it easy for anyone outside to be able to listen and understand our messages so that they can react to them. Needing to have some python packages installed (how are they going to be distributed PyPI + fedora ?) seems to be just an unnecessary hassle. So can we send a schema with each message as documentation and validation of the message itself?

a) it will make our life easier

b) it will allow people outside of Fedora (that e.g. also don't tend to use python) to consume our messages easily

c) what if I am doing a ruby app, not python app, do I need then provide ruby schema as well as python schema? What if a consumer is a ruby app? We should only need to write a consumer and producer parts in different languages. The message schemes should not be bound to a particular language, otherwise we are just adding us more work when somebody wants to use the messaging system in another language than python.

clime