A case study in incrementing a language's major version: PHP
A2 | Thu 24 Jan | 2:25 p.m.–3:10 p.m.
Adam is a software developer who has worked on a number of interesting and occasionally even useful things in his near two decade career. These include prototyping the worst mesh network of all times (based on Android phones), discovering how to reliably lock up a Windows computer by writing an in-browser video editor, and (most usefully) removing the original mysql_* API from PHP. Today he works at New Relic on their PHP, Go, and C language support. In his spare time, he contributes to a variety of open source projects, a secret robot project that may have some Asimov-related issues, a variety of half finished web sites, and is attempting to drink ever beer Vancouver produces.
In 2015, the PHP project released version 7.0 of the PHP language. Doing so was the culmination of several years of discussion and hard work to resolve what a new major version would look like, what would be included, and most importantly, what would be broken for existing users. In the end, PHP 7 was released with almost no backward compatibility breaks for well written, modern PHP 5 code. As a result, uptake of PHP 7 after two years has been — depending on which source you use and how you measure it — between 33% and 67%. In this talk, I'll discuss how the PHP team balanced the carrot and the stick to encourage adoption, and compare how PHP's approach to a major version bump has contrasted with other languages in the recent past.