*Note:* this email is also available as a gist for easier reading:
https://wiki.php.net/rfc/mysql_deprecation

Sirs, Gentlemen and Scholars,

I am appreciative of all of the discussion that has happened on this
RFC. It has helped me understand how we feel collectively about
ext/mysql and how to deprecate it. I believe that clarifying what the
term 'deprecation' means could help everyone to understand what we are
trying to accomplish.

To quote wikipedia on the word 'deprecation':

> In the process of authoring computer software, its standards or 
> documentation, or other technical standards, deprecation is a status applied 
> to features, characteristics, or practices to indicate that they should be 
> avoided, typically because they have been superseded.

I think we all agree that ext/mysql should be avoided and that it has
been superseded.  What I want to point out is that deprecation is a
process. The real question is: have we taken the proper steps in that
process?

---

I believe we haven't taken all the proper steps. Have we spent efforts
educating the community? Yes.  Are those efforts proportionate to the
magnitude of the usage?  No; ext/mysql has widespread adoption and
needs widespread education and training resources.

Despite that, I think we can deprecate ext/mysql in PHP 5.5.  Some time frames:
 - PHP 5.5 will not be released until at least sometime in 2013,
probably after March because that's when 5.4 was released.
 - After that point, it will take 6-12 months before distribution
systems integrate and release it.
 - After distribution systems have released it, there will be a few
months or more before people upgrade.

We are looking at 1 and 1/2 to 2 years before the deprecation warning
would hit the logs for the majority of users. That should be plenty of
time for the following:

1. The manual should state that ext/mysql will be deprecated in
version PHP 5.5 and warnings will be generated.
2. A resource on our website needs to explain what needs to be taken
before 5.5 to avoid these warnings. It should also explain what
deprecation means (particularly that ext/mysql is not being removed
yet)
3. A resource needs to explain how to upgrade to `mysqli` or `PDO`.
  - The use-last-opened-connection feature is widely used.  This is
one case we need to specifically address.

Those three things are critical and should be completed before 5.5 is
released; the ones below are additional things that could be done:

4. Outreach campaigns should take place to point the masses to these resources.
5. Large software groups should be specifically contacted to explain
all of this.


However, if we cannot commit to doing these things then I would advise
against deprecating ext/mysql in version 5.5.

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to