Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename "master" branch. #1317

Closed
teymour-aldridge opened this issue Jun 15, 2020 · 25 comments
Closed

Rename "master" branch. #1317

teymour-aldridge opened this issue Jun 15, 2020 · 25 comments
Labels
feature-request A feature request

Comments

@teymour-aldridge
Copy link
Contributor

teymour-aldridge commented Jun 15, 2020

Describe the feature you'd like
The master branch should be renamed to something like "main" or "latest" (I personally think "main" is best).

Is your feature request related to a problem? Please describe. (Optional)
The use of the word "master" serves as a reference to slavery. There are many proposals calling for its removal from tech jargon, including a draft IETF RFC (internet engineering taskforce request for comment).

Describe alternatives you've considered (Optional)
A clear and concise description of any alternative solutions or features you've considered.

Additional context (Optional)
[start edited]

[end edited]

  • In some places the codebase contains references to the "master" branch – these will also need to be renamed in order to keep working.
  • The "master" branch should not be deleted for a certain period of time so as not to cause breaking changes in people's codebases without warning.

Questionnaire

Not relevant.

@teymour-aldridge teymour-aldridge added the feature-request A feature request label Jun 15, 2020
@ZainlessBrombie
Copy link
Collaborator

Context: Github CEO Nat Friedman said the software development platform company is working to remove the term “master” from its services and replacing it with a more neutral term like “main.”
https://www.vice.com/en_us/article/k7qbyv/github-to-remove-masterslave-terminology-from-its-platform

@Mubelotix
Copy link
Contributor

There has been almost no thinking on this issue for now. So I am bringing it. I am against the change.

First, the word "master" has absolutely nothing to do with slavery. Master comes from magister, meaning teacher. In France, we say master (maître) to our teacher until we are 12 years old. Have you ever seen a slave branch? No, because it is unrelated.

Then, changing the name of the branch would make Yew more difficult to contribute to. It would be hard for new contributors to use main instead of master. It's not instinctive.

Finally, almost all the git tools are assuming that the master branch is called master so it would break these tools.

Do you want to ban the word "master" from the English language no matter the context? I don't.

It is totally useless to change master to main. Nobody asked for.
Keep it simple, stupid.

@jstarry
Copy link
Member

jstarry commented Jun 16, 2020

@Mubelotix @kaoet I respectfully disagree.

master / slave terms have been used in technology for some time and just because we don't have a slave branch here doesn't mean there couldn't be someone out there that takes it the wrong way.

Open communities strive for creating a welcome place for all contributors, and even if the main name change makes no difference, I don't think it's unreasonable, it takes little effort to change.

Then, changing the name of the branch would make Yew more difficult to contribute to. It would be hard for new contributors to use main instead of master. It's not instinctive.

I understand that not everyone is comfortable with git config and commands, people have had lots of git problems when contributing to Yew and I'm always happy to spend a bit more time to help people work through them. I'm surprised that you feel that it would make Yew more difficult to contribute to because I don't feel that way. Please let me know if you would like some help in updating your git config to adjust to the change when you decide to contribute to Yew. I would be happy to help.

I have used repos without master a number of times and it hasn't caused issues for contributors, I'm just really confused why you would take such a strong stance on this.

@teymour-aldridge
Copy link
Contributor Author

teymour-aldridge commented Jun 16, 2020

@Mubelotix @kaoet I also dissagree.

@Mubelotix, you say that "There has been almost no thinking on this issue for now." Here you go:

First, the word "master" has absolutely nothing to do with slavery. Master comes from magister, meaning teacher. In France, we say master (maître) to our teacher until we are 12 years old. Have you ever seen a slave branch? No, because it is unrelated.

In spite of its etymology, the term "master" is inexorably linked with a host of negative connotations. In the Oxford Dictionary of English, a number of possible meaning are given:

  1. A man who has people working for him, especially servants or slaves.

