Topics

Change branch name in GitHub #project #communication

Matteo Lissandrini (AAU)
 

Hi all,
I would like to propose we change branch names in our github repositories away from `master`.

Here some more pointers about this proposal.

```
Language and words have a power and, unfortunately, some words and terminology we have historically used in technology (and in everyday conversation) are not neutral - they have an inadvertent and inherent ability to hurt some sections of our society.
```
https://dev.to/horus_kol/renaming-your-master-branch-2a37


```
Master-slave is an oppressive metaphor that will and should never become fully detached from history. Aside from being unprofessional and oppressive it stifles participation according to Eglash: “If the master-slave metaphor affected these tough-minded engineers who had the gumption to make it through a technical career back in the days when they may have been the only black persons in their classes, what impact might it have on black students who are debating whether or not to enter science and technology careers at all?”
```
https://tools.ietf.org/id/draft-knodel-terminology-00.html


I believe is in everybody's  interest to move to a more inclusive language.

Best,
Matteo

Massimo Pizzol
 

To be completely honest, I had never before this mail associated the word “master-branch” to the master/slave relationship. But I can see some can make this association and find the name inappropriate.


It is OK for me to change the branch name to “main” or similar.

 

Basically it does not cost us any effort, and if this can avoid other people feel bad then…why not.

 

Massimo

 

From: <main@bonsai.groups.io> on behalf of "Matteo Lissandrini (AAU) via groups.io" <matteo@...>
Reply-To: "main@bonsai.groups.io" <main@bonsai.groups.io>
Date: Tuesday, 16 June 2020 at 09.32
To: "main@bonsai.groups.io" <main@bonsai.groups.io>
Subject: [bonsai] Change branch name in GitHub #communication #project

 

Hi all,
I would like to propose we change branch names in our github repositories away from `master`.

Here some more pointers about this proposal.

```
Language and words have a power and, unfortunately, some words and terminology we have historically used in technology (and in everyday conversation) are not neutral - they have an inadvertent and inherent ability to hurt some sections of our society.
```
https://dev.to/horus_kol/renaming-your-master-branch-2a37


```
Master-slave is an oppressive metaphor that will and should never become fully detached from history. Aside from being unprofessional and oppressive it stifles participation according to Eglash: “If the master-slave metaphor affected these tough-minded engineers who had the gumption to make it through a technical career back in the days when they may have been the only black persons in their classes, what impact might it have on black students who are debating whether or not to enter science and technology careers at all?”
```
https://tools.ietf.org/id/draft-knodel-terminology-00.html


I believe is in everybody's  interest to move to a more inclusive language.

Best,
Matteo

Matteo Lissandrini (AAU)
 

Thanks for the support Massimo!

To be honest me neither, but alas the fact that *we* don't do that association is quite at the core of the matter.
As you say, it is definitely not about what we mean but about other people being unduly hurt.

Best,
Matteo

---
Matteo Lissandrini

Department of Computer Science
Aalborg University

http://people.cs.aau.dk/~matteo






________________________________________
From: main@bonsai.groups.io <main@bonsai.groups.io> on behalf of Massimo Pizzol via groups.io <massimo=plan.aau.dk@groups.io>
Sent: 16 June 2020 09:44:02
To: main@bonsai.groups.io
Subject: Re: [bonsai] Change branch name in GitHub #communication #project

To be completely honest, I had never before this mail associated the word “master-branch” to the master/slave relationship. But I can see some can make this association and find the name inappropriate.

It is OK for me to change the branch name to “main” or similar.

Basically it does not cost us any effort, and if this can avoid other people feel bad then…why not.

Massimo

From: <main@bonsai.groups.io> on behalf of "Matteo Lissandrini (AAU) via groups.io" <matteo=cs.aau.dk@groups.io>
Reply-To: "main@bonsai.groups.io" <main@bonsai.groups.io>
Date: Tuesday, 16 June 2020 at 09.32
To: "main@bonsai.groups.io" <main@bonsai.groups.io>
Subject: [bonsai] Change branch name in GitHub #communication #project

Hi all,
I would like to propose we change branch names in our github repositories away from `master`.

Here some more pointers about this proposal.

```
Language and words have a power and, unfortunately, some words and terminology we have historically used in technology (and in everyday conversation) are not neutral - they have an inadvertent and inherent ability to hurt some sections of our society.
```
https://dev.to/horus_kol/renaming-your-master-branch-2a37


```
Master-slave is an oppressive metaphor that will and should never become fully detached from history. Aside from being unprofessional and oppressive it stifles participation according to Eglash: “If the master-slave metaphor affected these tough-minded engineers who had the gumption to make it through a technical career back in the days when they may have been the only black persons in their classes, what impact might it have on black students who are debating whether or not to enter science and technology careers at all?”
```
https://tools.ietf.org/id/draft-knodel-terminology-00.html


I believe is in everybody's interest to move to a more inclusive language.

Best,
Matteo

Søren
 

I agree; I think 'main' actually is more precise (master has the connotation of dominance, irrespectively of the imperialist etymology) 

tomas Navarrete
 

Dear All,

I totally understand the reason behind the wish to change names.
Now, beware that:

The default branch name in Git is master.
git-scm.com/book

