Critical mass for project sustainability
November 7, 2023 2:59 PM Subscribe
I'm sure a bunch of us have seen the XKCD "dependency" cartoon. I'm wondering if there is a rule of thumb for the minimum critical mass to keep a project (open-source software or anything else) afloat if one super-committed contributor stops contributing.
Apropos of last Sunday, the Time Zone Database, which powers every time zone calculation everywhere, is basically maintained by two guys in their spare time. It doesn't require a lot of work, most of the time, but it has a long and storied history.
posted by SPrintF at 6:37 PM on November 7, 2023 [9 favorites]
posted by SPrintF at 6:37 PM on November 7, 2023 [9 favorites]
I presume you are asking about all-volunteer projects -- please do clarify if you're also interested in talking about projects where some people are getting paid, since I think those have somewhat different dynamics.
My experience here is primarily in open source software projects, monthly or annual events, and magazines/group blogs.
I think it depends on what "keep the project afloat" means. Off the top of my head, a few reasons why things "sink":
posted by brainwane at 8:07 PM on November 7, 2023 [3 favorites]
My experience here is primarily in open source software projects, monthly or annual events, and magazines/group blogs.
I think it depends on what "keep the project afloat" means. Off the top of my head, a few reasons why things "sink":
- All categories: the domain name or some other platform/service subscription expires and no current organizers have access to renew it.
- Events: No one schedules the next meeting; the super-dedicated organizer was the one who had the contact with the venue the group usually uses; a big change (such as COVID) means the event needs to massively change format, and the volunteer group doesn't have the energy to do that.
- Magazines/blogs: No one recruits new writers or articles; editors don't make/have time to edit backlogged submissions and publish them; spam goes amok.
- Open source software: No one publishes new releases; no one responds to security vulnerabilities or showstopper bug reports; no one updates dependencies when they break, or relatedly, no one helps users understand how the project will respond to major changes in other parts of the toolchain.
posted by brainwane at 8:07 PM on November 7, 2023 [3 favorites]
This is highly variable. If you're talking about something like an open source project it would depend on:
- How difficult the project is going to be for others to understand the code base.
- Whether the primary maintainer made it easy or hard or somewhere in between. Are they doing their work in the open or just throwing out source code and binaries occasionally? Do they have a process around building and testing that only they understand?
- Whether the primary maintainer passes it off willingly along with its infrastructure or not.
- Can moderately committed people find the time long-term to keep things running?
A few rules of thumb: The Apache Software Foundation requires any project to have at least 3 active Project Management Committee (PMC) members to sustain a project. These are the folks who are "responsible" for the project and can vote on releases -- and presumably also spend some time working on the project (this isn't always true - some projects have PMC members who have contributed and drift away but show up often enough to count as "active").
Fewer than 3 means that the ASF retires the project and puts it in the "attic" -- so one answer might be "at least 3."
If a project is mature, it can be propelled along by "lesser" contributors.
I suspect we'll find out in the next year or so, for example, whether the Vim project will survive now that its creator and primary maintainer has passed.
Other projects I've enjoyed and used have usually failed shortly after a super-committed contributor stopped working on them, even if briefly passed to new maintainers. There was a KDE project called basKet I enjoyed that basically died when its maintainer lost interest/time. The Banshee media player didn't survive long after its primary maintainers weren't paid to work on it - and it had strong adoption ("critical mass").
posted by jzb at 7:17 AM on November 8, 2023 [1 favorite]
- How difficult the project is going to be for others to understand the code base.
- Whether the primary maintainer made it easy or hard or somewhere in between. Are they doing their work in the open or just throwing out source code and binaries occasionally? Do they have a process around building and testing that only they understand?
- Whether the primary maintainer passes it off willingly along with its infrastructure or not.
- Can moderately committed people find the time long-term to keep things running?
A few rules of thumb: The Apache Software Foundation requires any project to have at least 3 active Project Management Committee (PMC) members to sustain a project. These are the folks who are "responsible" for the project and can vote on releases -- and presumably also spend some time working on the project (this isn't always true - some projects have PMC members who have contributed and drift away but show up often enough to count as "active").
Fewer than 3 means that the ASF retires the project and puts it in the "attic" -- so one answer might be "at least 3."
If a project is mature, it can be propelled along by "lesser" contributors.
I suspect we'll find out in the next year or so, for example, whether the Vim project will survive now that its creator and primary maintainer has passed.
Other projects I've enjoyed and used have usually failed shortly after a super-committed contributor stopped working on them, even if briefly passed to new maintainers. There was a KDE project called basKet I enjoyed that basically died when its maintainer lost interest/time. The Banshee media player didn't survive long after its primary maintainers weren't paid to work on it - and it had strong adoption ("critical mass").
posted by jzb at 7:17 AM on November 8, 2023 [1 favorite]
Response by poster: I am talking about an all-volunteer project: I just got home from a conference, and a bunch of people are fired up about implementing some kind of document-sharing thing. It probably won't involve writing new code (there's plenty of options out there, although some of these people might want to write something new Just Because), but probably would require ongoing "gardening" to keep it useful.
On the one hand, I'm a concerned that the initial enthusiasm will fade. On the other, I don't want to throw cold water on a good idea.
posted by adamrice at 7:28 AM on November 8, 2023 [1 favorite]
On the one hand, I'm a concerned that the initial enthusiasm will fade. On the other, I don't want to throw cold water on a good idea.
posted by adamrice at 7:28 AM on November 8, 2023 [1 favorite]
You are not logged in, either login or create an account to post comments
Life happened, and the super contributor was no longer able to continue. Unfortunately, by that time the consulting business had fallen on hard times and the understudy had moved on to another job. That person wanted to pick up the baton and keep the software alive, but they simply didn't have the time.
Half a dozen community members -- all highly skilled programmers -- tried to keep the software alive, but it didn't work out. They didn't have the right skill set, and weren't able even to really get started. It's still possible the understudy will come to the work when they have some time. But in the mean time, the software is unmaintained.
posted by Winnie the Proust at 4:29 PM on November 7, 2023 [1 favorite]