Open Source developers only: how much time per month do you budget to maintain a one-developer project?
@evan Budget is a strong word. I maintain a number of things as time and interest permit. I would average a couple of hours a day working on something
@evan I am trying to understand the poll. Is it asking how much time do I think an one-developer project should take up of my time as an open/free source developer? Or how much time I spend a month on an one-developer project? I answered the later as I really only contribute to one project (a non-one developer project) and that in itself takes most of my time spent working. Now I do contribute directly and indirectly to many other projects including one-developer projects but usually in terms of bug reports when I see issues with the code which shows up in newer versions of GCC.
Feels like this depends a lot on the project - how widely used is it, what life phase is it in (growth, maintainence mode, etc). If I personally am working on a one developer project it's probably just for me/for fun so I budget as many hours as is enjoyable. But other folks are able to solo maintain stuff other people actually want to use 😂
It seems that I can only see the results if I vote.
I want to see the results, but I am not (yet) and Open Source Developer 🤔
Thank you all so much for the replies.
This is a repost of a previous poll I'd made, which really didn't resonate. I asked, How many hours per month should an unpaid Open Source maintainer dedicate to a project?
Although as a maintainer, I felt it was an equivalent question, a *lot* of people got upset that anyone would say what a developer "should" do, especially if they are unpaid.
@evan It largely depends on how popular the project is vs how steep the learning curve is to contribute.
If the learning curve is flat and the project popular enough, it will quickly no longer be a one-developer project.
If the learning curve is steep and the project popular, the time investment needed for the one developer will be significantly larger if they want to keep their users happy. Then again, they may have just build it for themselves and not care about other users 🤷♀️
@jrf_nl sometimes, you provide more value by averaging or estimating 100 words of text into a single number.
@jrf_nl "sometimes, you provide more value by averaging or estimating 100 words of text into a single number."
I found this response really disrespectful. Doing this job well really does require nonzero work, even to keep a project in the same state with the same functionality.
Our programming languages and dependencies and platforms keep changing even if our code doesn't, and we have to adapt or fall behind.
@evan I saw (and voted in) this poll and not the original. But for me, the two phrasings have very different implications. "Should" immediately raises the questions
1. In order to achieve what?
2. According to whom?
And carries with it a much greater sense of obligation
This one just asks about a lived experience
It is possible to leave a package unmaintained. I have dozens of projects on GitHub and Gitlab and Sourceforge (maybe...?) that I haven't touched in years, sometimes decades. There's no shame in that -- especially not in prioritising other things in your life.
Anyways, down to my answer. This is based on my 30 years of making and sharing Open Source software. I am open to lectures from nonpractitioners but please recognise that I speak from experience.
I think a project takes a few hours per month to keep running. That's testing and merging Dependabot PRs, triaging bug reports and hopefully fixing a few, checking on security updates and hopefully fixing some of those, too.
Adding functionality or improving performance or reliability takes additional time.
So, I'd budget about 8 hours per month. For me, that means I can only realistically maintain about 1-2, maaaaybe 3 projects at a time, unless I'm getting paid.
I don't think we do Open Source maintainers any favours by hiding these numbers.
It's OK for volunteers to do a job badly, or not to do the job at all. But that doesn't mean the job doesn't take real, measurable time to do well.
Knowing what that time demand is can help them prioritise relative to other parts of their life, or find other ways to get the work done, or accommodate themselves to not doing the work.
Anyway, thanks for the feedback and the replies. I hope for people who are new to the practice or are wondering how they compare to others, the results are helpful. I've definitely found the experience useful.
@stenhaastrup yes, I understand that it sounds different to you.
@paulschoe patience is a virtue!
I tell myself that almost every day.
(The Fediverse is a good example of what can be reached with patience.)
@shauna Oh, yeah, it's going to depend on a lot of things. One that I notice is the ecosystem you're in; if the language or platform or libraries you use are in a lot of churn, changing underneath your code, you have to make changes and updates just to keep it working and relevant. Running in place, so to speak. I've especially noticed this with NodeJS and Web apps using React, but I think there are other programming environments where this is the case, too.
@pinskia yeah, interesting question! I definitely meant it as, you are a single developer and you are maintaining a project solo. How much time would that take?
I think you would use this kind of estimate when you were deciding to launch a new project, say. "Can I afford to spend X hours per month on a new project?"
Or if you were applying for a grant or stipend to cover your work on the project. "I spend X hours per month on this, so at my billing rate of $Y per hour I'd need $X*Y."
@pinskia or if a friend had been offered a chance to take over as maintainer of a project. "I think it's a good opportunity, but I don't know how much of a commitment it is. How much time do *you* spend maintaining <insert name of project>?"
@pinskia in general, I'd expect a project with 4 maintainers to take about 4X hours per month from all the maintainers combined, but it usually doesn't slice evenly that way.
@pinskia oh, also: I think there is a difference in kind between being a *contributor* (especially a one-time contributor, like doing a bug report) and a *maintainer* on a project.
@evan Also when reading the question I was thinking this question has to be about a done-ish project to be anything comparable? Not someone still working excitedly on getting something working and solving the core problem?
I think many (most?) people would use all their available time to get something going and useful, and then settle into maintenance mode – maintaining compatibility with dependencies, handling incoming issues and PRs, etc – unless something specific kicks them into feature mode again for some time.
@pinskia
@notclacke @pinskia the question is "maintain"!
@timlegge I don't know if you mean calendar days or work days, but regardless, 50-60 hours per month seems really high for a single package. Is this paid or sponsored work?
@evan it's multiple things. I support a couple of dozen Perl libraries and sometimes look at some other things. I sit with my laptop most evenings doing something. It's all free work. Just something to keep me interested...