The social contract behind Sulu
I read a post by Dries Buytaert, the founder of Drupal, titled Grow the ecosystem, not just yourself. Much of it responds to a specific situation in the Drupal world, and I will leave that part to him. But one idea in the piece has stayed with me, and I want to talk about what it means for us.
The idea is this. Every open source project runs on something its license never mentions and no one ever enforces. Dries calls it a social contract, and I think that is exactly the right name for it. What I want to argue here is simple. If you build with Sulu, the question is not whether you are part of that contract. You already are. The only real question is how you want to hold up your end, and what kind of contribution is realistic for you.
The license sets the floor
Sulu is released under the MIT license, and it always will be. That license is about as generous as software licensing gets. You can use Sulu, change it, build a business on it, ship client projects with it, and never owe us a cent or ask for our permission. This is deliberate. It is not a temporary state on the way to something more restrictive, and it is not going to change.
But a license only describes what you are allowed to do. It says nothing about what keeps a project healthy. The MIT license is the floor. It is not the building.
What contribution really looks like
When people hear the words "contribute to open source," they often picture a pull request against the core. That is one form of contribution, and a valuable one. It is far from the only one.
A bug report with a clear reproduction saves a maintainer hours. A fix to a confusing paragraph in the documentation saves every reader who comes after you. An answer in Slack, a talk at a local meetup, a write-up of how you solved something real with Sulu, a community bundle kept current. Each of these strengthens the commons, and none of them require you to be a core contributor. Small contributions compound, and the barrier to making one is much lower than most people assume.
How Sulu works, and why that matters
I want to be straightforward about how Sulu works as a business, because the social contract only holds if everyone can see the whole picture.
Sulu GmbH earns its revenue mainly through development services, consulting and training. We have an official partner program with an annual subscription, and additional products like Sulu.ai and Sulu.cloud. All of this together funds the time we put into Sulu as an open source project. Today we are the largest single steward of Sulu by a wide margin, and that is intentional.
We take that role seriously. Stewarding Sulu means keeping the project moving, making the architectural decisions, holding a high bar for quality, and keeping the documentation and the community in good shape. We are glad to carry it, and we intend to keep carrying it.
Stewardship is part of the social contract as well. It sets a direction, but the best direction comes from a wider conversation, and joining that conversation is a contribution in itself. So we would love for more people to help decide where Sulu goes, in the discussions about what it should become and in the development that gets it there.
Partnership as part of the contract
Our partner program is the clearest place where this becomes concrete. Partners build real businesses on Sulu, and the partnership itself runs on an annual subscription. That subscription is a contribution in its own right. It partly funds the work that keeps Sulu moving. Beyond it, partners give back in the ways the social contract describes: representing the project well to their own clients, improving the codebase, reporting bugs, filing feature requests, and bringing new people into the ecosystem. It works because both sides give something real.
Our products play a part too. When a team builds with Sulu.ai or hosts on Sulu.cloud, the revenue helps fund the open source project underneath. It is an indirect way of supporting the work, and it adds up.
This brings us back to the question from the start. A partnership or a commercial product is one way to hold up the contract. It is not the only one, and it is not something we expect from everyone. What matters is that you answer the question honestly for yourself: how do you want to take part, and what kind of contribution is realistic for you? For some the answer is a partnership. For others it is a pull request, a careful bug report, or an hour spent helping someone in Slack. Every honest answer holds up the contract.
An invitation
Sulu 3.0 gave the project a foundation for the next decade. A foundation, though, is only worth something when people build on it. So let us build on it together.
That is the social contract I would like us to live by. I am glad to be holding up our end of it, and I would be grateful for your help holding up the rest.
There is no single right way to honor this contract. There are many, and one of them is yours. Choose it, and do it.
