rfc:unbundle_xmlprc

Differences

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

Link to this comparison view

Next revision
Previous revision
rfc:unbundle_xmlprc [2020/04/25 18:15] – created cmbrfc:unbundle_xmlprc [2020/08/01 23:59] (current) – RFC was implemented carusogabriel
Line 1: Line 1:
 ====== PHP RFC: Unbundle ext/xmlrpc ====== ====== PHP RFC: Unbundle ext/xmlrpc ======
-  * Version: 0.+  * Version: 1.0 
-  * Date: 2020-04-25+  * Date: 2020-05-12
   * Author: Christoph M. Becker, <cmb@php.net>   * Author: Christoph M. Becker, <cmb@php.net>
-  * Status: Draft+  * Status: Implemented
   * First Published at: https://wiki.php.net/rfc/unbundle_xmlprc   * First Published at: https://wiki.php.net/rfc/unbundle_xmlprc
  
 ===== Introduction ===== ===== Introduction =====
  
-ext/xmlrpc relies on on [[https://sourceforge.net/projects/xmlrpc-epi/|libxmlrpc-epi]], which looks abandoned. Even worse, we are bundling a modified [[https://github.com/php/php-src/blob/77ee4e63a61e884d393713fa822df043eec6c87b/ext/xmlrpc/libxmlrpc/xmlrpc.h#L47|0.51]], while the latest version is [[https://sourceforge.net/projects/xmlrpc-epi/files/xmlrpc-epi-base/|0.54.1]]. This is exacerbated by the fact that the system library is usually build against libexpat, but the bundled library is likely to be build against libxml2 using our compatibility layer.+ext/xmlrpc relies on on [[https://sourceforge.net/projects/xmlrpc-epi/|libxmlrpc-epi]], which is abandoned. Even worse, we are bundling a modified [[https://github.com/php/php-src/blob/77ee4e63a61e884d393713fa822df043eec6c87b/ext/xmlrpc/libxmlrpc/xmlrpc.h#L47|0.51]], while the latest version is [[https://sourceforge.net/projects/xmlrpc-epi/files/xmlrpc-epi-base/|0.54.1]]. This is exacerbated by the fact that the system library is usually built against libexpat, but the bundled library is likely to be built against libxml2 using our compatibility layer.
  
 Relying on an external library which is no longer maintained for more than nine years is suboptimal. Dropping support for system libraries in favor of the bundled xmlrpc-epi, however, would obviously require us to update the bundled library to the latest version, and also to maintain it ourselves for the foreseeable future at least. Since ext/xmlrpc appears barely maintained for years, it does not seem likely that we would have the resources to actually do that. Relying on an external library which is no longer maintained for more than nine years is suboptimal. Dropping support for system libraries in favor of the bundled xmlrpc-epi, however, would obviously require us to update the bundled library to the latest version, and also to maintain it ourselves for the foreseeable future at least. Since ext/xmlrpc appears barely maintained for years, it does not seem likely that we would have the resources to actually do that.
Line 25: Line 25:
 PHP 8.0.0. PHP 8.0.0.
  
-===== Open Issues =====+===== Future Scope =====
  
-Make sure there are no open issues when the vote starts!+It may be considered to move the ''xmlrpc_errors'' and ''xmlrpc_error_number'' INI settings to the xmlrpc extension. This is outside of the scope of this RFC, though.
  
-===== Proposed Voting Choices =====+===== Voting =====
  
-A simple yes/no vote about whether to unbundle ext/xmlrpc or not. Unbundling requires a 2/3 majority.+A simple yes/no vote about whether to unbundle ext/xmlrpc or not. Unbundling requires a 2/3 majority. Voting starts on 2020-05-12, and ends on 2020-05-26 (12:00 UTC).
  
 +<doodle title="Unbundle ext/xmlrpc" auth="cmb" voteType="single" closed="true">
 +   * Yes
 +   * No
 +</doodle>
  
 ===== Implementation ===== ===== Implementation =====
  
 After the project is implemented, this section should contain  After the project is implemented, this section should contain 
-  - the version(s) it was merged into + 
-  - a link to the git commit(s)+  - Unbundled via https://github.com/php/php-src/pull/5640
   - a link to the PHP manual entry for the feature   - a link to the PHP manual entry for the feature
-  - a link to the language specification section (if any) 
  
-===== References ===== 
  
-Links to external references, discussions or RFCs+===== References =====
  
-===== Rejected Features =====+  * [[https://externals.io/message/109853|RFC announcement]] 
 +  * earlier [[https://externals.io/message/103703|mailing list discussion]]
  
-Keep this updated with features that were discussed on the mail lists. 
rfc/unbundle_xmlprc.1587838526.txt.gz · Last modified: 2020/04/25 18:15 by cmb