Microsoft-ui-xaml: Rename VisualTreeMaster and other usages of the word master

Created on 15 Jun 2020  路  12Comments  路  Source: microsoft/microsoft-ui-xaml

Since the word "master" is problematic for multiple reasons, most importantly because of its racist connotated history, we should try to find a neutral alternative.

Possible alternative names for "master" could be:

  • main
  • root
  • primary

and similarly we could rename VisualTreeMaster to:

  • VisualTreeMain
  • VisualTreePrimary
area-TestInfrastructure documentation team-Controls

Most helpful comment

It's certainly true we don't want to use offensive language and language also changes over time. However, nearly anything can be found offensive in some corner of the globe if taken out of context. For this reason, we always want to evaluate the context and meaning of the language used.

Should Master/Slave terminology be changed? Yes. Should the term 'Master' be changed in all use cases? I think it's reasonable to say no here. In a lot of cases no offense was meant and both the context and actual meaning of the term do not come from a place of prejudice. If that is no longer true in 2020, then the Spanish language for one is going to have to make some changes. The burden is on both ends: not to be offensive, and not to unnecessarily take offense.

All 12 comments

Below is a discussion thread the Python community had when a PR was made to change terminology such as "master & slave" in the Python product. It's an interesting discussion and it also focuses on the use of the term "master" as well.

https://bugs.python.org/issue34605

The linked discussion is definitely worth looking into, in particular it may be worth evaluating what is actually meant with the term:

Not all uses of the word "master" are associated with slavery, e.g. "master craftsman", "master copy", "master file table".

Not arguing against the change (it probably can be made) but awareness that this word can have different meanings is better than strictly censoring it. For what its worth there's even a degree called 'master'.

The linked discussion is definitely worth looking into, in particular it may be worth evaluating what is actually meant with the term:

Not all uses of the word "master" are associated with slavery, e.g. "master craftsman", "master copy", "master file table".

Of course the word Master is not solely associated with slavery, but it does also denote Superiority.

There is also a creative usage, as in a master copy of something, being the original which others refer to.

But it is 2020, and there are other terms that can be used without the historic baggage that "Master" brings with it - and making the change has worth to it, for future generations, and a general awareness of how language can be perceived by others.

What were the reasons why the term "Master" was used in "VisualTreeMaster" and not an alternative term? Does it have advantages over the as well considered alternatives?

There are also places in the (UWP) documentation where the term "master" is used, for example in the document describing the Master/details pattern. In light of the reasoning behind this issue, I presume this should be changed as well then?

What were the reasons why the term "Master" was used in "VisualTreeMaster" and not an alternative term? Does it have advantages over the as well considered alternatives?

To be honest I don't really know why "Master" was chosen in the first place.

There are also places in the (UWP) documentation where the term "master" is used, for example in the document describing the Master/details pattern. In light of the reasoning behind this issue, I presume this should be changed as well then?

Yes ideally, I think this should also be renamed, however the problem is that in this issue, we are not changing any public facing APIs, so making those changes here is unlikely to cause issues.

In the "Master/Details" case, it's a bit more complicated, since this is a name that is publicly used and referred to. Changing it could potentially create confusion as some people might refer to it with the old name while some might refer to it with the new name.

In the "Master/Details" case, it's a bit more complicated, since this is a name that is publicly used and referred to. Changing it could potentially create confusion as some people might refer to it with the old name while some might refer to it with the new name.

The term "master" would still have its "racist connotated history" this issue is listing as a reason to request replacing its use - no matter if in public documentation or in private APIs only. So in that case, it boils down to: Should a term like "Master/details" be kept because it (potentially) is a well-established term even though someone might connect that term to racism?

To avoid confusion in case of a rename, MS could add a "also known as the "master/details" pattern" following the initial introduction of the updated, perhaps uncommon, term in the documentation.

This issue, however, is not about the specific case of the "Master/details" pattern so it is not the best place to think too much about this particular case.

My personal opinion on this matter is that each time a request to change a term like "master" is made is to first check if

  • usage of term "master" in this case makes feel people - especially those of us who have directly or indirectly (via their ancestors) suffered in the past due to slavery - uncomfortable (or even worse).
  • using the term "master" here gives "unmatched preciseness" to describe the "concept/object/..." in question (so that using an alternative term would mean a loss of precision)

As I'm not sure where we stand with the term "VisualTreeMaster" (or other cases of the term "master" in this product) as of now, I don't yet have an opinion in favor or against this proposal, FWIW.

The term "master" would still have its "racist connotated history" this issue is listing as a reason to request replacing its use - no matter if in public documentation or in private APIs only. So in that case, it boils down to: Should a term like "Master/details" be kept because it (potentially) is a well-established term even though someone might connect that term to racism?

