I want to preface this response with two points that I think need to be made clear.
- Black lives matter.
- Anti-blackness and racism exists in engineering cultures across the world.
With this in mind, and in the spirit of being a polite and welcoming community we should strive to use inclusive language wherever and whenever possible. The “master / slave” nomenclature has already been discussed, at length, in other places, with the community consensus being that it should be replaced as soon as is convenient. English being what it is, and etymology being a murky enterprise, the meaning behind the Git “master” branch name is unclear but signs point to a provenance in the master/slave tradition. Etymology notwithstanding, we should strive for more inclusive language solely as a matter of being a welcoming community; and we should always defer to moving in a more welcoming direction. Similarly, we can’t go back in time and change things that were incorrect in the past, but we certainly can try to do things better now and in the future. For these reasons Open Robotics has decided to migrate the software we maintain use to main and we recommend that others in the community follow suit. We suggest that package maintainers plan to migrate to using a “main” branch as part of their next release effort. From the perspective of the core ROS libraries and the build farm there is no blocker, limitation, or undue burden in making this transition. Internally at Open Robotics we plan to have adopted “main” as the going forward standard with ROS 2. What this means in practice is that developers migrate from master to main for all new releases. Older releases should feel free to use “master” to maintain backwards compatibility. I’ve tried to briefly address some of the potential questions about this below.
Does my package have to migrate to using git main?
No, you don’t, but we highly recommend that you do so on a going forward basis. As a distributed and federated community we have very little control of the actions of others aside from asking that they try to be polite. As an organization we prefer to work with people who are kind and polite. We hope you feel the same way.
Do I need to migrate older releases?
You can if you would like. We understand that the further back in time you go the more difficult it is to fix this problem. We’re only asking for people to do the right thing going forward.
This will cause me a lot of pain. I don’t want to do it.
We’re aware that this will make some work for some groups. We’re aware that this may impact your systems. We believe that the impact on released software should be minimal and that changes touching in-progress distributions will be similar in scope to other API and nomenclature changes.
Can you help me through this transition?
Yes, we can. Feel free to use ROS discourse to ask for help. We’re looking into the transition ourselves. Once we have a plan we can publish a guide.
Will this do anything to fix systemic racism?
No, but it is a start. It is a gesture showing good will, and a willingness to listen and change our behavior. We have a few other actions that we’re working on but we wanted to respond to this point directly. If you have other suggestions or things you would like us to consider we’re all ears.