[zeromq-dev] Foreign library dependencies

Martin Lucina martin at lucina.net
Sat Feb 4 03:32:52 CET 2012


skaller at users.sourceforge.net said:
> I also asked a question earlier that didn't seem to get answered: what is the
> attitude introducing a dependence on a foreign library? (Source can be included
> in zmq without licence issues). In this case, Judy, since that determines the overhead.

I'd been meaning to answer this, but got swamped by all the other emails
:-)

The policy that we followed with Martin Sustrik while maintaining ZeroMQ
was to avoid external dependencies where possible. Any external dependency
creates a burden on users, distributors (Debian, etc.) and maintainers of
the depending project.

The major exception was OpenPGM, which got packaged with libzmq both
because originally we used a specific version, and because a significant
part of our target user base are people who want to use PGM multicast.

A major part of software development (IMHO) is knowing what to keep "out"
just as much as what to put "in". Keeping the libzmq core lean & mean
follows this principle.

Regarding Judy, I had a brief look at the website, and grabbed the code.
The download is a ~1MB tarball, and a quick count of the "src" directory
gives:

$ find . -type f | xargs wc -l
[...]
 29314 total

Doing the same for libzmq master gives:

 20352 total

So, if it were my decision, I would need to consider the benefit of Judy
arrays vs. the cost of including 29000 lines of code (more than libzmq
core!) as a dependency.

Of course, there is no such policy now, so feel free to submit a patch!

-mato



More information about the zeromq-dev mailing list