We will be moving to GitHub

Chris Angelico rosuav at gmail.com
Sat Jan 2 02:12:35 EST 2016


On Sat, Jan 2, 2016 at 5:43 PM, Steven D'Aprano <steve at pearwood.info> wrote:
> On Sat, 2 Jan 2016 07:09 am, Chris Angelico wrote:
>
>> Yes, git is a capable tool. But so is Mercurial, and the arguments
>> weren't primarily based on differences in functionality (which are
>> pretty minor). It's mainly about the network effect.
>
> You call it the network effect. I call it monoculture.

The "you" here is the generic "you" rather than specifically
addressing me; I'm merely citing the discussions already given. I'm
going to assume that everyone here has read PEP 481, so if you
haven't, please go read it before responding.

https://www.python.org/dev/peps/pep-0481/

> This decision is socially irresponsible. For all the cheap talk about
> diversity, the Python core-devs are now about to move to (and probably give
> money to) a company with a well-deserved reputation of being hostile to
> women. Even if you believe that Github has reformed (and I see no credible
> evidence that they have, apart from Github's own self-serving statements
> that they have), diversity doesn't just apply to human individuals, it also
> applies to technologies. The fact that Github is so popular should count
> *against* it, not in favour.

If that is an argument, then it's one to push people to GitLab over
GitHub, but nothing about git vs hg.

> There are times where everybody should do the same thing -- choosing whether
> to drive on the left or the right side of the road, for example. And there
> are times where following the crowd like lemmings is actively harmful, no
> matter how convenient it seems in the short-run.

The popularity of technology IS an argument in its favour, though. How
many people here use Gopher instead of HTTP? Would it be better to
serve Python content on the obscure protocol rather than the popular
one? When 99% of people know how to use one technology and 1% know how
to use a different one, it's advantageous to go where the people are.
(Of course, there are other considerations, too - PHP is popular, but
that alone isn't a reason to use it. The context here is of
technologies so similar in functionality that we really CAN make a
decision on these kinds of bases.)

The Python project *needs* new contributors. This is not in question.
You can't expect to keep the project going solely on the basis of the
people currently writing and applying patches. So there are two
options:

1) Do everything using a workflow peculiar to Python, using a
less-popular technology
2) Put everything on a massively-popular web site using the more
popular technology, and do everything exactly the way everyone else
does.

Yes, the latter might be the lemming approach. But do we actually have
a problem with git and a pull-request workflow? (Concerns about GitHub
as a company are a separate consideration. As mentioned above, GitLab
is a similar option, and would allow python.org to host its own
instance if desired.) I have worked one-on-one with about 70 students
over the past two years, introducing them to Python and web
development, and using git and GitHub for their projects. They can now
go on to contribute to any of a huge number of projects. If, instead,
we'd taught them to use Mercurial, they still wouldn't be able to
immediately contribute to CPython, because the workflow is custom.
(You don't actually create a commit, you just use 'hg diff >patchfile'
and upload that. And if you're actually a core contributor, you need
to be careful about where you merge things, and which direction.)
Moving CPython to GitHub would mean anyone could simply fork it on the
server and push a commit, then paste a link into bugs.python.org and
let someone decide to merge it.

So which would you prefer? Arbitrary technological diversity, or a
large pool of potential contributors?

ChrisA



More information about the Python-list mailing list