[zeromq-dev] 0MQ/3.0, 0MQ/4.0 and 0MQ process
Martin Sustrik
sustrik at 250bpm.com
Sat Oct 29 12:25:27 CEST 2011
Hi all,
I've been thining a lot about 3.0/4.0 and 0MQ process lately. The
problem is that the existing process mixes the experimental work with
bug fixes and new features ready to be released in a single repo (libzmq).
This process used to work well when 0MQ was a small project with just a
few users, but it doesn't work well anymore and leads to problems like
LIBZMQ-256 and similar.
The generic solution IMO is to keep the bug fixes and the features ready
for deployment in the main repo, while keeping experimental fetures in
topic branches/separate repos.
This is how the above can be achieved:
1. Revert the LABEL stuff from 3.0. It's an experimental feature that
should not have been released. By doing so we may hurt couple of early
3.0 adopters, but the migration from 2.1 would be easier, the system
will be more consistent and it would be much easier to update the guide
to reflect 0MQ/3.0.
2. Solve the explicit identity problem. AFAICS the feature people want
to keep is the ability to send messages to a specific peer based on its
identity. The feature that makes mess of the codebase, on the other
hand, is buffering messages on sender when peer with explicit identity
id offline/dead. We can thus remove the code for the latter (thus
backporting the drastic simplifications of the codebase in 4.0 to 3.0
while keeping the route-to-identity feature.
NOTE: I have no idea what would be the impact of 2 on the guide. Pieter,
can you make an estimate?
3. If 1 & 2 happens, what remains of current "4.0" is a bunch of
experimental features that can be moved to topic branches and 4.0 as
such can be dismantled.
From that point on we can apply only bug fixes and fully implemented
and agreed upon features to the trunk.
Thoughts?
Martin
More information about the zeromq-dev
mailing list