---
title: "A case study in incrementing a language's major version: PHP"
osem_url: https://osem.seagl.org/conferences/seagl2018/program/proposals/560
beginning: '2018-11-10T13:30:00.000-08:00'
end: '2018-11-10T14:20:00.000-08:00'
presenters:
- name: Adam Harvey
  affiliation: New Relic
  osem_url: https://osem.seagl.org/users/377
  gravatar_id: 36d8c4d60eaed7139aa0ab88378590c0
  biography: |-
    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.
