Skip to content

Instantly share code, notes, and snippets.

@morrisonlevi
Created November 16, 2012 03:13
Show Gist options
  • Save morrisonlevi/4083664 to your computer and use it in GitHub Desktop.
Save morrisonlevi/4083664 to your computer and use it in GitHub Desktop.
ext/mysql deprecation email

Sirs, Gentlemen and Scholars,

I am appreciative of all of the discussion that has happened on the mysql_deprecation RFC (https://wiki.php.net/rfc/mysql_deprecation). 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:

  1. Outreach campaigns should take place to point the masses to these resources.
  2. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment