I'm super excited that you decided to get up early and be with us this very early morning
on Sunday here at Faustum.
We want to talk with you about what maintainers actually need and we went out to ask them
because I'll tell you the punchline funding is not always the answer.
What we do know is that funding is hard.
Funding open source projects has many different challenges and we've been talking about
that in various forms for many years.
Whether it is the challenge of how companies can give to open source projects, how to do it
with the tax authorities, whether it is how projects can receive funds where to hold
the funds.
There have been many solutions already proposed and that are being built so it's starting
to get easier.
But the question becomes as we get more into actually giving funds to open source projects
is that the right thing to do or what do projects actually need.
And so for that, we went out to ask maintainers.
We did a series of interviews and asked them what are the challenges that you are facing
and what are the solutions that you can imagine that would help you.
And one of the things that we know is that funding can actually cause problems and projects
and so we really want to understand what are the other ways that projects can receive help.
And so this is where I have my core researchers, Johan and Kevin and I'll let you introduce
yourself.
I am Gail Pink, I'm an open source strategist.
I work with Peturgia on sustaining open source through metrics and co-founder of the Chaos
Project, where we define metrics and tooling for analyzing open source project health.
Hi, I'm Kevin Lumbar, I'm a computer science professor and researcher at Creighton University.
And my name is Johan and I'm a researcher as well at National Research Institute in Sweden,
as well as Lundian University.
It's me, nice, that's convenient.
So what two products would the products need money, but maybe starting from the back
so just to provide some context there is that we started investigating how can we support
sustainability and how of an open source project looked in from the maintainer perspective.
So not just asking generally, but from the maintainer perspective.
So as I first, how do we talk about open source health in lock and screen?
So we look at the products capability to stay maintained, long-term.
And we're talking about having such a maintenance level that it's still a high quality
from the user perspective and it's without interruptions ideally.
So that's how we look at open source health or how we define it.
And you can go on and define that in many ways.
We looked at literature from 107 ways and how 100 or 6 papers define health or look at health.
You can back it down more into the productivity, so like the pulse of the project,
you can talk about the robustness, how it depends on the shareholders of one individual or one company.
And also in terms of the openness in a sense, how open is it for contributions or others to go in
and have to to sustain a project.
But again, health sustainability that you can have thousand different views on that plus.
I mean, you can really break it down in a different ways.
A lot of that logic can go back to this law, this famous guy everyone knows said that given
enough eyeballs, everything will sell out.
Well, that really comes back to this that we actually need to be enough ice looking at the product
of code documentation, everything.
And enough of those ice needs to do something about what they find, like report it.
And some actually need to do something about what's found and have to maintain it, not just
don't the code, but help to maintain the code and documentation and get community
to go from so on and so forth.
So there's a lot of free writing, but some of this free writing need to convert into
help in the insisting of the project.
And so now maybe too theoretically, but this time and energy put in here, through the ice of the
many, we can compare this to some kind of callmaple reasons or something that really is
subtractible.
There's a limit on the amount of the time that is put into these projects.
And it's very difficult to exclude anyone from leveraging the benefits of this time and energy
that the people put in, double the value of it.
But if you add too much of demand for it, if you go in and just ask questions, just ask for requests
and just keep on without contributing back.
The brain time here that the people put in will be reduced.
There will be more less and less time actually put into to maintain the product in the end.
If they overhead, overhead becomes too big.
And yeah, maintainers are not robots.
I mean, they switch interest, they burn out things happen.
You get kids, you turn to tenors or whatever, get a saving boat.
Companies who refactor the code bases that they get used stock owners or whatever.
But it gets a lot of consequences in practice.
So we look at this brain time or try to define it as a labor or human activity that's invested in this project.
And that can come from two sources, either the maintainers, those overheads they're watching over the projects,
they say nights, and those coming by, maybe just saying hello, putting in a request, but also trying to
contribute like the episodic volunteers or some of those that actually stay on to be more sustainable.
So in essence, how we look at maintenance and health is, we will do needs to be a sustainable
availability and inflow of this kind of labor, I'd from the maintainer or continuous side.
And there needs to be infrastructure or some kind of support in place to help these people keep on
putting in time and resources and then energy in this. So I think that's what brings us onto
that the maintainers really need.
This answers.
Thank you. So what do maintainers actually need, right? So we, we ask maintainers with their
challenges, what challenges they faced. And we also ask maintainers to give us some ideas on
how those problems can be solved or how we can address those challenges, right?
So one of the, one of the key ideas that kept on coming up from maintainers, and this is probably
something you've all heard before, but maintainers have a lot of trouble in open source,
managing their work-life balance, right? They get a lot of social pressure and peer pressure from
their, from their projects, from their users. There's a lot of work and expectations that they have
kind of built up around their work in the open source projects. And balancing that work load and
capacity is a constant stressor for many maintainers. So that's, that's the challenge.
Maintainers did, however, feel that funding is a way of managing their time, right? Having
time as money is the saying that we've all heard before, and having funding for their project
is a way of helping them manage how much time they can spend on the project, and keeping the
project moving forward. Maintainers also identified challenges around contribution support, right?
So this is the, embracing episodic contributors, low cost contributor sport, and distributing
knowledge, right? This is onboarding. Everyone needs help with documentation, right? Mentorship.
So how do we create guide rails for our contributors when they come on to our project?
So the maintainers, we interviewed, see, this is a challenge, right? Community building, right?
So those, those community management tasks, maintainers, the maintainers that we talked about
talk to, we're very comfortable managing code, and they were less comfortable with community management,
right? Building communities, managing people, and very specifically marketing their projects.
One of the, the quotes that we saw over and over again was that, you know, we don't know how to
do marketing, and we don't want to do marketing, but we feel like we have to.
So how do we resolve those issues for maintainers, right? So these, the work needs to be done.
The first, the first thing I mentioned that work life balance part, one of the ways that maintainers
felt that that work life balance could be managed was through funding, actually, and full time
employment and part time employment was very desirable. So sponsorships, you know, also desirable,
but sponsorships kind of connect back to the, they had more work to a project, right?
We go back to marketing, right? So fundraising, marketing and fundraising are not things that
maintainers feel comfortable doing, right? So even the act of getting money causes more work for
them in this, in this situation. So anyway, I have that full time employment and part time employment,
this is something that maintainers themselves desire, but they also desire that for the contributors
working on their projects, right? Because people who are paid to work on the projects are a little
more reliable in the eyes of the main teams, right? Yes, please.
So just quickly, I mean, it wasn't always like, it had to be high pay, or it had to be high pay,
or full time or whatever, just as being of social benefits, like maintainers get sick, things happen.
I mean, having these insurances, depending on where you live in the world, those benefits doesn't
come for granted, and if you don't have the unemployed, providing those in certain parts of the world,
you are kind of screwed if you get sick or you break your leg or things happen. I mean, in many ways.
So just such a thing as social benefits, it's really, really key, just looking beyond funding
and creating these more. I mean, that is really something that can give them to relax their
shoulders a bit, that they give them a sense of security.
All right, so this is what we've heard and seen from the interviews and to summarize,
we've looked at the theoretical framing that we used, thinking of open source work that is being
done through the lens of the human infrastructure, and the labor that goes into it,
think of it from resource pool. It's not when we think of the open source
commons that the software can be shared freely and duplicating bits is easy, duplicating humans
is so far impossible. And so we really are found that looking at the people in the projects,
how do we support them is the critical thing to do here? And we want to sustain that through
the various ways that they can be supported, not just with money, but also with adding
more people that are reliably in the project that are helping with the buck
charging, with the marketing and all the other things. The goal here is also for the
maintainers to focus on the things that they love to do and are really good at doing and
providing support in the other areas that the project needs to be sustainable and to thrive.
And so the maintainers have told us many things that there are ways to support
through non-code contributions, through helping with the management of the project through other
means. And when we talk specifically about funding, the project needs to be ready to receive funding.
There needs to be work done on the project side to receive funds to manage funds.
If we just give money to a project, it can cause a rift in the contributor community
over how to distribute funds, who gets funds, is it spent fairly? Maybe projects don't get enough
to do anything meaningful with it, maybe the projects are just, there's so many things that
can go wrong. So please, as we think about funding on those projects, there's no one solution
fits all. On a project by project basis, it's really good idea to ask the maintainers.
Are you ready? What do you need? How much do you need? How can we support you and so on?
If you want to go into more detail than the overview we share with you, you are welcome to
look at our full paper. It is open access and published. I'll leave this up for a second.
And in there, we have split this out into different pillars that are supporting that human
infrastructure of open source projects. So in each of those pillars that Kevin specifically
talked about on the findings, there's a lot of good insights there. We also want to thank everyone
that supported the project, the maintainers that spoke to us, the organizations that we work for,
we are all part of the CARES community. I invite you to join the CARES communities.
As far as you're interested in the health and sustainability of open source projects, it's a
really fantastic community to talk about all things related to the health of communities and
sustaining them and metrics. With that, I believe we still have 13 minutes for conversation
with you all and we're happy to take questions.
I saw the first hand gop back there.
Yeah, so this area that you're talking about kind of almost like this meta support structure
over the actual project is an area I'm super interested in.
Why, and so I'm part of the vividly foundation of this segment that we're talking about
we're finding it hard to get funding for that because a lot of the funding is about
very outcome based or it's like they go build a thing that does this. It's hard to find funding
to say hey we want to go hire engineering managers to go do stuff and we don't know what the stuff
is. How, how do you, what's your advice?
Can you repeat the question for the further recording of the year?
So how, how should we invest or could you bid?
I'm basically saying how, how can you go find funding when there's not a outcome
like a direct like hard software out and it's more than meta, we want to supply
or engineering management or project management to projects that weren't yet defined.
So maybe you can sum it up.
Yeah, so the question was first a comment that there is an experience of challenging
to get funding to support the background work of a project's infrastructure of the things
that need to happen in the background where it's easier to find funding for specific outcome
oriented work where a developer is going to add this feature to a project but just hiring
engineer to do the security on the background or whatever, that is harder to find funding for.
And I think it's also going back to asking the maintainers what they need.
So really what we saw is that a lot of things come down to the human human level,
the personal level of the maintainer, how what do we need to create like a sustainable
everyday life for you, how does your everyday look when do you spend your hours on this
what pulls you in other directions and during this, these hours that you put in maybe at night
or in the 10% free time you get to work, how many what do you spend your time at,
is it answering questions or reviewing pull requests rather than doing the security
background that you should be working on. So that really comes down to that and
look asking like okay but so maybe it's not just a lot of the expected or a lot of preconceptions
are we but you start contributing to a project but contributing code that's often just about
dumping just in quotation marks but after about dumping code which adds maintenance burden
I'll take and go that to the maintainer to maintain and maintain in the end. So one time
contributions all that they can be nice is not always the way forward so this kind of funding can
really help to like create a improved onboarding process, improve the documentation like
lower the barriers for episodic and the conversion rate helped to promote and help reduce the
overhead for the for the maintainers. So work life balance, health maintainers reduce
over maintainer overhead in terms of supporting contributors and so on that thing that's
really one way to start and then we can start it then we can talk about sustainable funding
sponsorships, personal sponsorships that's typically seen as coffee money or support of appreciation
but not typically like something they can sustain or that doesn't necessarily provide a
mover better work like balance. Then if foundation would give them provide a
misocial benefits like a sick leave or some kind of insurance for if things happen I think that
that would be way more helpful than not a lot of other typical ways of contributing.
I think I would just add as well that I think we need to when we talk about funding the project
we really need to talk about we really need to frame that as funding the people that are working on
projects right so we're not funding the software artifact we're not funding the software we're
funding the people and supporting the people that are building and maintaining that software and I think
that's probably the maybe the simple to answer to your question is we frame it around supporting
the people and that's how you justify hiring a community manager or an accountant or
someone to do onboarding or documentation work kind of project and that's that's all very important.
Question in the middle?
You mentioned openness is an important aspect of the community but you did see that the maintainers
asked for that? Is that a great line spot for the maintainers so you have an audit theory so
what I understood from you is that openness was something that came up but we didn't
reflect that in our findings and see we're asking about that. I'm not quite sure
openness was part of how we kind of provided some background on what community health is
I don't think we had any questions specifically about openness?
Yeah, was it this way though? No, I'll go back back. Keep going.
Keep going.
Right here. Openness. Users of the project can influence and contribute to the development of the
open source project. In general, I think this for us this was more of a context slide just
describing open source in general with openness being core component.
I mean, this does come back to that there are possibility to contribute to the project
and help support it, help increase the maintenance but these are really very high-level perspectives
on how we can look at sustainability and an helpful project but then with that they need to be
capabilities within the projects of the maintainers to manage what comes in
and that the contributors need to have the support in doing sustainable contributions
again in a sustainable way for them but especially for the maintainers to spend their time
dedicated to these projects. So it's really, it's a balance here.
All right, back here.
So I suspect that people in work on research software or people in academia would answer
somewhat differently than the responses you've given and so I was curious if I kind of
software and those kind of maintainers were part of your pool and if they in any case, if you saw any
any kind of groupings in your responses or if everything's in the early moment you need.
So what I heard the question was about the scientific software and the academic context that
the answers would have been different from those maintainers than what we've presented
and whether we have included the maintainers from those kind of projects in our sample and
no, we did not. I don't think we have any researchers or scientific software or maintainers.
Just one to add. So in that context it is, I know from other papers where I'm talking to
researchers doing scientific software. There is a lot of challenges in creating
sustainable pools or programs maybe of research projects that can contribute back and it's also
this balance in doing teaching or doing your papers and everything. So I mean, software maintenance
or resource maintenance that also becomes something they do not necessarily always on daytime.
So in a sense, it's also something that they put in the same energy, days and nights or
Saturdays and Sundays. So they also need the social sustainability work like balance is also.
I think we can talk about these findings also in that context in that sense.
I think I saw two more hands and I think they have enough time of the keep it short. Yes.
It's important to get on marketing, but it's more like outreach. So we have a product that's
very mature and they're not a lot of places, but we're two and came here to tell you
going how to reach the people that we want to reach. For example, we think this continues,
but it's just agencies, but the EU, the UN, and so on. But the last way to get into a room with a
person, and it's paying me five minutes, this is what we do, this is why it's good for you.
How about come up with a kind of bootstrapic problem? So the question was about
project with two maintainers, where you see that different organizations,
agencies could really benefit from the project. The challenge is around marketing or outreach
and making sure that those people that need to know, get to know and getting in front of them
to explain for five minutes what it is and whether in our research, we've come across similar
stories of we just need help getting in front of the right people. Definitely, definitely, I think
that was a reoccurring theme that we saw a lot, specifically with marketing and fundraising. It's
just the maintainers we talked to did not feel confident in being able to do that work themselves,
and that was that's one area that they would really love to have more support on.
I mean, that's going back to a more general thing is that they came into this, they started
developing because that's what they loved doing outreach or standing like publicly speaking
and especially like this comes back to funding like asking for sponsorship, asking someone to pay
me or please come and contribute to my project. That's really, they feel like that's
we have some quotes like they are afraid of doing that because they are afraid to lose
respect in their community, like you're supposed to, the norm is that you're supposed to just
go and spend just do it, don't complain. I mean, this kind of norm, so
let me tell you so much, I know we talked today where they were afraid of like getting
lash back in this thing, so it's both about asking for money asking for support,
but also promoting their products. Do we have time for last question? Okay, got it.
The question was in our research and talking with maintainers if you've come across best practices
for how maintainers can let funders and others know what they actually need.
They don't, they don't know and that's what they need help with. There's so really it's
we from the outside quote quote we should be asking them, then them coming and asking us
to really like we're here, we're listening because they don't know who's out there.
People come up, people go and they see people turning up, but we need to ask and let to let the
know that we are.