From: Jeff King <peff@peff.net>
To: git@vger.kernel.org
Subject: Re: git-scm.com status report
Date: Mon, 6 Feb 2017 19:27:54 +0100 [thread overview]
Message-ID: <20170206182754.qxgzl7546i7u5wnw@sigill.intra.peff.net> (raw)
In-Reply-To: <20170202023349.7fopb3a6pc6dkcmd@sigill.intra.peff.net>
On Thu, Feb 02, 2017 at 03:33:50AM +0100, Jeff King wrote:
> We (the Git project) got control of the git-scm.com domain this year. We
> have never really had an "official" website, but I think a lot of people
> consider this to be one.
>
> This is an overview of the current state, as well as some possible
> issues and future work.
Thanks everybody, for your responses here and off-list. After my mail
got posted to HN, I got quite a lot of private responses, including
offers to sponsor hosting, work on the site, etc. I'm still working my
way through them, but I wanted to try to respond in aggregate here.
First, a few clarifications:
- The money for the site wasn't mentioned to me by GitHub at all. I'm
quite sure they would continue to sponsor the site financially if
need be. The only reason I didn't promise that is because I hadn't
arranged it specifically, and "step 0" seemed like first making sure
our costs were reasonable.
- Spinning the site out of GitHub's Heroku account isn't an urgent or
impending change. It came out of a conversation I had with people
auditing the GitHub account, where it is clearly a funny historical
anomaly. So I suspect we could just stay there indefinitely if need
be. But it seems to me like the right thing is to move it out for
two reasons:
1. The site was always intended to serve the Git community, not
GitHub, and it has increasingly become a community asset (e.g.,
with the transfer of the domain name). The hosting assets
should be held by the community, too, to help with things like
continuity. If I get hit by a bus, the rest of the Git PLC
should have access to the site without having to figure out who
owns what.
2. Right now I can't add any other co-admins to handle operational
issues. So the bus factor and load of that part of operating
the site can't be spread.
The responses I've gotten fall into a few buckets, I think:
- Yes, the current hosting cost really is unnecessarily high. Most of
this is due to scaling wrong. The main costs are:
1. Using 2x dynos; these have 1GB of RAM versus 512MB. The site
does seem to use about 750MB. I have no idea why that is the
case. There's probably some low-hanging fruit in reducing the
memory use to keep it below 512MB, but I don't think anybody
has dug in there.
2. The site is scaled by using 3 dynos. It would be simpler and
cheaper to stick a CDN in front of it, since the pages change
very rarely. That's something I haven't looked into setting up
yet.
The prerequisite to using a CDN is actually making sure the
content is deterministic and cacheable. There was a nice PR
opened at https://github.com/git/git-scm.com/pull/941 towards
that end.
- It's mostly silly for this to be a Rails app at all. It's a static
site which occasionally sucks in and formats new content (like the
latest git version, new manpages, etc). The intent here was to make
something that would "just run" forever and pick up new versions
without human intervention. And that _does_ work, but it also makes
things more expensive and complicated than they need to be.
So a viable alternative is to use some kind of static site
generator and have someone (or something) responsible for pulling in
the new git versions occasionally.
A few people have expressed interesting this. There's some
preliminary work here:
https://github.com/git/git-scm.com/pull/941
and at least GitLab has expressed some interest. So I'll let people
coordinate in that PR or a new one what the result should look like.
Working patches trump discussion. :)
I have also talked with the GitHub Pages people, and they think
hosting it as a Jekyll page wouldn't be a big deal performance-wise
(with the caveat that we'd need to pre-render the asciidoctor bits
ourselves, as Jekyll doesn't do asciidoc). So that's a viable option
for hosting it for effectively free (though I think we _would_ still
want to put a CDN in front of it). But if somebody has an
alternative option, that's fine, too.
- Some people offered to help with running the site, or making major
transitions (like converting to a static site). The most important
thing to me there is that we have a solid maintenance plan. So I
would want some evidence that anybody doing a major work would stick
around in the community afterwards, or that it be done in a way that
the handoff back to community members is easy. So I'd probably look
for somebody already involved in the community, or somebody who
wants to join it building up that trust by taking on site
responsibilities over time.
- Lots of people asked about small tasks to do. Mostly reviewing and
responding to issues and PR is the simplest thing. You can do it in
a drive-by way, and that helps take the load off of me. As the same
reviewers show up more and more, I think we can build a community
and I'd eventually hand out greater access to the site to match.
I notice I've got over 100 GitHub notifications from people sifting
through back-issues, so that will take some time to go through. I'm
hoping a lot of them are "already fixed, click closed". :)
- Several people offered money out of pocket to pay for hosting, and
several hosters contacted me to work out hosting deals ranging from
cheap to free. I'd prefer to explore the technical bits for now and
see what the final shape and cost actually is (if we move to a
non-Rails site, then Rails hosting is less appealing, obviously).
So that's where we're at. I think the next step is either sticking a CDN
in front of Heroku and dialing down the scaling there, or moving to a
static site. I'll probably stall for a bit and see if patches for the
latter materialize, and if not pursue the CDN thing (where most of the
work will be administrative in getting it set up, not technical. I think
that makes it more or less my thing to do, but if anybody is interested
in setting it up and handing off an account to the project, that
certainly makes things easy).
Thanks again for everybody who has offered to help, and everybody who
continues to do so.
-Peff
next prev parent reply other threads:[~2017-02-06 18:28 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-02 2:33 git-scm.com status report Jeff King
2017-02-02 4:36 ` Eric Wong
2017-02-02 6:54 ` Samuel Lijin
2017-02-03 11:58 ` Jeff King
2017-02-03 20:56 ` Samuel Lijin
2017-02-05 20:11 ` Pranit Bauva
2017-02-06 16:24 ` Jeff King
2017-02-06 18:27 ` Jeff King [this message]
2017-02-09 2:12 ` brian m. carlson
2017-02-09 2:50 ` Jeff King
2017-02-09 4:30 ` Eric Wong
2017-05-17 1:56 ` Samuel Lijin
2017-05-17 2:03 ` Jeff King
2017-05-18 12:06 ` Lars Schneider
2017-05-18 15:42 ` Jeff King
[not found] <16F9F83D-5A7F-4059-9A27-DB25A8FB1E99@gmail.com>
2017-02-02 22:51 ` Samuel Lijin
2017-02-03 12:08 ` Jeff King
[not found] ` <CAPMsMoAUcVteJGfyYrL1ZkNLnoRES0yZxkMZeL347Q_1Kx5VBQ@mail.gmail.com>
2017-02-03 22:24 ` Jeff King
[not found] ` <CAPMsMoDpAeD0hpPuLeWO2T1VoEZDf_hD2gA2GDBqypMF9V6gAw@mail.gmail.com>
2017-02-20 7:53 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170206182754.qxgzl7546i7u5wnw@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).