A love story
with laravel that
started in 2015

Back in 2015 when we first began developing open source packages and tools for Laravel and PHP, we couldn't have imagined the overwhelming support and feedback we'd receive from the community.

Over the years, we've launched numerous packages and courses, and have actively engaged in delivering presentations across the globe.

We have been fortunate that working with the Laravel community brought us many opportunities to collaborate with developers from around the world, and expand our own skills and services.

Our Efforts in numbers

536

Packages Released
& maintained

2.42B+

Total downloads
on packagist

1,000+

Contributors
on Github

How we manage
and build open
source at spatie

Being able to spend enough time on our open source efforts while also building applications for our clients can be challenging. Laravel is what ties everything together.

We use Laravel for almost all our web development projects, and it's the foundation for many of our paid products too.

We have a few rules in place to make sure our open source work meets the same high quality as our products and client work.

The balancing act
of open source

01 Make it easy to use

We have put a lot of effort into making our packages as user-friendly as possible. Ultimately, a package should be fun to use.

02 Write excellent documentation

We invest time in creating excellent documentation for each of our packages. This makes it easy to discover what a package does and what all the features are.

03 Provide an extensive test suite

All of our packages have an extensive test suite. This provides you (and us) with proof that the package code behaves correctly and works under all conditions.

04 Write readable code

We structure and write our code in such a way that others can easily understand what is going on. Names of variables, functions and classes are chosen with care. You should be able to understand how the package works just by reading the code.

05 Be flexible

We know we can't imagine every scenario our code will be used in. That's why we make our packages as customizable and extensible as possible. We don't use the final keyword, and make everything protected by default instead of private. Our code is structured in small functions and classes that can be overwritten or extended.

06 Keep the scope small

When creating a package we intentionally keep the scope small. In most cases, packages are created to be consumed in our projects. We would rather have a small package with one very polished feature, than a large package that tries to cover all possible edge cases and variations of a problem.

07 Stay up to date

When a new PHP or Laravel version comes out, our team spends time to make sure the test suite is running correctly and that a new package version is tagged. Usually, all of our Laravel packages are compatible with the major releases of the Laravel framework within a few days.

Contribute to
our work and
keep us going

Community is what makes open source work worthwhile. Without the hundreds of people who use, test, and contribute to our packages, they wouldn't be as successful as they are today.

If you want to get involved in our open source work or help us in other ways, here are the best ways to do that.

01

Resolve open issues

Open issues across our packages and repositories are open to anyone to tackle, including you. We welcome contributions, but follow the contribution guidelines from each project on how to submit issues or pull requests correctly.

02

Buy products & courses

We create paid software and courses that you can purchase to support us directly. In return, you gain access to productive tools to help you improve your workflow or learn valuable skills!

03

Get some sweet merch

Show your love for Spatie with our official merchandise. T-shirts, mugs, hoodies, stickers, and more.