Yes it would boil down to that, in my opinion it should be renamed none the less, but that's just my view and some people might see this differently.

To avoid confusion in case of a rename, MS could add a "also known as the "master/details" pattern" following the initial introduction of the updated, perhaps uncommon, term in the documentation.

I think that would be a good solution, that way you are still able to find it but we are not actively using that word so prominently anymore.

My personal opinion on this matter is that each time a request to change a term like "master" is made is to first check if

  • usage of term "master" in this case makes feel people - especially those of us who have directly or indirectly (via their ancestors) suffered in the past due to slavery - uncomfortable (or even worse).
  • using the term "master" here gives "unmatched preciseness" to describe the "concept/object/..." in question (so that using an alternative term would mean a loss of precision)

I partially disagree with the first point, because it shouldn't boil down to "has someone spoken out about their discomfort of the usage in this specific case", since that would still make discriminatory statements still valid as long as the people that would have negative feelings about that are not in the room.

Just because nobody has yet said that they dislike this specific usage of the word doesn't mean that it's fine. It just means that either the people that have are impacted negatively by that word don't feel like they can or should talk about that or that people who would feel that way have been exposed to that situation.

We could also leave the VisualTreeMaster as is, because a very small percentage of people will be exposed to that word. HOWEVER the usage of that word can still be problematic, since it is implicitly suggesting the notion that this word is fine to use. Some might argue yes it is fine to use, but I don't think that it is okay to use words with such kind of historic baggage, which can and is making people uncomfortable.

Regarding the second point, yes if there is just no good word to use instead, it would be hard to justify that we should switch it out from something different. However especially in software development, there are multiple words that are often as descriptive or even more precise then "master" in my opinion.

As I'm not sure where we stand with the term "VisualTreeMaster" (or other cases of the term "master" in this product) as of now, I don't yet have an opinion in favor or against this proposal, FWIW.

In my opinion "VisualTreeMaster" was already a bit confusing as a name because I am still not sure what "master" is referring to here. The tests are testing the visual tree, the property "masterFilePrefix" is just the base name of the files which is taken as the base name of the files (and then appended by a specific version) and the "VisualTreeMaster" folder is just a folder of the new VisualTree XML files. I would definitely be fine to rename those things to something that is maybe more descriptive.

To be clear about what I meant with my first point (check if a word makes feel certain people uncomfortable): If a broad group of people - who would have every reason to view the word "master" negatively - speak out and say they are fine with how it is used here - then that should be taken into consideration. It also should not automatically mean that a rename of the term in question is thus "off the table". 馃檪

Yes, I don't want to create the idea that I'm focused on preserving the term "VisualTreeMaster" here. I'm not even sure yet why it was picked or if there isn't another term which would fit this concept much better. Additional bonus if that term would be - without a doubt - a harmless word to use without carrying any potentially negative baggage.

Oh right, sorry about misunderstanding you there. In that regard, I agree with you, if all groups that have every reason to view the word "master" negatively come out and say we are 100% fine with the usage, in that case it should be taken into consideration agreed!

Regarding "VisualTreeMaster", maybe someone from the team can weigh in on why it was named "VisualTreeMaster", maybe there is a reason we haven't considered here. Hopefully we can find a name for this that leaves nobody out or makes someone feel negative about it.

Master in VisualTreeMaster I believe is really a baseline file to compare against. No reason why we cannot change the naming there to something else.

Updating the branch naming will require updates to the pipelines also I think.

Master in VisualTreeMaster I believe is really a baseline file to compare against. No reason why we cannot change the naming there to something else.

Hmm I see. Maybe we could rename them to Baseline files or "Root" files?

Updating the branch naming will require updates to the pipelines also I think.

Yes, it seems that some azure configs have a static reference to the master branch, beside that, if we change the default branch, I think Azure Dev Ops should update correctly. At least that is what happened on my projects where I switched to "main" as the default branch instead of "master".

It's certainly true we don't want to use offensive language and language also changes over time. However, nearly anything can be found offensive in some corner of the globe if taken out of context. For this reason, we always want to evaluate the context and meaning of the language used.

Should Master/Slave terminology be changed? Yes. Should the term 'Master' be changed in all use cases? I think it's reasonable to say no here. In a lot of cases no offense was meant and both the context and actual meaning of the term do not come from a place of prejudice. If that is no longer true in 2020, then the Spanish language for one is going to have to make some changes. The burden is on both ends: not to be offensive, and not to unnecessarily take offense.

Was this page helpful?
0 / 5 - 0 ratings