[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

$ 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!


More information about the zeromq-dev mailing list