The Crystal Programming Language Forum

Proposal to use neutral language

This article describes that the linux kernel is going to change terms like “slave” and “blacklist” etc. It joins other commercial and open source companies/projects that do this.

Are there terms like this in Crystal that can be changed before 1.0?


When the code of conduct was proposed and accepted it was said that it would lead to an influx of women and minority contributors joining the project who at the time were hesitant to do so out of fear of harassment. That was 5 years ago and those hypothetical new contributors have yet to manifest themselves.
What will be achieved with further genuflection to these ever increasing sensibilities?


If you find any, let us know, or better yet, send a PR to change them. It’s not in our plans to actively go look these up, mainly because we already have very limited time to work on Crystal, and we are focusing on releasing 1.0. Changing these terms in docs and comments can be easily done after 1.0 because they will not be breaking changes. If you find such a term in a method or class, we might want to take a look at it before 1.0.


A quick perusal of the API docs with the search bar doesn’t yield any of these particular terms. There is, of course, the “master” git branch; I assume the technical difficulty of that change would require quite a bit more conversation to make a decision about, and I think it’s something that many projects will be discussing.

@Exilor I believe that the intention behind these changes would be genuine concern for other human beings and a desire to make open source software development less hostile to certain people rather than a desire to attract more people of different demographics (though if that happens, that’s good). Of course, anyone’s intention can be questioned, but if the action itself has value (which I do think, and it seems you do not), then that’s worthwhile regardless of someone’s intention behind acting.

I think @asterite’s suggestions are good. The Core Team is crucial to the success of Crystal, but changes like those (presumably) suggested here are really the responsibility of the community to implement.

EDIT: I just looked up renaming git branches, and it is apparently very easy. That change would still break a whole lot of workflows, though.

1 Like

This is an incorrect and naive understanding of how to attract people (in general) to open source projects.

If a person (or people) have no knowledge of a project they would obviously have no knowledge of its policies and practices. So why would you assume changing a CoC would somehow cause an influx of contributions or interest from people who don’t know the project exists?

Ruby is a World Language, created in Japan, made prominent by Ruby on Rails in the US, but has international user groups and conferences, which feed interest and contributors, worldwide.

If you want more people to be users and contributors to the project then you must actively inform/market the project in spaces where other diverse people are.

So if you want more Black People to use and contribute to Crystal then promote it where they congregate (facebook, twitter, etc).

and the plethora of RUGS (Ruby User Groups):

The bottom line is, if you really want to create a more diverse group of users and contributors then you need to work at it. Stop putting the onus on other people to magically appear out of nowhere, especially if they’ve never heard of Crystal, or been given any good reason to investigate it.


@RespiteSage I don’t believe there’s hostility to any particular groups of people in open source software development in general and in the Crystal community in particular. Suggesting that the naming of things betray the bigotry of the people involved, as these kind of proposals do, does strike me as a hostile accusation though.

@jzakiya It was a “selling point” that was given by its proponents at the time, not my personal expectations on how it would turn out.

Stop putting the onus on other people to solve manufactured non-issues. Nobody here would chase out a contributor based on their immutable characteristics.


A few resources to establish an understanding for why labels and words matter.


Honestly who cares?

I’ve seen, whatever this is, happen in quite a few of my communities, and honestly it’s frustrating.

This is virtue signalling of the highest order. It’s something that, in reality, does pretty much nothing to change anything related to this project. It won’t bring new developers, no developer worth their salt reading through source sees the word “blacklist” and gets scared off. This is a massive, massive waste of time, and that time could be better spent of literally anything better. Namely documentation and examples. Using uncommon, and unaccepted language to describe many of these concepts will lead to confusion in the community. When 90% of the materials say “master/slave”, new people will have trouble deciphering what some of these concepts might be when using “initiator/target” which honestly does a bad job of conveying the message.

In short, stop wasting time on things that matter, on people who don’t care about our project, and certainly won’t care about our project any more when we do the insane things they ask.

Please don’t waste time on the opinions of people who have zero interest in our language.


Is it also “virtue signaling” if someone speaks out against racism?

Wow, no need to comment on that.

“They” don’t ask for insane things.
This is a long overdue correction of behavior of white people everywhere. Subliminal and subconsciously connecting everything non-white with inferior or bad; Undesirable.


Totally in support of neutral language - harm reduction is an admirable trait in any community
it also makes complete sense that we all are vigilant and make everyone feel as welcome as possible.

The move by the Linux team is a great example. It makes no difference to anyone who would otherwise not care and is a well meaning olive branch for those that do. Let’s be like Linux, it’s not hard and we can all feel good about it


Totally agree :heart:

Maybe someone recalls an experience during in which we were spammed with issues/pr on github regarding wording changes. I say spammed because that was the nature and coordination, not because of the proposed change itself. Maybe this memory is present in some reactions in this thread. Please try not to.

Although it’s difficult to have a clear limit that’s safe for everybody, I would like to think we keep learning from experiences and we build a safer space.

It’s not on the majority or the comfortable ones to say that something should not disturb or trouble the minority or the uncomfortable ones. We all should exercise listening and empathy.

I agree with neutral language. I agree avoiding terms with negative connotations in docs & code. But I also understand that not all changes are simple to apply, that they could affect community workflow & integration and need further attention (like changing the name of a branch).

As @asterite said

If you find any, let us know, or better yet, send a PR to change them.


This is not speaking out about racism. This is a joke. Please do not confuse the two. Doing whatever this is does not solve, or even move the needle on racism, and it is laughable that you would think that. Do you live in America right now? The cops are going crazy and beating up minorities like it’s going out of style. How do you think changing a couple words that have 0 racism or racist meaning behind them is going to effect that?


Original for reference

You don’t change everyone’s mind with bold strides alone. It takes a whole lot of little steps in between, sometimes repetitive ones. Making sure we’re using inclusive language is one of those little steps.

Also, the statement that terms like “blacklist” and “whitelist” have no racist meaning behind them is misguided. While the words may not have been chosen with racist intent (I don’t know, I wasn’t there and I’m not enough of an English-language historian to begin speculating), the broader pattern of “black” == “bad” and “white” == “good” is harmful — people are constantly being told implicitly that the color of their skin is a bad thing. Intent is important, but impact is far more so.


We going to impose our ideals on all the other cultures that have those color associations as well?

The project is perfectly inclusive as it is, and it has always been so.

People are constantly being told that they are constantly being told that the color of their skin is a bad thing. And that is a bad thing.


What exactly is your problem with changing some words?

Do you love these words so much that you need to keep them?

Why do you care so much to keep just some words like they are?


It’s not I who feels there is a problem in need of redress so what are you on about?

Please let us all stop discussing this issue until @kees replies back, because they are the ones that wanted a change but they were not explicit about what the change is.

If there’s no reply from @kees there’s really nothing to do here.

Well, I caused quite a discussion, let’s indeed stop this, since it irritates some people.
I think it is all about respect for each other.
Since the Core devellopers don’t remember off any offending words like these in the sources, chances are small that there are.
If I’ll find something, I will make a PR about it.


I found one: . But that’s it.