so, every time we create a new repo, or initialize one, we'll need to update this behavior (MAYBE until github does something about it ... which is funny, because they kind of have a dominating position in the "free git hosting" namespace ;) )

For very practical reasons, I would stand against renaming existing repositories and only apply a name change on newly created ones, and loudly anounce this in the README of the repo.
If this (default branch name) is configurable, then we should look to implement a name that is fine with us.

cheers,

Matteo Lissandrini (AAU)
 

Hi Tomas,

I think I can reassure you on practical issues:

1) so Github is already working on this: https://twitter.com/natfriedman/status/1271253144442253312?ref_src=twsrc%5Etfw

2) the rename is maybe an issue for existing local branches/forks/clones with active changes, which I would guess are at best a handful.

3) when we create a new repo on github, creating the appropriate branch and delete master is probably a matter of five minutes?


Instructions to change the default branch exist already:

a) On github: https://help.github.com/en/github/administering-a-repository/setting-the-default-branch

b) On local&github: https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBranchFromMasterToMain.aspx

c) automatically on new repos: https://superuser.com/a/1559582/762700

Thanks,
Matteo

---
Matteo Lissandrini

Department of Computer Science
Aalborg University

http://people.cs.aau.dk/~matteo






________________________________________
From: main@bonsai.groups.io <main@bonsai.groups.io> on behalf of tomas Navarrete via groups.io <tomas.navarrete=list.lu@groups.io>
Sent: 17 June 2020 17:07:20
To: main@bonsai.groups.io
Subject: Re: [bonsai] Change branch name in GitHub #communication #project

Dear All,

I totally understand the reason behind the wish to change names.
Now, beware that:

The default branch name in Git is master.
git-scm.com/book<https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell#ch03-git-branching>

so, every time we create a new repo, or initialize one, we'll need to update this behavior (MAYBE until github does something about it ... which is funny, because they kind of have a dominating position in the "free git hosting" namespace ;) )

For very practical reasons, I would stand against renaming existing repositories and only apply a name change on newly created ones, and loudly anounce this in the README of the repo.
If this (default branch name) is configurable, then we should look to implement a name that is fine with us.

cheers,

tomas Navarrete
 

1)
I saw that tweet from the current CEO Of Microsoft owned GitHub, and even CDNET seems to know from "internal sources" at github that it was not just a tweet. 
https://www.cnet.com/news/microsofts-github-is-removing-coding-terms-like-master-and-slave/
2)
The rename is for every clone and fork out there, for every developper that has collaborated, and for all the CI / CD services (Travis, Jenkins) and targets (PyPi, Conda) ... they are downstream. For example, certain build and publish (python packages let's say) actions are only taken on specific branches. Some of them, like "features" or "develop" are never "built" or published to a repository. This is usually configured in the CI / CD files _inside_ the repositories. So It's also a matter of modifying the actual contents of the repositories, not only the name.
3) 
I agree, it will take 5 minutes to the person creating the repository, until github comes up with a new default branch name.

a) The actual instructions you point to are to change what is known as the default branch. This could as well be "release". Not directly related to a new default branch name. _But_ indeed, this shows that you can right now use github with a new default branch name.
b)  and c) look to me like the perfect recipe to complicate a world that was already not very easy. Let's face it, git has been known to be more complicated than mercurial for example. The fact that you can do so many cool things with git like "pre-commit" hooks, templates, worktrees and so on, comes at the price of complexity of the tool. So if I can stay with a regular "git init" in _any_ remote headless server I can work with, (or a git clone) instead of having to create a new template plus remember the new default branch name of the particular organization (inside github for example) I will do it that way.


For BONSAI, when we talk practical terms this means less than 35 repositories, so I suppose the 5 minutes for every potential bonsai contributor can be safely spent. Hey, maybe once github finds the right way to push this down, they'll even allow groups or organization for an automatic way to do it for all their projects (after all, a git -m is relatively fast on the server side). However, don't forget that this means every clone out there of our repos might need an update. 

In my personal daily experience  I deal with gitlab.com / github.com / bitbucket.com / local gitlab instances daily, and, clearly this will be not just 5 minutes once (like this week for example). It's going to be 5 minutes daily for a few weeks.

I suggest we wait until
+ github.com proposes:
  - a way to do it from the web interface that matches a github wide policy
  - a huge communication campaign that warns all github users (professional / free-lance / occasional / consultant developers,  community managers, savy tech users, scientific programmers, you-name-it) of the *name* of the new default branch
+ a consensus [on a sensitive new default name] emerges:
  - from the BONSAI community (General Assembly, we're looking at you)
  - also from the wider git users community in the world

.. and optionally it would be interesting to hear from this "2 hit-wonder" guy named Linus Torvalds, on how he is going to deal with it. Not that we should follow his own practices, because the python community ones seem a bit less tyrannic. 

To sum up, I'm not against it. All I say is that we can decide now to GO or NO-GO on a BONSAI wide level for the change of the current default branch of all our github repositories (because they are all hosted there, but they are all just "git" repositories), but before executing this, let's see how the wider world community handles the case.

cheers,



 

+1 to waiting for consensus and tooling to make this trivial on existing repos.

I will make a proposal to switch to main as the default branch name to the GA, and post an update when a decision is made.