rfc:change-terminology-to-allowlist-and-blocklist

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
rfc:change-terminology-to-allowlist-and-blocklist [2020/06/09 09:32] brzuchalrfc:change-terminology-to-allowlist-and-blocklist [2020/06/16 12:08] brzuchal
Line 1: Line 1:
-====== PHP RFC: Change terminology to AllowList and BlockList ======+====== PHP RFC: Change terminology to ExcludeList ======
   * Version: 0.9   * Version: 0.9
   * Date: 2020-06-09   * Date: 2020-06-09
   * Author: Michał Marcin Brzuchalski <brzuchal@php.net>   * Author: Michał Marcin Brzuchalski <brzuchal@php.net>
-  * Status: Draft+  * Status: Under Discussion 
 +  * Target Version: PHP 8.0
   * First Published at: http://wiki.php.net/rfc/change-terminology-to-allowlist-and-blocklist   * First Published at: http://wiki.php.net/rfc/change-terminology-to-allowlist-and-blocklist
  
-Change uses of "whitelist" and "blacklist" with better self-descriptive terminology.+Change the use of "blacklist" in Opcache configuration with better self-descriptive terminology.
  
 ===== Introduction ===== ===== Introduction =====
-The cultural significance of blacklists is based on racial discrimination. +The word "blacklist" require additional context to figure out the exact intention of a specific 
-There are no reasons to use these.+configuration. This proposal suggest to change this to a name that better reflects what the functionality does.
  
 ===== Proposal ===== ===== Proposal =====
-The proposal is to replace all occurrences of "whitelist" and "blacklist" to their respective alternatives "allowlist" and "blocklist". +The proposal is to replace all occurrences of "blacklist" to the alternative "exclude_list". 
-This proposal was inspired by movement in changing terminology in other Open Source projects [1].+ 
 +A list of Open Source projects with similar terminology change is listed in [[https://wiki.php.net/rfc/change-terminology-to-allowlist-and-blocklist#references|references]] sectionThere is also a draft [[https://tools.ietf.org/id/draft-knodel-terminology-00.html|IETF document]]. 
 + 
 +==== Change INI directive name ==== 
 +A new INI directive called ''opcache.exclude_list_filename'' will be introduced and will configure the same internal value as the already existing ''opcache.blacklist_filename''
 + 
 +The INI directive called ''opcache.blacklist_filename'' will remain as is but with additional soft-deprecation in the docs and  
 +in ''php.ini-development'' and ''php.ini-production''
 + 
 +==== Change in opcache_get_configuration function ==== 
 +The ''opcache_get_configuration()'' function currently returns an associative array with information about Opcache. 
 +A new key named ''exclude_list'' will be added to resulting array with the same value as the original ''blacklist'' 
 +key which will remain untouched with additional soft-deprecation in the docs. 
  
 ===== Backward Incompatible Changes ===== ===== Backward Incompatible Changes =====
 Most of the changes are internal only with two exceptions for which this patch requires RFC: Most of the changes are internal only with two exceptions for which this patch requires RFC:
  
-  - ''opcache.blacklist_filename'' INI directive +  - The new ''opcache.exclude_list_filename'' INI directive 
-  - ''opcache_get_configuration()["blacklist"]'' key in returned array value+  - An extra ''exclude_list'' key in the returned array value of ''opcache_get_configuration()'' 
 + 
 +Whether the use of the ''opcache.blacklist_filename'' INI directive triggers a deprecation notice is a subject to a secondary vote.
  
 ===== Proposed PHP Version(s) ===== ===== Proposed PHP Version(s) =====
Line 33: Line 49:
  
 ==== To Opcache ==== ==== To Opcache ====
-This proposal modifies Opcache structure and function names by replacing "blacklist" with "blocklist".+This proposal modifies Opcache structure and function names by replacing "blacklist" with "exclude_list".
  
 ==== php.ini Defaults ==== ==== php.ini Defaults ====
  
-  * php.ini-development changed name of ''opcache.blacklist_filename'' into ''opcache.blocklist_filename'' +  * php.ini-development changed name of ''opcache.blacklist_filename'' into ''opcache.exclude_list_filename'' 
-  * php.ini-production changed name of ''opcache.blacklist_filename'' into ''opcache.blocklist_filename''+  * php.ini-production changed name of ''opcache.blacklist_filename'' into ''opcache.exclude__filename'' 
 + 
 +===== Future scope ===== 
 +The possibility to remove ''opcache.blacklist_filename'' INI directive and ''opcache_get_configuration()["exclude_list"]'' in the next 
 +minor PHP version: 8.1.
  
 ===== Proposed Voting Choices ===== ===== Proposed Voting Choices =====
-Accept changing terminology in PHP 8.0? Yes/No+Accept changing terminology in PHP 8.0? Yes/No with 2/3 majority required. 
 +Add deprecation notice when deprecated INI directive used? Yes/No
  
 ===== Implementation ===== ===== Implementation =====
Line 47: Line 68:
  
 ===== References ===== ===== References =====
-  - [[https://go-review.googlesource.com/c/go/+/236857/|1]]+  - [[https://github.com/sebastianbergmann/phpunit/blob/master/ChangeLog-9.3.md#930---2020-08-07|PHPUnit]] 
 +  - [[https://github.com/xdebug/xdebug/commit/63b43b51e43b794cf8cd740e54089b2b7320fbe1|Xdebug]] 
 +  - [[https://www.drupal.org/project/drupal/issues/2993575|Drupal]] 
 +  - [[https://gitlab.com/gitlab-org/gitlab/-/issues/7554|Gitlab]] 
 +  - [[https://go-review.googlesource.com/c/go/+/236857/|GoLang]] 
 +  - [[https://github.com/rails/rails/issues/33677|RoR]] 
 +  - [[https://github.com/rubocop-hq/rubocop/pull/7469|Ruby Static Analyser]]
  
rfc/change-terminology-to-allowlist-and-blocklist.txt · Last modified: 2020/06/16 12:10 by brzuchal