There are two things of note here – first is "man" the second is the "especially... slaves." The term "master" is a gendered term. I have zero idea as to why it is convention to pick "master" as the name of the default branch. Even if we assume that everybody believes that "master" has no relevance to slavery, why is the default branch called "master?" Surely the term "main" is more obvious as to what the branch does? It is the main branch – where the main code is kept with code which is in the works or tangential to the main branch being stored in other branches.

Then, changing the name of the branch would make Yew more difficult to contribute to. It would be hard for new contributors to use main instead of master. It's not instinctive.

Finally, almost all the git tools are assuming that the master branch is called master so it would break these tools.

I've already spoken a little about this above. I think if we were to add a section in the contributing guidelines, it wouldn't be very difficult for people to notice. In fact I think this change would be barely noticable for new contributors given that the use of "master" as the primary/main branch (see how those words are a much more natural fit and I have to use them in order to describe the purpose of the "master" branch) is not hard-coded into git and easily changed. When people clone the repository, git will automatically handle the naming of the main/primary branch for them.

In France, we say master (maître) to our teacher

I don't speak French, so I have two possible responses to this – (a) if it has the same meaning as the English term, I oppose calling teachers that and think that a more suitable alternative term should be found or (b) it has a different meaning to the English and isn't relevant for a project which works with English as its primary language (for better or worse).

Continuing on with the possible meanings of the term

  1. A man in charge of an organization or group.

Again, see how this is about a "man" and control – "in charge." Again, see how this has no relevance to what is actually being described.

  1. A skilled practitioner of a particular art or activity.

The skilled branch? The talented branch? This sense of the word also doesn't help anyone to understand what it means.

  1. A person who holds a second or further degree.

Also not relevant.

  1. Used as a title prefixed to the name of a boy not old enough to be called ‘Mr’

Again about a male. Still not relevant to what is actually being described.

  1. An original recording, film, or document from which copies can be made.

A little better, at least. I think there are two issues with this (a) it's not a well known English term and (b) the master branch isn't something you just make copies of. It's something where you merge other branches into to incorporate changes made.

Do you want to ban the word "master" from the English language no matter the context? I don't.

I don't. I do want to stop using the word in specific contexts where it (a) isn't relevant, (b) causes unnecessary confusion and (c) could cause people to feel uncomfortable and unwelcome to a hobby/calling/proffession which could otherwise bring them intellectual fulfillment, a career and a place where they can collaborate with other people to build something truly great which imrpoves the lives of so many people.

Keep it simple, stupid.

I'm not sure as to whether stupid is supposed to act as a modifier upon simple or instead intended as an insult towards me. I'll assume it's about keeping things stupidly simple.

Using the term "main" (or something like "primary") is keeping it simple. It is a term with relatively few different possible meanings. This makes it simple. It's something easily understood without the potential to be (even if this is a misconstrual) interpreted as having negative connotations relating to the denial of people's basic human rights or a model of software development where the only people who get to participate and decide are men.

We desperately need diversity in Open Source Software – surely any step we can take towards this is one worth taking?

@zoechi
Copy link
Contributor

zoechi commented Jun 16, 2020

What about waiting for what Github does and then do the same.
Changing now and then perhaps again shortly afterwards seems more hassle than what it's worth.

@teymour-aldridge
Copy link
Contributor Author

@zoechi that's a reasonable solution, but depends on when Github plan to do this.

@zoechi
Copy link
Contributor

zoechi commented Jun 16, 2020

@teymour-aldridge If it's not done generally (at least the default for new repos changes) then I doubt this is useful at all.

@Mubelotix
Copy link
Contributor

I am not going to use whataboutism techniques. I just wanted to say that "Keep it simple, stupid" is originated from the KISS (keep it simple, stupid) philosophy. So the word "stupid" was not destined to anyone.

However, nobody will ever be offended by a meaningless master branch. You should be fanatic to be offended by something so unrelated and neutral. Changing this is not a necessity. It is the result of your will to make things advance, but actually, that change is a useless whim. It is your right to change the name of your default branches if you think there is a problem, but if there is a problem it is because you invented it.

