Drupal core, Drupal Canvas and a long list of contributed modules were all built by people who released them for anyone to use, including someone they have never met building a commercial product on top of them. Most of that foundation was in place long before I needed it, and none of it was written with me in mind.
That is a strange kind of gift to receive.
It is also the entire reason a small operation can ship something as ambitious as Webhaven at all. So the least I can do is put something back.
The rule
It is a simple rule, and it is the only contribution policy Webhaven has.
When I hit a bug while building Webhaven, I do my best to not work around it.
Working around a bug is always the faster option in the moment. You patch it locally, you ship, you move on.
But then it is your patch forever, in every site you build, and the bug is still sitting there waiting for the next person. Reporting it takes more time but then it is fixed for everyone.
Over the past year that came to 52 credited contributions across 17 Drupal projects.
What that looked like
A good part of it was Drupal Canvas.
Webhaven adopted Canvas early and I run it in production on a multilingual site, which turns out to be an excellent way to find problems nobody has run into yet.
Some of it went into Drupal core, and some into projects I use elsewhere: Commerce, Gin, Twig Tweak, Radix.
Small things mostly.
A broken admin toolbar, a fatal error on an edit form, a button that showed up when it should not have.
And a lot of it was the least glamorous work in open source: keeping the modules I maintain alive. Compatibility with Drupal 11 and 12, coding standards, schema warnings, making libraries install properly through Composer.
I also spoke at DrupalCamp about running Canvas in production, because being early is only worth something to other people if you share that experience with others.
Why it is not charity
I want to be honest about the incentives, because "we contribute back" is the kind of line that shows up everywhere and means very little.
Contributing is in my own interest.
Webhaven is only as good as the foundation under it.
Every workaround I keep is technical debt I carry into every site built on the template. Pushing a fix upstream is how I stop owning it. The selfish reason and the good reason happen to point in the same direction, which is one of the better features of open source.
It also means something concrete if you are looking at Webhaven.
The stack underneath it is not a black box I am hoping stays healthy. It is a stack I work on, and when it breaks, the fix goes to everyone. Including people who will never buy Webhaven.
The bar is lower than you think
You do not need to be a core maintainer to give back. Most contribution is not code at all.
File the bug instead of routing around it. Write a proper issue summary. Update the documentation page you just spent an hour decoding. Confirm that someone else's fix works. Say thanks in a thread that has gone quiet.
Every one of those is worth more than it feels like at the time. On the other end sits a person maintaining something you depend on, for free, on their own time.
You can see Webhaven's full contribution record on drupal.org.