Delete distractions Focus on code that matters
Unused code is wasting your time and money
Periphery finds unused code in Swift projects so teams can stay focused
A new chapter for Periphery
For over 7 years, Periphery has been an open-source passion project of mine. I’ve spent countless evenings and weekends working to get it to where it is today. It has taken a huge amount of effort, but I did it for one simple reason: I’m passionate about building software, and I believe that keeping unused code in check is a key part of doing it well. Periphery has matured significantly over the years, and today some of the world’s most well known companies use it in their build pipelines. Periphery is now a tool primarily used by professionals, not just hobbyists.
As much as I love Swift, it is objectively a large language. It aims to support a wide range of use cases, and its broad feature set reflects that. Periphery has to account for all of these features in order to produce thorough and accurate results. That’s no easy task, and Swift is constantly evolving.
There’s a lot I’d like to improve in Periphery: new features, better integration with CI environments, improved performance and more advanced static analysis approaches. But that’s a lot of work, and on top of the current maintenance required to keep Periphery in sync with new Swift versions, it’s unlikely to happen as a side project. That’s why I’ve decided to turn Periphery into a commercial product. The income will allow me to focus on supporting and expanding Periphery’s role as an vital tool in professional Swift projects.
Small indie and hobby projects will be able to use Periphery for free, so too will open-source projects of any size. Larger projects developed by companies with the resources to purchase a license will benefit from a more capable tool. The first phase in this transition is an open beta. Everyone can obtain a free beta license with no restrictions on project size. Open-source projects can also sign up for public licenses. The open beta doesn’t have an end date yet, but ample notice will be given when that date is determined.
I sympathize that not everyone will be happy with this change, but I do believe it’s the right one for Periphery to achieve its full potential. The pricing model will be based on project size, and the free tier should cover all hobby projects and even a large number of smaller commercial projects. The Github version of Periphery remains available under the permissive MIT license, and you are welcome to fork it and make changes as you please, though the main repository will remain archived.
If you're still onboard with this change and want to see what the future has in store, I invite you to join the open beta.