[libre-riscv-dev] renaming master branch

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sun Jun 21 15:15:40 BST 2020

On Saturday, June 20, 2020, Jacob Lifshay <programmerjake at gmail.com> wrote:

> I don't know how important we should deem this, but I thought we
> should at least talk about it:
> Should we rename the master branch to avoid the association with slavery?

that is a *very* loaded question.  a lawyer would say "objection - leading
the witness" and a judge would say "sustained".

a better way to put the question would be, "some people BELIEVE that there
is an implication - false or otherwise - that the use of the word master
implies a corresponding association with slavery".

(note: this type of innocuous but false-correlative word association (see
below) is exactly the kind of masterful manipulation that some
organisations excel at, having had decades of experience in their
systematic use.  the internet has simply allowed these organisations to
greatly extend their insidious reach)

since the shocking decision by the Python Software Foundation to allow
politically motivated Social Justice Warriors" to influence an engineering
arena, i have given this topic some considerable thought.

the way i perceive this is that the association is a politically motivated
one based on guilt and the desire to eradicate the word "slave" from human

engineering however uses the terms in a context that has absolutely nothing
to do with the (guilt-ridden) political meaning.

the engineering meaning of master and slave is as follows:

* master specifies unequivocably the action required.  this is an atomic

* slave carries out that action unequivocably and atomically.

in other words it is an atomically guaranteed 100 percent inviolate and
100% accurate transferrance of *information* from one source to another.

any violation of that contract has such severe consequences in engineering
(catastrophic data loss in the case of git, and loss of life in the case of
mission critical real time control systems) that to consider anything other
than this type of contract is unthinkable and flat-out impractical.

thus in the context of SPI MOSI and MISO (both of which contain the words
master and slave actually in the signal names) in git, or in the I2C
protocol (another engineering protocol that uses M and S) , to attempt to
change the words achieves nothing but massive confusion, right where it is
least needed.

the politically motivated and historical meaning (or more accurately, the
guilt-laden Social Justice Warriors' *memory* of the historical meaning) of
the words "master" and "slave" have absolutely nothing to do with this
atomic protocol.

human "master - slave" relationships were never, at a categorical level in
absolutely all cases based such an atomic contract.

some master-slave human relationships were based on love and respect.  the
"slave" and "master" *genuinely loved* each other and were deeply happy and
life-long satisfied with their relationship.  and the service that the
"slave" provided would in *no way* have been an "atomic contract" type.

far from being deeply distressed and repressed, the "slave" led a happy
life and was often free to do whatever they chose when not in the service
of their "master".

many employees today categorically do not have this fruitful type of
relationship through their enslavement contracts (ownership of everything
they do think and say by a pathological and fictional entity known as a
corporation) because the terms of their enslavement contract leave *them*
wholly responsible for their personal welfare outside of "employment",
whilst not properly providing them with the resources needed to actually do

at least a "Master", unlike an "Employer" in the case of loving and
respectful master-slave relationships, it was categorically understood that
the human designated "master" was directly and wholly responsible for the
welfare of the human designated "slave" *at all times*, for their *entire

other relationships, sadly, were abusive and were in no way atomic because
the person designated "slave" fought with every breath they took - overtly
or covertly - to NOT comply with the requests made by the human designated

none of these types of human relationships have anything to do *whatsoever*
with the use of the words "master slave" for the purposes of specifying
clear and unequivocable engineering-grade atomic contracts.

given that there were different *kinds* of human master-slave
relationships, and that some of those were deeply satisfying and fulfilling
for the participants, a case could be made that to change the engineering
term *actually dishonours* those loving relationships!

this in addition to allowing those that feel guilty about the past to
"brush history under the carpet".

to at all *allow* these discussions to influence the engineering uses of
these (same) words... i honestly despair when i hear of them.

> GitHub, Git, and LLVM are all currently discussing this.

i can foresee that those conversations will not go as intended, and that a
decision, if made, will not have the effects and outcomes that they seek.

i will be delighted to be proven wrong.

> If we do decide to change, I'd recommend waiting till Git decides
> which name they will use and emulate that to promote consistency.

following others in their desire to make politically motivated decisions is
not something that i am happy to do.

it is deeply unfortunate that the words chosen by engineering happen also
to have been words used by *some* abusive humans in the past to subject
others to pain, distress and humiliation.

however we have a job to do that is hard enough as it is without people
changing the definition of decades-long-established terms, kicking our feet
from under us and causing considerable confusion in the process.

are we to also be subjected to the consequences of demands that hundreds of
thousands of worldwide manufacturers of PCIe, SPI, I2C and other computer
peripherals and chips should cease and desist using these words due to
*Western* politically charged guilt over historical events?

products designed 20 to 25 years ago and the datasheets are now demanded to
have the words "master" and "slave" eradicated from them??

that's where this leads!

is someone to then also tell us that we are disrespectful to slaves, that
we SUPPORT slavery because we are including SPI master and I2C slave, and
are looking to include a PCIe master and PCIe slave peripheral set in our
future products??

because that kind of false logic, "if you're not with us you're against us"
has been used before to guilt-pressure people into following the mob
hysterical rule of law, many times.

i do fully get that there were times in human history that were abusive.

i *also* understand that there are people out there who are actively
seeking to sow discord between groups, at every level, and in every
internet-connected community.

these people, trained operatives with decades of experience, are dedicating
vast resources to finding the divisive weaknesses of communities, and
throwing in whatever they can to get people to fight each other.

the public has heard this described as "fake news" however it is much more
pervasive and far more organised than the general public realises.

whilst i am not in any way going to tell people they should not discuss
this topic, because it is extremely important to be sensitive to what other
people find disturbing, and to listen to that and give them an opportunity
to be heard, i *am* going to ask that the following be respected:

1) we have, first and foremost, a job to do: get an ethically-developed
processor out the door.  politically motivated discussions it should be
obvious do not help fulfil that goal.

2) our charter is not optional: it says "always do good, never do harm,
this applies 100% of the time".  therefore, sowing politically motivated
discord *or reacting to it without conscious thought* is not... not a good

3) at the same time if anyone feels *genuinely uncomfortable* about the use
of these particular two words and that begins to interfere with their
ability to help fulfil the goal, it is your responsibility and duty to
*speak up*, and to understand and expect that other members of this
community will listen respectully and give you the space to express.

as the libre-soc charter is an experiment on my part as much as anything
else, if you find at any time that *i* do not meet those three requests,
please do say so immediately without hesitation.

thank you.


crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68

More information about the libre-riscv-dev mailing list