+1 to renaming.

Rushabh Shah

   - Software Engineering SMTS | Salesforce
   -
      - Mobile: 213 422 9052



On Mon, Jun 22, 2020 at 1:18 PM Josh Elser <els...@apache.org> wrote:

> +1
>
> On 6/22/20 4:03 PM, Sean Busbey wrote:
> > We should change our use of these terms. We can be equally or more clear
> in
> > what we are trying to convey where they are present.
> >
> > That they have been used historically is only useful if the advantage we
> > gain from using them through that shared context outweighs the potential
> > friction they add. They make me personally less enthusiastic about
> > contributing. That's enough friction for me to advocate removing them.
> >
> > AFAICT reworking our replication stuff in terms of "active" and "passive"
> > clusters did not result in a big spike of folks asking new questions
> about
> > where authority for state was.
> >
> > On Mon, Jun 22, 2020, 13:39 Andrew Purtell <apurt...@apache.org> wrote:
> >
> >> In response to renewed attention at the Foundation toward addressing
> >> culturally problematic language and terms often used in technical
> >> documentation and discussion, several projects have begun discussions,
> or
> >> made proposals, or started work along these lines.
> >>
> >> The HBase PMC began its own discussion on private@ on June 9, 2020
> with an
> >> observation of this activity and this suggestion:
> >>
> >> There is a renewed push back against classic technology industry terms
> that
> >> have negative modern connotations.
> >>
> >> In the case of HBase, the following substitutions might be proposed:
> >>
> >> - Coordinator instead of master
> >>
> >> - Worker instead of slave
> >>
> >> Recommendations for these additional substitutions also come up in this
> >> type of discussion:
> >>
> >> - Accept list instead of white list
> >>
> >> - Deny list instead of black list
> >>
> >> Unfortunately we have Master all over our code base, baked into various
> >> APIs and configuration variable names, so for us the necessary changes
> >> amount to a new major release and deprecation cycle. It could well be
> worth
> >> it in the long run. We exist only as long as we draw a willing and
> >> sufficient contributor community. It also wouldn’t be great to have an
> >> activist fork appear somewhere, even if unlikely to be successful.
> >>
> >> Relevant JIRAs are:
> >>
> >>     - HBASE-12677 <https://issues.apache.org/jira/browse/HBASE-12677>:
> >>     Update replication docs to clarify terminology
> >>     - HBASE-13852 <https://issues.apache.org/jira/browse/HBASE-13852>:
> >>     Replace master-slave terminology in book, site, and javadoc with a
> more
> >>     modern vocabulary
> >>     - HBASE-24576 <https://issues.apache.org/jira/browse/HBASE-24576>:
> >>     Changing "whitelist" and "blacklist" in our docs and project
> >>
> >> In response to this proposal, a member of the PMC asked if the term
> >> 'master' used by itself would be fine, because we only have use of
> 'slave'
> >> in replication documentation and that is easily addressed. In response
> to
> >> this question, others on the PMC suggested that even if only 'master' is
> >> used, in this context it is still a problem.
> >>
> >> For folks who are surprised or lacking context on the details of this
> >> discussion, one PMC member offered a link to this draft RFC as
> background:
> >> https://tools.ietf.org/id/draft-knodel-terminology-00.html
> >>
> >> There was general support for removing the term "master" / "hmaster"
> from
> >> our code base and using the terms "coordinator" or "leader" instead. In
> the
> >> context of replication, "worker" makes less sense and perhaps
> "destination"
> >> or "follower" would be more appropriate terms.
> >>
> >> One PMC member's thoughts on language and non-native English speakers is
> >> worth including in its entirety:
> >>
> >> While words like blacklist/whitelist/slave clearly have those negative
> >> references, word master might not have the same impact for non native
> >> English speakers like myself where the literal translation to my mother
> >> tongue does not have this same bad connotation. Replacing all references
> >> for word *master *on our docs/codebase is a huge effort, I guess such a
> >> decision would be more suitable for native English speakers folks, and
> >> maybe we should consider the opinion of contributors from that ethinic
> >> minority as well?
> >>
> >> These are good questions for public discussion.
> >>
> >> We have a consensus in the PMC, at this time, that is supportive of
> making
> >> the above discussed terminology changes. However, we also have concerns
> >> about what it would take to accomplish meaningful changes. Several on
> the
> >> PMC offered support in the form of cycles to review pull requests and
> >> patches, and two PMC members offered  personal bandwidth for creating
> and
> >> releasing new code lines as needed to complete a deprecation cycle.
> >>
> >> Unfortunately, the terms "master" and "hmaster" appear throughout our
> code
> >> base in class names, user facing API subject to our project
> compatibility
> >> guidelines, and configuration variable names, which are also implicated
> by
> >> compatibility guidelines given the impact of changes to operators and
> >> operations. The changes being discussed are not backwards compatible
> >> changes and cannot be executed with swiftness while simultaneously
> >> preserving compatibility. There must be a deprecation cycle. First, we
> must
> >> tag all implicated public API and configuration variables as deprecated,
> >> and release HBase 3 with these deprecations in place. Then, we must
> >> undertake rename and removal as appropriate, and release the result as
> >> HBase 4.
> >>
> >> One PMC member raised a question in this context included here in
> entirety:
> >>
> >> Are we willing to commit to rolling through the major versions at a pace
> >> that's necessary to make this transition as swift as
> >> reasonably possible?
> >>
> >> This is a question for all of us. For the PMC, who would supervise the
> >> effort, perhaps contribute to it, and certainly vote on the release
> >> candidates. For contributors and potential contributors, who would
> provide
> >> the necessary patches. For committers, who would be required to review
> and
> >> commit the relevant changes.
> >>
> >> Although there has been some initial discussion, there is no singular
> >> proposal, or plan, or set of decisions made at this time. Wrestling with
> >> this concern and the competing concerns involved with addressing it
> >> (motivation for change versus motivation for compatibility) is a task
> for
> >> all of us to undertake (or not) in public on dev@ and user@.
> >>
> >
>

Reply via email to