A long time ago, in a land far away, lived a software wizard that was capable of grand magic. They built gardens, libraries, temples, castles. They created life where there wasn’t, and cleared the path where it was unsafe.

And then they disappeared, and even though they left behind books and notes, none of their apprentices were able to learn the craft. Since then, nobody was able to use any of the tools of the great mage, and the creations kept working for only a few years, when finally even the last stone that was placed crumbled into sand.

Sounds familiar? Software often feels the same: we’re all magicians that force a piece of sand into semi-rational thought, but what will happen when everyone moves on, and nothing works as expected anymore?

This talk explores the problems that arise from breaking compatibility with existing tools, how to prevent those breakages from happening, and what to look for as a software maintainer.

While I cannot guarantee that you will build indestructible magical fortresses with my tips, I can at least help you make sure that your work will live on with other people picking it up, and hopefully appreciating the stability that you worked towards.


Comments are closed.

Great talk! Loved the quizing! Makes you realize that even adding new unrelated stuff can break backwards compatibility

James Titcumb at 10:51 on 8 Jun 2019

Really excellent. Bits of humour, great content and information on BC for code.

Excellent talk. It was not rushed and all, and still conveyed a good message. Thank you!

James Titcumb at 13:36 on 8 Jun 2019

Excellent! Great content, well presented.

Erwin Deckers at 15:34 on 8 Jun 2019

Insightful and forced us to think about the edge cases of bc

Good overview on BC, authoritative.

Arnout Boks at 23:02 on 8 Jun 2019

Great introduction into how subtle BC breaks can actually be in PHP, and well presented with the necessary humor. It's great to see talks that go deeper on type theory.

Alwin Drenth at 12:42 on 9 Jun 2019

One of the best talks of the conference. The quiz element was nice, and learned a lot of it. Cool to learn some things to bring home. Love to see Marco in future talks.

Tim Huijzers at 00:14 on 10 Jun 2019

Very clear talk about the impact of BC breaks, indeed not a talk to make your code a magical fortress but that's not practical, I will however give good insight in what you have to think about when you have to deal with BC Breaks

Loved the talk and how you made it quite interactive. Since I'm not maintaining a (popular) package this was a good way to think more about backwards compatibility.

Great talk, very informative

Gary Hockin at 11:02 on 11 Jun 2019

Macro delivered interesting information in a highly judgemental and interesting way. Recommended.

Bas at 13:38 on 11 Jun 2019

Fun to listen to. Nice the audience participation.

Ronald D. at 14:59 on 11 Jun 2019

Great talk, liked the approach with the quiz to involve the audience.