Replacing "master" reference in git branch names (was Re: Proposal: Replace all references to master/slave in GNOME modules)
- From: Bastien Nocera <hadess hadess net>
- To: Michael Gratton <mike vee net>, Desktop Devel <desktop-devel-list gnome org>
- Subject: Replacing "master" reference in git branch names (was Re: Proposal: Replace all references to master/slave in GNOME modules)
- Date: Fri, 03 May 2019 12:09:11 +0200
On Thu, 2019-04-25 at 11:46 +1000, Michael Gratton wrote:
Hi all,
I'd like to formally propose as a GNOME Goal that GNOME modules
replace references to the terms "master" and "slave". [...] The scope
would be to replace occurrences of the terms appearing [...] git
repositories
I don't think it makes sense to carry on the unfocused discussion in
the original thread to talk about:
Replacing "master" reference in git branches
as the subject line says.
- Why?
For the same reasons we'd want to change master/slave references.
Though it usually isn't paired up with "slave" (excluding the
"gitslave" addon), it still has strong connotations of subjugation, and
some ties with the vocabulary we're trying to change.
Is "master" as in "master copy" as tainted? Given that "master copy" is
a recent term[3], it came to be in a world where the end of slavery[4]
was still in living memory, I don't think the answer is as clear cut as
some of the threads made it out to be.
GNOME wouldn't be the first to make this change[1][2], but probably the
most significant yet. We've been the first, or amongst the first, for a
number of initiatives, and shown our progressiveness.
I understand that the connection is more tenuous than straight up
"master/slave" references, which is why I want to emphasise that we
don't need any more comments about whether the negative connotations of
"master" alone don't apply in your language or culture.
I'd be much more interested in folks coming forward with references
where it is the case.
- How?
It is possible to rename the "master" branch in git. It's also possible
to add a "link" of sorts so that software that specifically references
"master" can be made to work with the new name[5].
If GNOME chooses to keep the compatibility name, we'll probably need to
start filing bugs in some pieces of software that think the 2 branch
names are separate branches (GitLab being one of them). This would help
other software adopt new default branch names, and fix corner cases for
everyone else.
In short, you, the user, the developer, the checkouter, shouldn't need
to even lift a finger.
- Why not in git directly?
Because that's already hard enough to propose something like this in a
welcoming community like GNOME's. I've already seen offline comments
made to people who participated in this thread, and this would go down
about as well as like Linux' adoption of a code of conduct[6].
- And to what?
A few possible names were mentioned/used. "mainline" was thought to
have strong connections to drug use, "release" (use in the contributor
covenant) seems to restrictive (we also do releases from other
branches). I like "main" because it keeps 2 letters from "master" so
diminishes the need to retrain your muscle memory. "trunk" definitely
makes sense when talking about branches but doesn't have the "ma<tab>"
advantage.
- Next steps
The GNOME community needs to decide whether this change can be done.
Most of the original thread was specifically about the git branch name
change, and changing lone "master" references is where most of the
opposition was.
I expect Michael to send a recap mail about "master/slave" references
in the original thread shortly.
Cheers
[1]: https://github.com/ContributorCovenant/contributor_covenant/issues/569#issuecomment-424896149
[2]: https://miklb.com/blog/2017/08/29/deprecating-the-term-git-master/
[3]: See the "Trends" section at https://www.collinsdictionary.com/dictionary/english/master-copy
[4]: "the abolition of slavery in the western world", it's hard to be concise yet precise in cases like this
[5]: https://mail.gnome.org/archives/desktop-devel-list/2019-April/msg00113.html
[6]: I wouldn't read this if I were you:
https://github.com/torvalds/linux/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+coc
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]