[zeromq-dev] Stable release downloads (was Re: CZMQ "stable" release versioning)

Ewen McNeill zeromq at ewen.mcneill.gen.nz
Wed Apr 27 10:52:28 CEST 2016


On 25/04/16 21:51, Pieter Hintjens wrote:
> Yes, retiring the deprecated APIs and bumping the major version should
> go together.

It also seems timely to raise where these stable release downloads come 
from when a user downloads them.

http://zeromq.org/intro:get-the-software

links to download URLs like:

http://download.zeromq.org/zeromq-4.1.4.tar.gz

and download.zeromq.org is:

ewen at ashram:~$ host download.zeromq.org
download.zeromq.org is an alias for virtual.imatix.com.
virtual.imatix.com has address 95.142.169.98
virtual.imatix.com mail is handled by 10 mail-in.imatix.com.
ewen at ashram:~$

and virtual.imatix.com is an alternative name for a VM... that is paid 
for by iMatix (ie, by Pieter).

So we'll need to find another place to host these downloads.  Personally 
I'd like it if _all_ the existing downloads were moved to that new 
place, rather than just being abandoned (I've spent too much time last 
year/this year trying to track down old code that didn't get carried 
along with moves to want to cause that to happen again).  That would 
also let us potentially make download.zeromq.org point at that new 
location, and thus keep existing URLs working.

Currently there are 160 downloadable files on download.zeromq.org, 
taking up 194MB of files; so an average around 1.2MB each.  With 
presumably some of them being downloaded more than a trivial number of 
times.

Pieter and I briefly discussed using GitHub Releases:

https://help.github.com/articles/creating-releases/

along with a custom binary which was whatever tarball, binary, etc, had 
been built.  From what I could tell from a quick look this is plausible 
without cost (for an open source project), at least under 1GB total 
(https://help.github.com/articles/what-is-my-disk-quota/) and maybe 
larger if they're explicitly attached to releases 
(https://help.github.com/articles/distributing-large-binaries/) which 
then seem to get stored outside the git archive itself.

But (a) there's a "technical debt" of uploading 160 files (with 1-2 
files per release), and (b) there aren't even any tags on the 
zeromq/libzmq repository AFAICT, so there's also the technical debt of 
figuring out where all these files should "attach" (ie, what's the 
matching source).

I'm explicitly _not_ volunteering to spend the time figuring out where 
all these tags belong, and releases should be created/uploaded.[0]  But 
I can, eg, provide someone with a list of URLs to download all the files 
from download.zeromq.org if they were to volunteer to do this.

There's an API to automate some of it:

https://developer.github.com/v3/repos/releases/#create-a-release

but that also requires a git commit ID to attach each release/set of 
files to... which I suspect is the hard part to figure out.

Alternatively, other ideas for where to store the downloads that don't 
rely on iMatix/Pieter would be a good idea.  Before the next release is 
"cut".

Ewen

[0] My "software archaeology" time has been going into:

https://github.com/imatix-legacy/
https://imatix-legacy.github.io/

(there's still a couple of pieces to convert over to GitHub, but the 
imatix-legacy.github.io one is now close to replicating the early 2000 
iMatix website, with the source for everything at 
github.com/imatix-legacy/ in at least a "human reviewable" form.)



More information about the zeromq-dev mailing list