Thank you Mich. 

Hopefully it is clear that there is no community consensus yet, and all voices 
are welcome on the topic. 

> On Jun 22, 2020, at 12:15 PM, Mich Talebzadeh <mich.talebza...@gmail.com> 
> wrote:
> 
> Hi,
> 
> Thank you for the proposals.
> 
> I am afraid I have to agree to differ. The term master and slave (commonly
> used in Big data tools (not confined to HBase only) is BAU and historical)
> and bears no resemblance to anything recent.
> 
> Additionally, both whitelist and blacklist simply refer to a proposal which
> is accepted and a proposal which is struck out (black pencil line).
> 
> So in scientific context these are terminologies used. Terminologies become
> offensive if they are used "in the incorrect context". I don't think anyone
> in HBase or Spark community will have objections if these terminologies are
> used as before. Spark used the term in master/slave in Standalone mode if i
> recall correctly.
> 
> Changing something for the sake of "now being in the limelight" does not
> make it right. So I beg to differ on this. Having said that it is indeed a
> sign of a civilised mind to entertain an idea without accepting it so
> whatever the community wishes.
> 
> HTH
> 
> 
> 
> 
> LinkedIn * 
> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
> 
> 
> 
> 
> 
> *Disclaimer:* Use it at your own risk. Any and all responsibility for any
> loss, damage or destruction of data or any other property which may arise
> from relying on this email's technical content is explicitly disclaimed.
> The author will in no case be liable for any monetary damages arising from
> such loss, damage or destruction.
> 
> 
> 
> 
>> On Mon, 22 Jun 2020 at 19: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