do we need the source tarballs for our releases?

3 views
Skip to first unread message

Andrei Matei

unread,
Dec 10, 2019, 3:56:08 PM12/10/19
to CockroachDB, Ben Darnell
When you google "build cockroach from source", the first hit is our installation page, which tells you how to build the tarball corresponding to the latest release. That's not quite what I want, and I think it's not what the vast majority of people want when googling this. What I want is to clone the github repo and build master. While yelling about this around the cube, two newer folks said they were tripped by these instructions when they joined the company.

It bothers me that we have these installation pages explain how to build from the tarballs, and separately we have this contributor wiki page about building from source which teaches you to clone the github repo. They're overlapping and both incomplete. And the installation instruction pages, btw, are per-release and per-operating system, btw.

Would anyone object to getting rid of these installation instructions and instead point to the wiki page, which we can improve to also mention the tarballs?
To keep the history of build instructions for old versions, would anyone object to moving the contents of the wiki page back to github? Besides being properly versioned there, that's also where one would expect the build instructions to be. Even with all other contributor docs having been moved to the wiki, the build instructions I think really should stay with the source. As it stands, I've repeatedly spent a bunch of time looking for them.

And finally taking all this a step further - is it even worth it for us to publish these source tarballs with every release? Does anyone need them / can't everybody checkout the right tag from github? Cause if there's no good use for them, I'd rather we stop producing them...

Thanks,

- a_m

Ben Darnell

unread,
Dec 10, 2019, 4:12:17 PM12/10/19
to Andrei Matei, CockroachDB
The source tarballs are important because they have a lot fewer moving parts, and are therefore much more likely to be reproducible over time. For example, you don't need yacc, node, or yarn to build from the tarball. They're also self-contained, which is simpler for users than mirroring multiple git repos. 

I believe we have analytics on these pages. We should be able to find out how often the source tarballs are being used. But I believe they are important, so we should continue to provide both user-focused (tarball) and developer-focused (git) build-from-source instructions. 

On Tue, Dec 10, 2019 at 3:56 PM Andrei Matei <and...@cockroachlabs.com> wrote:

Would anyone object to getting rid of these installation instructions and instead point to the wiki page, which we can improve to also mention the tarballs?

I'd object to removing these instructions completely. We could *add* a link to the build-from-git version.
 

To keep the history of build instructions for old versions, would anyone object to moving the contents of the wiki page back to github? Besides being properly versioned there, that's also where one would expect the build instructions to be. Even with all other contributor docs having been moved to the wiki, the build instructions I think really should stay with the source. As it stands, I've repeatedly spent a bunch of time looking for them.

SGTM

-Ben

Ben Darnell

unread,
Dec 10, 2019, 4:20:31 PM12/10/19
to Andrei Matei, CockroachDB
Also these tarballs were crucial before we had our JS vendoring sorted out (2.1, i think?). Before that left-pad-like debacles could break the ability to build old versions from source (this happened in the 2.0 release branch). Now they're less crucial, but I still think it's more in line with end-user expectations that source comes in tarballs, not (multiple) git repos.

-Ben

Andrei Matei

unread,
Dec 10, 2019, 5:43:18 PM12/10/19
to Ben Darnell, CockroachDB
On Tue, Dec 10, 2019 at 4:20 PM Ben Darnell <b...@cockroachlabs.com> wrote:
Also these tarballs were crucial before we had our JS vendoring sorted out (2.1, i think?). Before that left-pad-like debacles could break the ability to build old versions from source (this happened in the 2.0 release branch). Now they're less crucial, but I still think it's more in line with end-user expectations that source comes in tarballs, not (multiple) git repos.

I don't know Ben... I think Github is the new tarball. But fine.
 
The source tarballs are important because they have a lot fewer moving parts, and are therefore much more likely to be reproducible over time. For example, you don't need yacc, node, or yarn to build from the tarball. They're also self-contained, which is simpler for users than mirroring multiple git repos. 

I believe we have analytics on these pages. We should be able to find out how often the source tarballs are being used. But I believe they are important, so we should continue to provide both user-focused (tarball) and developer-focused (git) build-from-source instructions. 

On Tue, Dec 10, 2019 at 3:56 PM Andrei Matei <and...@cockroachlabs.com> wrote:

Would anyone object to getting rid of these installation instructions and instead point to the wiki page, which we can improve to also mention the tarballs?

I'd object to removing these instructions completely. We could *add* a link to the build-from-git version.

OK, that's what I'll do.

- a_m

Reply all
Reply to author
Forward
0 new messages