Some days ago I got a really nice donation after helping someone in the NeosCMS Slack by asking the right questions. Those tokens of appreciation motivate me a lot and are something that I don’t take for granted.
I felt that I needed to write about this and to remind people that most of my (and other peoples) Open Source work is unpaid. As my thoughts about this topic don’t fit into a tweet I decided to write a bit more about what I do.
My current situation
I reserve about 25% - 30% of my working time for Open Source contributions. When I check my monthly time reports I see that many months it’s even more than that. This includes Neos core work, reviews, supporting community members on discuss.neos.io and in Slack, improving the neos.io website, activities in the marketing guild, writing blog posts and visiting events. When related to my work I also contribute to other Open Source projects on Github.
When I have new ideas for doing something cool with Neos I also spent free time on contributions by building new packages or adding new functionality to existing ones. Sometimes I don’t even have a project where I would need this functionality but I just think it’s cool and maybe it helps someone (or myself in a new project at some point).
Some examples for this are:
- Yoast SEO for Neos
- Blog plugin for Neos
- CSS in Fusion for Neos
- Add soft hyphens in Neos
- Colorpicker for Neos
- Sitemap crawler for Neos
You can find all my packages on Github.
Every package I publish on Github brings a certain responsibility. If I maintain it I should regularly put some effort into it. If I don’t want to do this I should archive or delete it. Even old packages are sometimes useful for others and sometimes I find out that they are being used when people ask me questions about it.
Sometimes this responsibility can be quite heavy. Especially if one is not into the topic currently and people have some urgent questions or issues. Usually I then have to ask people to try to find a solution and I'll try my best to integrate it. Unless they can pay me and I have time for it of course.
Knowledge comes from investing a lot of time
By doing all this I learn a lot of things. And because of that I’m also able to help a lot of people with their issues as I encountered them myself. My customers also profit from this as quite often I already have something they need or at least know how do it, where to find it or whom to ask.
Even small questions in the community can sometimes take quite some time to understand or reproduce until helping is even possible. One time I spent almost two hours on a Sunday in a videochat to help a student to install Neos on his machine. Afterwards I was able to add another guide to docs.neos.io with the stuff I found out while helping. This guide already helps others like him to get Neos up and running.
But guess what. Now people contact me directly when they encounter a problem while following the guide ;-)
Doing OS work for clients
Sometimes I have customers that pay me for improving one of my packages, the Neos core or even other community packages. But this is not always the case and happens under a certain pressure. Usually they want a certain feature and as fast as possible. But packages simply need a basic maintenance. That means regularly issues need to be resolved, dependencies need to be updated, contributions need to be reviewed and of course thorough testing for everything.
At the same time I cannot guarantee that my contributions that the client paid for are actually going into the Neos core. We are a team and sometimes features should go into the core and the rest of the teams agrees, and sometimes it doesn't make sense. Then I have to provide the functionality as a plugin. In those cases I sometimes modified the Neos core f.e. to allow a plugin to attach.
Best case scenario
Having regular sponsorships would help me a lot to do all of this without having the nagging feeling of „can I invoice enough hours this month?“ and would also make my wife happier when she sees how much I time I spent on this.
Of course I could always decide to only work for customers. There is often more than I can do. But this would stop me from contributing or reduce it to a minimum which wouldn’t make me happy anymore.
Call to action
So if you appreciate what I’m doing and some of my work even helps you in your projects, click one of those links in the following list and support me.
What helps most are monthly or yearly donations to give me a reliable source of income. My goal would be to receive 1000€ / month, which would help me get rid of this nagging feeling that I mentioned.
Of course I love feedback for my work and I’m happy when people say they want to contribute to my packages or support it in a different way, but at the end what helps me most is financial support as I'm the one who will maintain a codebase (alone or with others).
Way of sponsoring my OS work: