# Slicer to use more inclusive language in code

**URL:** <https://discourse.slicer.org/t/slicer-to-use-more-inclusive-language-in-code/23972>\
**Category:** Development\
**Created:** [June 20, 2022, 10:26pm UTC](https://discourse.slicer.org/t/slicer-to-use-more-inclusive-language-in-code/23972 "2022-06-20T22:26:24Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jamesobutler](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jamesobutler/32/7511_2.png) [@jamesobutler](https://discourse.slicer.org/u/jamesobutler)\
**Post date:** [June 20, 2022, 10:26pm UTC](https://discourse.slicer.org/t/slicer-to-use-more-inclusive-language-in-code/23972/1 "2022-06-20T22:26:24Z")

</div>

I propose that on 2022-06-23T04:00:00Z Slicer integrates the following PR to adopt language to improve inclusivity in the code base. It primarily adopts recommendations of [Terminology, Power, and Exclusionary Language in Internet-Drafts and RFCs](https://tools.ietf.org/id/draft-knodel-terminology-09.html) and conforms to GitHub’s effort to adopt the `main` branch name instead of `master`. If you are interested in renaming your own branches to use the new preferred name of `main` you can take a look at this GitHub documentation on [renaming](https://github.com/github/renaming).

Today [Juneteenth](https://www.google.com/doodles/juneteenth-2022) is being observed as a holiday around the United States. Juneteenth’s official date was yesterday (June 19th). Therefore this change in the Slicer code base is also a relevant DEI (Diversity, equity and inclusion) effort. DEI is not about a single day, but about continued action so the Slicer community should continue to host an inclusive environment not just in the forum, but also through how we code.

> <https://github.com/Slicer/Slicer/pull/6277>
>
> This PR follows recommendations from https://tools.ietf.org/id/draft-knodel-term…inology-09.html which have been adopted by many others in the community for work towards the greater good. Although it is often nice to maintain using current terminology, as it relates to improving inclusivity, this should be higher priority.
> 
> This PR includes acting upon what was originally described by @jcfr at https://discourse.slicer.org/t/2021-04-06-hangout/16953/3?u=jamesobutler which detailed:
> 
> \> Removal of divisive terminology regarding branch name associated with repository hosted in the Slicer and commontk GitHub organization. We will rename \`master\` to \`main\`
> 
> Renaming of the \`master\` branch to \`main\` had been indicated in April 2021, but has not yet been acted upon, until now...
> 
> GitHub has improved the ability to rename a branch (https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch) which makes it easy to switch to a new name with minimal consequences. This has to be completed by the admin of the Slicer repository (@jcfr).
> Some action items:
> \- \[\] Rename default branch for https://github.com/Slicer/Slicer/tree/master
> \- \[\] Rename default branch for https://github.com/Slicer/ExtensionsIndex/tree/master, re https://github.com/Slicer/ExtensionsIndex/pull/1812
> \- \[\] Rename default branch for https://github.com/Slicer/apidocs.slicer.org/tree/master, re https://github.com/Slicer/apidocs.slicer.org/pull/3
> 
> Renaming of the default branch looks something like this:
> !\[image\](https://user-images.githubusercontent.com/15837524/159189464-a6ddff29-4d6b-474f-8464-e56830bc3bc3.png)

**What this means for you as a developer?**  
You will need to update your local environment with the reference to the new branch name of `main`. When you visit [GitHub - Slicer/Slicer: Multi-platform, free open source software for visualization and image computing.](https://github.com/Slicer/Slicer) for the first time after the change you will be shown instructions on how to update your local environment. These commands are also shown below.

```auto
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a

```

If you have any questions or other comments, feel free to post them here in this thread.

---

<div class="post-metadata">

**Author:** ![chir.set](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/chir.set/32/66982_2.png) [@chir.set](https://discourse.slicer.org/u/chir.set)\
**Post date:** [June 21, 2022, 7:26am UTC](https://discourse.slicer.org/t/slicer-to-use-more-inclusive-language-in-code/23972/2 "2022-06-21T07:26:19Z")

</div>

> [@jamesobutler](#):
>
> other comments

--------------- BEGIN COMMENTS--------------

Technologist should not embark on political drifts.

Github has reduced the meaning of the word ‘master’ to a single context of the past, it’s an obvious error. Perpetuating this means constraining our thinking for centuries.

Next,

- What does the word ‘master’ exclude ?
- Should we remove the word ‘master’ from the dictionary ?
- Should we fancy ‘postmaster’, ‘school master’ differently ?
- Should we remove the letter ‘Z’ from the alphabet, if we continue deviating this way ?
- Or rename the ‘Z-axis’ ?
- Is it an egoistic atonement ? For shunning the word ‘master’ does not repair whatever harm has been done.
- Is it a request from those who have suffered injustice ?
- Is it the tip of the iceberg, timidly hiding other projects ? Then those who naively defend this are unconscious tools of unknown ‘masters’ of their thoughts.

Slicer, in my view, should stay clear of this.

--------------- END COMMENTS----------------

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [June 23, 2022, 3:41pm UTC](https://discourse.slicer.org/t/slicer-to-use-more-inclusive-language-in-code/23972/3 "2022-06-23T15:41:27Z")

</div>

Thanks everyone for the feedback and support to improve Slicer.

The integration of the relevant pull requests and renaming has been initiated.

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [June 23, 2022, 5:32pm UTC](https://discourse.slicer.org/t/slicer-to-use-more-inclusive-language-in-code/23972/4 "2022-06-23T17:32:55Z")

</div>

All rename and updates have been performed.

Thanks again to @jamesobutler for leading this effort 🙏 💯

To summarize:

- ✅ Branches renamed in these repositories

- ✅ Documentation, links and references updated

- ✅ Local git checkout of `DasboardScripts`, `Slicer` and `SlicerBuildEnvironment` projects updated on the factory machine `computron`, `metroplex`, `overload` and `factory-south-macos`

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [June 23, 2022, 7:08pm UTC](https://discourse.slicer.org/t/slicer-to-use-more-inclusive-language-in-code/23972/5 "2022-06-23T19:08:09Z")

</div>

@chir.set You raise interesting questions and I admit I don’t know the answers for most of them. For me, making this switch is a small symbolic gesture, which shows that we are open to changing our ways if that makes people feel more welcome.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [June 23, 2022, 8:41pm UTC](https://discourse.slicer.org/t/slicer-to-use-more-inclusive-language-in-code/23972/6 "2022-06-23T20:41:40Z")

</div>

**Instructions for developers for switching to the new main branch**

Instructions for command-line git users:

```auto
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a

```

Instructions for TortoiseGit users:

- Fetch → keep defaults, just click OK (this downloads all the branches from the remote `origin` repository)
- Switch/Checkout → select Branch: remotes/origin/main → click OK (creates a `main` branch locally from the remote `origin`)

If you had any changes in your local `master` branch then you can use the `cherry-pick` function of git to bring them over to the new `main` branch.
