[wp-meta] [Making WordPress.org] #4309: Displaying PHP Compatibility results from Tide on wp.org

Making WordPress.org noreply at wordpress.org
Mon Nov 25 02:25:00 UTC 2019

#4309: Displaying PHP Compatibility results from Tide on wp.org
 Reporter:  JoshuaWold        |       Owner:  ck3lee
     Type:  enhancement       |      Status:  reviewing
 Priority:  normal            |   Milestone:
Component:  Plugin Directory  |  Resolution:
 Keywords:                    |

Comment (by dd32):

 I had a number of conversations with others at WordCamp US, and one thing
 that I heard multiple times was that hosts wanted a way to say "This
 plugin works on PHP 7.3" - I asked if Tide would suffice for that, and the
 main thing I heard from that was basically a no (from those who had an
 understanding of it).

 The known false positives/negatives of the Tide data meant that those who
 I spoke to weren't comfortable using it for that purpose, and I tend to
 agree - which is why there hasn't been any movement here.

  - The proposals to show the PHP versions supports (Either as a list, or a
 range) is pretty "meh" to me. It's not useful to end-users. And hosts
 evidently can't rely upon it.
  - My proposal to fill in the `Requires PHP` header in from the Tide data
 seems worthwhile, but I don't think we actually can. Since WordPress now
 prevents updates unless you meet the PHP requirements, a false negative
 here just has the possibility of stranding users from getting updates
 until an Author adds the header.

 Polyfilling would result in (This is looking at plugins who don't specify
 `Requires PHP` but that tide has processed)
  - 1044 plugins marked as requiring PHP 5.2 (That's actually good?)
  - 814 plugins marked as requiring PHP 5.3~5.5 (That seems legitimate, but
 also not really useful to modern WordPress installs given the PHP 5.6
  - 76 marked as needing PHP 5.6 (I'm surprised it wouldn't be more, I
 would expect a number of plugins to have jumped on board with the PHP
  - 25 as PHP 7.0 (4 of which I can immediately see require PHP 5.2/5.3), 6
 as 7.1, 1 as 7.2, and 6 as 7.3

 Looking at the `Requires` WordPress header, the numbers also just don't
 stack up.. For those who require PHP 5.6 according to tide over half of
 them require WP 3.x and 80% is 4.6 or older.. The PHP 7.x's with only 5
 plugins out of 38 (~13%) requiring WP 4.9+
 It's entirely possible that authors have simply not updated that header,
 and have decided to require a much more recent PHP version.. either
 intentionally or accidentally, but either that's most authors, or the data
 is wrong.

 I'm just not seeing a real benefit here to the majority of users. For the
 38 plugins that need PHP >= 7.0 based on Tide, It's probably worthwhile to
 email the authors and get them to update their plugins with the `Requires
 PHP` header to find out what they actually need... see how many of those
 Tide got right.

 Arguably what this is showing is that the upper-bound limit of the Tide
 data is more useful, ie. `"What's the highest version of PHP this plugin
 will run on"` but I also struggle to trust that data:
 ||Maximum PHP supported by plugin||Plugin Count||SUM() Active Installs||
 ||5.6||141||1.6 million||
 ||7.1||44||5.6 million||
 ||7.2||589||20 million||
 ||7.3||2772||125 million||
 (Interestingly, PHP 5.2/5.4/5.5 is never the maximum supported php in the
 data we have)

 The Active installs is all the plugins in that group with their install
 counts sum'd together (So that will mean lots of duplicate sites) which
 when put up against the number of WordPress sites running on PHP5.6 and
 >PHP7 suggests that these plugins are more than likely compatible with a
 higher version of PHP as otherwise the forums would be full of complaints.
 I looked at the PHP 5.6 plugin list, and quite a few of them work fine on
 PHP7, but probably contain back-compat functions or other similar things
 which makes them incompatible according to the tide tests.

 So that's why I've personally stalled on this ticket, and why I question
 the benefit of exposing the Tide data.

 I tend to think that we can probably get a better `"What's the chances
 this plugin works on PHP 7.3"` for a lot of plugins based on WordPress.org
 stats (Although we don't currently expose, nor count, PHP usage by
 plugins) by looking at the number of sites that a plugin is running on and
 going `"Well, 10% of the plugins install base is now using PHP 7.3 - It's
 highly probable that the plugin works"` and combine that with adding the
 "Tested up to PHP version X.Y" header to readme's to get actuals from
 authors who do test.
 Same thing for `"What's the chances this plugin works with the latest
 version of WordPress?"` `"Pretty high, 80% of the users are using X.Y"`

Ticket URL: <https://meta.trac.wordpress.org/ticket/4309#comment:20>
Making WordPress.org <https://meta.trac.wordpress.org/>
Making WordPress.org

More information about the wp-meta mailing list