[zeromq-dev] using 4.0?

Pieter Hintjens ph at imatix.com
Mon Sep 26 15:57:29 CEST 2011


On Mon, Sep 26, 2011 at 5:27 AM, Martin Sustrik <sustrik at 250bpm.com> wrote:

> As far as I can see the problem is caused by mixing experimental code
> and "real" code under the same brand name (0MQ), which in turn causes
> confusion and uncertainty.

I vote against fragmenting the community and branding.

Having three or four parallel versions is certainly confusing.

However it's a trade-off. It's important IMO to keep the single
experimental master version open to contributors, as a core project of
the community. Moving it to a private personal repository would be
damaging, either assuring that libzmq becomes a one-man project, or
fragmenting the community. I'd recommend to Martin that he work harder
to bring other people into libzmq development, by upfront
documentation and discussion of changes.

As well as the community aspect, it's essential that master changes be
tested and used. That won't happen if it's a differently-named
experimental project. Consider the thread on ZMQ_LEGO or whatever it's
called. That discussion only happens when code is used.

Having two projects both called libzmq would be worse than several
versions of one project. Having a totally different name is even more
confusing. Do I use libzmq or libsustrik? What version of libsustrik
is compatible with what version of libzmq. Etc.

So as long as we're actively experimenting with new functionality we
_will_ have multiple versions. It's less, not more, confusing to have
these in one place with one name.

What we must do, IMO, is make sure people don't use 4.x by mistake,
e.g. stating clearly on the git repository that it's experimental, and
encouraging users to work off released packages, rather than git
repositories.

We had the same discussion about a year ago, when people were using
the 3-0 master by mistake, and we solved it the same way, with clear
labelling and more frequent packaging.

-Pieter



More information about the zeromq-dev mailing list