rfc:deprecate-and-remove-ext-interbase

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
rfc:deprecate-and-remove-ext-interbase [2019/03/22 13:29]
kalle
rfc:deprecate-and-remove-ext-interbase [2019/05/07 08:28]
kalle
Line 1: Line 1:
 ====== PHP RFC: Unbundle ext/interbase ====== ====== PHP RFC: Unbundle ext/interbase ======
  
-  * Version: 1.0.0+  * Version: 1.0.3
   * Date: 2019-03-22   * Date: 2019-03-22
   * Author: Kalle Sommer Nielsen <kalle@php.net>   * Author: Kalle Sommer Nielsen <kalle@php.net>
-  * Status: Draft+  * Status: Implemented
   * First Published at: https://wiki.php.net/rfc/deprecate-and-remove-ext-interbase   * First Published at: https://wiki.php.net/rfc/deprecate-and-remove-ext-interbase
  
 ===== Introduction ===== ===== Introduction =====
  
-The InterBase extension for PHP (ext/interbase) is one of the oldest database extensions who currently resides in the Core. The extensions allow access to InterBase based database systems and Firebird based systems. A PDO extension exists for accessing the same database systems with a PDO backend, however for this RFC, only the ext/interbase extension is in question.+The InterBase extension for PHP (ext/interbase) is one of the oldest database extension who currently resides in the Core. The extension allow access to InterBase based database systems and Firebird based systems. A PDO extension exists for accessing the same database systems with a PDO backend, however for this RFC, only the ext/interbase extension is in question.
  
 The InterBase extension was one of the few extensions that managed to continue its life in the 7.x series, however the extension lacks a maintainer and while there has been calls to taking over the extension, the volunteers who have stepped up have not kept it alive or even touched it. There is no one else around the Core with the experience and willingness to tackle this extension, meaning that the fixes we would be able to provide would be "blind" ones. Even in 7.x, the extension was not fully ported and may misbehave. The InterBase extension was one of the few extensions that managed to continue its life in the 7.x series, however the extension lacks a maintainer and while there has been calls to taking over the extension, the volunteers who have stepped up have not kept it alive or even touched it. There is no one else around the Core with the experience and willingness to tackle this extension, meaning that the fixes we would be able to provide would be "blind" ones. Even in 7.x, the extension was not fully ported and may misbehave.
Line 15: Line 15:
 ===== Proposal ===== ===== Proposal =====
  
-Given the unacceptable nature of the status of this extension, I therefore propose to do the following:+Given the unacceptable nature of the status of this extension, I therefore propose consider the move of this extension to PECL in 7.4.0.
  
-=== 7.4 ===+===== Backward Incompatible Changes =====
  
-Any function or alias called, which is exposed by ext/interbasewill emit a deprecation warning+Codebases relying on ext/interbase to be available with the default PHP build (like on Windows) will have to download it from PECL. For Unix systems that have packages, the package managers may need to be pointed to PECL to continue having gaining access to an InterBase/Firebird based database.
  
-=== 8.0 ===+===== Further rationale =====
  
-The ext/interbase extension will cease to exist in php-srcand will be published on PECL without deprecation warnings+Like already stated above, it is very vital for PHP to provide a set of high quality extensions to come with the default distribution. However, if the PHP Development Team no longer can give the support to an extension that it demands to stay up to parit is not fair for the PHP Community (nor the PHP Development Team) to continue to distribute a potential broken extension.
  
-===== Backward Incompatible Changes =====+The usual procedure is to move extensions that once were in the Core into PECL. An extension in PECL does not mean the extension will cease to exist, it just means that it will not be updated by the PHP Development Team in any capacity. This allows the communities of relevant extensions to take them over, and let them follow their preferred release schedule, instead of the monthly one that PHP follows. Extensions in PECL also can follow their own versioning scheme, and can change as they feel like, and do not have to follow the strict rules of the Core to be released. Many extensions in PECL are also distributed by popular Linux distributions and the PECL infrastructure allows automatic compilation of Windows versions in many flavors of an extension.
  
-Obviously, code using the interbase extension would issue deprecation warnings, and/or would have to use the PDO_Firebird extension in the Core in 8.0.+===== What is broken about it? =====
  
-===== Open Issues =====+There is a long list of things that is broken with this extension, which the PHP Development Team is unable to work around as we do not have any abled person who understands the extension available, below is some of the popular ones:
  
-  * None+  * Reference counting and management of connection resource links is broken 
 +  * Multiple connections is broken 
 +  * PHP4 style "default"-link connections is poorly broken 
 +  * Thread safety is poorly broken 
 +  * A small subset of field types are supported, anything else crashes
  
 ===== Voting ===== ===== Voting =====
  
-The primary vote is about whether to unbundle ext/interbase, which requires a 2/3 majority and will run for 2 weeks:+The primary vote is about whether to unbundle ext/interbase, which requires a 2/3 majority and will run for 2 weeks (2019-04-09 to 2019-04-23 ~12:00 EET):
  
-<doodle title=" Deprecate and unbundle ext/interbase" auth="kalle" voteType="single" closed="true">+<doodle title="Move ext/interbase to PECL" auth="kalle" voteType="single" closed="true">
    * Yes    * Yes
    * No    * No
 </doodle> </doodle>
- 
-===== Patches and Tests ===== 
- 
-None, yet. 
  
 ===== References ===== ===== References =====
  
   * Internals discussion: [[http://news.php.net/php.internals/104871]]   * Internals discussion: [[http://news.php.net/php.internals/104871]]
- 
-===== Rejected Features ===== 
- 
-None. 
rfc/deprecate-and-remove-ext-interbase.txt · Last modified: 2019/05/07 08:28 by kalle