Open Source Maintainers - An open letter/request
TLDR: The project is seen as mature, employers don't prioritise maintaining
things and we're struggling for maintainers and help with day to day work
Open source projects survive, not just through development work and
contributions of new features but through a whole load of "unglamorous"
day to day "admin" work. This may be tracking down a regression,
triaging failing builds, making a release of a component, reviewing a
patch, documenting something or many other activities.
I love the fact we have active contributions, particularly for new features
but we are continuing to struggle in many of the other areas above. I am
extrememly grateful for the help we do receive with these tasks!
As a project we have automated an absolute ton of things, we can test
changes in ways we could only dream of a few years ago but maintaining
this automation, tracking down regressions and ensuring it all stays working
does have a cost.
I am worried, not just about the core of the project, but the wider layer
ecosystem since "layer maintainer" isn't seen as a particularly interesting
career enabling focus by employers and it seems a lot of this work isn't being
recognised. Internal business pressures are often continually being
prioritised over this.
The YP+OE ecosystem is becoming more mature and this means we have our
experienced developers being pulled away to new things and few people
are replacing them so it feels like we're seeing a gradual skills drain/fade.
There are a few things companies can do to help:
a) Publicly acknowledge you use the project.
I'm often asked where the project is being used but I find it hard to point
at companies using it, or products developed with it. It does help to be able
to point at real users rather than theoretical scenarios. We *know* it is used
in some interesting places but many won't let us say that publicly.
b) Embrace employee's Open Source contributions, code and otherwise
If companies can find ways to recognise the value of having open source
experts/leaders working for them from a career development and reward
perspective, that would encourage people to do the important work needed
c) Consider Yocto Project membership
We're finding that some infrastructure and roles need to be centrally funded
as the work is important but no one company is willing to commit people to it.
We're only able to to this through project membership which supports things
like the autobuilder, LTS, our build triage process and my own role.
d) Support employees in spending some time on open source projects
I hear quite often that employees get XX% time to spend on open source
projects. I also hear they get pulled onto mission critical product
deliverables and can't prioritise that other project work. Finding ways
to ensure employees can spend time on open source projects including
management support would help a lot.
e) Transition roles
If someone has a key role in a project but is moving to new things, help
them find a replacement and allow them time to train/transition to that
new person. Some companies do this really well, I'd call out NI and opkg
maintainership as a particularly good exmaple.
I appreciate these are difficult times, both for individuals and for
businesses. I'd like to conclude by thanking everyone who does participate
and contribute. Whilst I do want/need to highlight the above (and have been
asked to do so that people have something they can point people at), the
project is proving to be successful, going to interesting places and making
things possible we can all be proud of!