[x] Use different terminology than "master/slave" throughout the specification document and Protobuf comments: at the 09/25/2020 P4 API WG meeting, "primary/backup" was the most popular - https://github.com/p4lang/p4runtime/pull/320
[x] Rename the default branch of the p4lang/p4runtime repo from "master" to "main" - this may break quite a few links outside of the repo, in particular we need to check if any link needs to be updated in the P4 website - https://github.com/p4lang/p4runtime/pull/318
[ ] Rename the MasterArbitrationUpdate in p4runtime.proto to something different - this will need to be done in a v2 version of the API to avoid breaking backwards-compatibility
[ ] Check for other non-inclusive terms (list TBD)
It seems that a lot of open-source projects and organizations are now opting to ban non-inclusive terms: master/slave, whitelist/blacklist, etc.
The Linux kernel coding style was updated a couple months back to advocate against using non-inclusive terminology and provide some alternative suggestions to the terms most commonly used: https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst#4-naming
@jnfoster suggested a while back that we found a different terminology than "master/slave" to describe the arbitration process: https://github.com/p4lang/p4runtime/issues/56#issuecomment-423360620
A few items that we should take care of:
MasterArbitrationUpdate
in p4runtime.proto to something different - this will need to be done in a v2 version of the API to avoid breaking backwards-compatibility