João Freitas

For years I’ve always wanted to be an open-source maintainer

But now I despise it. It really takes much more time and effort than you think


I’ve built countless side projects, libraries, proof-of-concepts, whatever my mind thought it was a great idea, I’ve worked on it. And to be fair, most of these projects sucked, and I’m glad they didn’t get picked on.

But there was one project that finally gained traction, but died pretty quickly once I got a glimpse of what being an open-source maintainer is. This project is called zero-monitor and is an agent based monitoring tool that you can run on servers and embedded devices. The main motivation was being able to deploy a monitoring agent that didn’t scarce my server resources, and since nothing similar was around, I spent some time (well months) to build a beta version.

Checklist

Contrary to my older projects, this time I wanted zero-monitor to shine and become popular in the self-hosting and open-source community. Before making the GitHub repository public, I went through a list of checkpoints that every project should complete to be considered trustful and worth the time to invest:

And honestly? Only the README and demo site actually provide value, the other files were generated from tools and were simply there for the project to be more pretty. But following these guidelines actually helped the project getting some traction and love on GitHub.

Acquisition

To transition the project from beta I needed real users. My market is self-hosting so I went to sub reddit’s like /r/selfhosted and /r/SideProject to acquire my first users, and oh boy did I acquire them.

pro-tip: most people on /r/SideProject are actually bots and they are just there to pump a new random AI tool.

People actually enjoyed the idea and UI, so they started spreading the word. Then lightning struck when a self-hosting newsletter shared the tool on one of their posts. The GitHub repo skyrocketed to 100 stars. I started getting e-mails from content creators in the self-hosting community saying they enjoyed the tool. The cherry on top of the cake? Getting e-mails from real users to get support on their environment. Suddenly, I was helping people all around the world, not only on their home servers but on enterprise servers as well.

Downfall

But with great projects comes… great responsibilities. While providing direct support to people is one of the most valuable rewards, combining that with lack of time, support on GitHub issues, continuing development and maintaining enjoyment while working on the project is hard, really hard.

And this is where I felt like I shoot myself in the foot. I’ve built something valuable to people, decided to open-source it and now I’ve to carry the responsibilities of maintaining an open-source project. I’ve always wanted to reach this stage, and now I sort of regret it, because it’s really hard to balance maintenance with other things in life. I mean maybe I’m getting too old, but I just feel so tired after work, and I don’t feel like having to maintain an open-source project while being tired.

As you can probably tell by now, I’ve stopped development of zero-monitor. I still use it on a daily basis, and if you want to give it a try the project is still up, but I haven’t touched the codebase in months, so don’t expect my support soon.