@dancespiele
Copy link
Contributor

dancespiele commented Jun 16, 2020

I don't have any strong opinion about this. To have a branch calling main, master or whatever doesn't add any difficulty, the process is the same. Regarding what could means "master", in Spanish there is not relationship between Master and Slave, (Maestro/a y Esclavo/a) as the same as French, and I think for every romance language, Master is a teacher in a primary school or a person with strong experience in a profession. @teymour-aldridge Maybe we can see if more than one feel more comfortable to have 'main' instead 'master' as a branch name or Github changes the default branch name. Another thing, @Mubelotix we should avoid using offensive word although you intention was not offend, only quote a philosophy but you don't know how the people can interpret it or they don't know with which intention you are telling that, overall, when you answer a comment of someone

@teymour-aldridge
Copy link
Contributor Author

I am not going to use whataboutism techniques. I just wanted to say that "Keep it simple, stupid" is originated from the KISS (keep it simple, stupid) philosophy. So the word "stupid" was not destined to anyone.

That's good to know.

I don't understand why the idea changing the name of the "master" branch evokes such a strong reaction from you?

However, nobody will ever be offended by a meaningless master branch.

I think you have to appreciate the use of the term in the context of a world in which slavery has been (and continues to be) prevalent.

that change is a useless whim

A useless whim which Github and the IETF both recognise as a necessary change which should be executed.

if there is a problem it is because you invented it.

I was a toddler when git was invented. I fail to see how this is a problem of my creation?

@zoechi
Copy link
Contributor

zoechi commented Jun 17, 2020

I think you have to appreciate the use of the term in the context of a world in which slavery has been (and continues to be) prevalent.

There are about 8B people at this planet and I'm sure you can find some for every single word who find it offensive.
I think we can trust that people will survive even though they are offended by the word in this context.

If there is broad consensus that using such a word in such a prominent way as the master branch in Git should be changed, then I'm all for it.

I think it has a value that the thousands or even millions of Github repos all use the same name for the main branch and I wouldn't deviate from that just because some hashtag is trending on Twitter.

If we demonstrate leading obedience to everything that's going on in the political sphere instead of focusing on providing high quality and functional software the projects won't go anywhere.

Not sure if this saying translates properly, but to me this is like trying to be holier than the pope.

@ZainlessBrombie
Copy link
Collaborator

ZainlessBrombie commented Jun 18, 2020

I'm with the change (ish) - main makes more sense to me as a term while "master" has not only the slavery association but is also a male term. I don't see this becoming an issue from a technical perspective.
I also want to point out that your strong opinion Mubelotix, seems to be very politically motivated to me and not a matter of technical concern. (e.g. git tools depend on the default branch, not the master branch)

Ultimately though this doesn't seem very urgent to me and waiting for githubs next steps is reasonable.

@teymour-aldridge
Copy link
Contributor Author

teymour-aldridge commented Jun 18, 2020

I've found some more relevant context from a mailing list which suggests that the term actually does come from the "master/slave" context. This is because Git took some inspiration from BitKeeper (whose existance I have discovered in the last 60 seconds, so apologies if I get anything wrong) which has "master" and "slave" repositories.

Mailing thread

@teymour-aldridge
Copy link
Contributor Author

In fact the person who chose to set things up like this, has now said that they regret choosing this terminology and support Github's move to replace it.

I'll edit this all into the issue at the top.

@nodegin
Copy link

nodegin commented Jun 23, 2020

Please, the lefts is polluting the internet, close your own stupid nonconstructive issue.

@teymour-aldridge
Copy link
Contributor Author

Please, the lefts is polluting the internet, close your own stupid nonconstructive issue.

I don't think this comment is (a) either helpful to the discussion or (b) is in the spirit of our Code of Conduct. If you have a genuine criticism of this idea, I'm happy to hear it and discuss it with you.

I can't really reply to anything in this comment in a constructive or productive way.

@nodegin
Copy link

nodegin commented Jun 23, 2020

Please, the lefts is polluting the internet, close your own stupid nonconstructive issue.

I don't think this comment is (a) either helpful to the discussion or (b) is in the spirit of our Code of Conduct. If you have a genuine criticism of this idea, I'm happy to hear it and discuss it with you.

I can't really reply to anything in this comment in a constructive or productive way.

What your issue really is, is what something totally not helping the project development, but increasing workload for your so called political correctness.

@teymour-aldridge
Copy link
Contributor Author

totally not helping the project development

I'd suggest that if it makes people more comfortable contributing it actually increases the project development.

increasing workload for your so called political correctness.

I agree that we need to go further – I don't think we should rename the "master" branch to the "main" branch and just leave it there; more needs to be done to increase diversity in FOSS projects. These aren't mutually exclusive though; we can do both.

If you have any other ideas to push this beyond just "political correctness" and make it something that you'd like to see, that would be great!

@philip-peterson
Copy link
Contributor

Just to add some variety to the mix of discussion happening here, I'd say this is a good ticket to get done. As people in the world we need to make things better for our fellow humans. Most of the time that's infeasible (we already do a lot), but in this case, doing it is

  1. meaningful (to those who want it)
  2. not meaningful (to those who don't)
  3. easy

Given all that the decision should be simple.

@dancespiele
Copy link
Contributor

dancespiele commented Jun 28, 2020

Please, the lefts is polluting the internet, close your own stupid nonconstructive issue.

@nodegin , for sure you can express your disagreement but respecting to the people, (respecting different ideologies, avoid offensive words, etc...).

@kaoet
Copy link
Contributor

kaoet commented Jun 29, 2020

Even though that "master" comes from slavery, nobody should be offended. Slavery is just a historical phenomenon, nobody in the world is "slave" now, right?

If some groups of people correlate themselves to the slaves in the past, that makes no sense. We may all originate from some kind of fish in the past, but talking about fish doesn't mean to offend anybody, so does "master/slave".

Edits
The word fish above may not be appropriate, let's consider the words predator & prey. Being preyed is a denial of one's life. So can we name a component of a software system "predator" as a metaphor, like in an anti-virus software?

I think the answer is Yes. There may be some groups of people having ancestors being chased by lions in the African grassland in the ancient times. But we're talking about the relation between virus and anti-virus software, not their ancesters and lions. Likewise, we're talking about the relation between Git branches, not human beings here.

@philip-peterson
Copy link
Contributor

nobody in the world is "slave" now, right?

Very much not true. https://www.antislavery.org/slavery-today/modern-slavery/

nobody should be offended

Also deeply not true. Who is it who gets to define "should" anyway?

@teymour-aldridge
Copy link
Contributor Author

Even though that "master" comes from slavery, nobody should be offended. Slavery is just a historical phenomenon, nobody in the world is "slave" now, right?

Modern slavery still persists around the world with tens of millions subjected to it in 2016 according to a "conservative" estimate by the ILO.

We may all originate from some kind of fish in the past, but talking about fish doesn't mean to offend anybody, so does "master/slave".

Slavery is a denial of somebody's humanity. Being descended from fish is not.

@subsys-R9boq8
Copy link

Whoa dude, if you hate the word master that much I'm sure you can help everyone hurt by the word so much that they find it hurtful every time they see the word tell the Oxford English Dictionary (or Star War) to remove these words? I'm sure this project will change "master" to main or whatever if Oxford English Dictionary happily take your little advice and changed their mind.

Slavery is a denial of someone's humanity.
Using the word "master" to describe the main branch of a software isn't. So, PLEASE DON'T.
Probably it won't make any difference, or it won't take effort to change, it doesn't matter. It's a wrong step on the way against slavering IMO. Don't ask software devs to change branch name to main.
I am against the change.

@voidpumpkin
Copy link
Member

This issue is inactive for a long time now, thus I am closing it.
Please reopen if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A feature request
Projects
None yet
Development

No branches or pull requests