[zeromq-dev] Governance of language bindings

Martin Sustrik sustrik at 250bpm.com
Mon Jan 25 13:50:38 CET 2010

Hi all,

The number of language bindings for 0MQ is steadily increasing (we even 
have Haskell binding now!) making the build process, quality assurance 
and packaging pretty complex. Even more importantly, there's no single 
person out there that can handle it all.

Thus I thought of distributing the responsibility to improve the 
process. My main idea is that if we can keep libzmq ABI stable, there's 
no need to tightly couple 0MQ core and the language bindings. As for the 
ABI, there isn't much reason for changing it in forseeable future (aside 
of adding new constants).

Decoupling the core library from the bindings can be done on several levels:

1. Source code. Instead of packing everything into the same repository 
each binding can have separate repository with its own maintainers etc.

2. Quality assurance. The community around each binding can make sure 
that the binding works as expected.

3. Release cycle. With stable ABI, individual binding releases don't 
have to be synchronised with releases of 0MQ core.

4. Packages for individual language bindings can be created separately 
each depending on the core 0MQ but not depending each on another.

In overall, my feeling at the moment is that core 0MQ should include 
just small subset of language bindings to ensure basic usability of the 
product. The rest should be handed to focused development communities. 
www.zeromq.org can serve as a directory of existing language bindings. 
zeromq-dev at lists.zeromq.org can still be used to discuss the bindings, 
so that developers have at least an idea of what's being done even if 
the language binding doesn't concern them personally.

Please, feel free to discuss. It's important that we find the best model 
to maintain the product with large amount of language bindings.


More information about the zeromq-dev mailing list