Hi all,
As you're likely aware, there's growing momentum in the developer community
to drop terminology that some find offensive. As a project that takes pride
in being welcoming and inclusive, I think this is something we should get
in front of--particularly as we're approaching a 1.0 release.
Specifically, I am proposing to:
1. rename the "master" branch to something else ("main" seems to be
popular; other version control systems use other words too).
2. replace "whitelist"/"blacklist" in our code with something like
"allowlist"/"blocklist", or otherwise renaming. A quick search of code
shows that we don't use them much, but there are some places in Archery
that do, as well as some vendored code (which we could look to see if
that's been updated upstream and pull in changes).
These are unrelated changes and we can address them independently.
Changing the default branch is potentially disruptive, though
https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBranchFromMasterToMain.aspx
doesn't sound so bad: you can run 6 lines to update your local git checkout
to recognize the new default branch. Fresh clones from GitHub will
automatically have the default branch set correctly.
At least one Apache project has gotten to the point of requesting INFRA to
change the default branch (https://issues.apache.org/jira/browse/INFRA-20403)
and I would expect there are others that are somewhere in the process of
deciding. Many other projects and organizations, including git and GitHub,
are debating this too. I'm not optimistic that we could just wait for ASF
to make some decision and implement this for all projects--they are still
named "Apache" after all--so I think this on us to do.
Thoughts? I suspect that the default branch naming may elicit more reaction
and require debate (and a vote?); as for the whitelist/blacklist, I'll work
on a patch for that tomorrow unless there's strong objection, and we can
review specific lines on the PR.
Thanks,
Neal