Sarah Savage logo

A fusion of development and business

Endings in open source

Most projects announce to some kind of fanfare – some greater than others. We love to see a new open source project released, and we cheer when a new package is available that solves a problem, particularly if it’s a problem we’re having.

On the other end of the spectrum is the fact that open source packages can sometimes run their course, and need retirement.

Such is the nature of a package that I maintain, called BooBoo (league/booboo). I am announcing today that I am retiring this package from service, marking it abandoned on Packagist, and archiving its repository.

What happened?

The end of an open source package is not always nefarious or due to neglect. Many years ago I felt the BooBoo package was complete, and there was little effort or energy to spend on updating it, because it didn’t need much.

However, as I have continued to check it against current versions of PHP, I’ve noticed that code rot is setting in. Some tests break. There are backwards-incompatible changes in PHP that cause problems. And to make matters worse, the package seems to have completely outlived its usefulness.

Many users of frameworks are using Laravel of Symfony, which handle errors in their own way. I would never recommend starting a new framework or project without having some kind of framework, and many of the projects that might use BooBoo are being upgraded to use these frameworks anyway. In short, there’s no longer a need for this kind of package.

What is the alternative?

I highly recommend checking out the filp/whoops package which provides extensive features for catching and displaying errors in a development environment. This package is already recommended by Laravel and can be integrated with Symfony easily. It also has 243 million downloads (as of the writing of this article in May 2024).

What’s next?

There are tons of problems to solve in the software world. My plan is to find the next problem that needs solving, and write packages or contribute to existing packages that solve them. There is no shame in retiring a piece of code, and there’s no regrets. BooBoo was a great foray into the open source world, and I am thankful for the packages that implemented it and the people who contributed to it.

Thoughts? Leave a reply

Your email address will not be published. Required fields are marked *