← Home ← Code

Open-source contributions

As part of my attempt to get more personal satisfaction by doing smaller tasks, I've been diving into more open-source projects and contributing little bits here and there. I already did some open-source work before deciding to shrink the scope of my evening projects, but I've significantly lowered the bar for me to start looking into something that I'd like out of other people's projects or packages. And I'm enjoying it quite a bit, but there are also parts that I don't quite like.

When I contribute

Generally speaking, I contribute when I have an issue with a certain tool or package. I open issues not just to notify the maintainer of an issue, but also so that I have it logged for myself to look at later. I personally think that project maintainers have no obligation to fix any bugs. After all, the fact that they're providing the code they spent their own time of effort on for free is nice enough. So if I have an issue, I don't expect them to fix it. I will, because I value the project, and I believe in the power of communities.

I highly encourage others to have the same attitude towards open-source contributions. If you can fix something in a tool you use, do it! In a way, I view it as a way of paying for the maintainer's work. Not in terms of money, but by donating a bit of time and effort to the project as well. It's a thank you of sorts.

Maintainers

One of the biggest bummers is unresponsive maintainers. I don't make the contributions for validation or acknowledgement, but still I find it somewhat frustrating to have pull requests open for weeks on end with no activity whatsoever. The contributions are just sitting there, gathering the pull-request equivalent of dust: merge conflicts.

In one instance about a month ago, I opened an issue with a suggestion, and the maintainer responded within an hour agreeing that it was a good feature to add. Great! I was excited to get going, and had high hopes for getting merged into main soon enough. So, before the end of the day, I had the pull request open. Well, I should say have the pull request open. It still is. Nearly a month later. The pull request doesn't have any comments or other activity; it's just sitting there. And it's not a big change, either.

Now, I don't mean to badmouth the maintainer. I know, we all have stuff to do. And I respect their time, and acknowledge that they have absolutely zero obligation to respond to or accept contributions. However, even if we ignore the fact that they greenlit the feature, they've merged a fair amount of their own commits to the same repository since; it certainly doesn't look like they don't have time to look at my contribution. In the end, I almost feel a little like my contribution is unwelcome.

On the other hand, in some other repositories, things are swift and responsive. Just the other day, I opened an issue and pull request, and the maintainer (a different one than the previously mentioned one) responded and merged my contributions within a day. And in some other repositories, I have similar experiences. Sometimes it takes a few days, and I fully understand that. Weeks, though, and it starts feeling like the maintainers aren't even interested.

Perhaps, though, I should be more selective with the projects I choose to contribute to. Some developers might not actually want contributions. And that's okay! It's just, I'm having a hard time telling them apart.