Dear listeners, thank you very much for listening to the Software Freedom Podcast.
The Software Freedom Podcast is brought to you by the Free Software Foundation Europe.
We are a charity that empowers users to control technology.
I'm Bonnie Merring and today we have a dedicated I Love Free Software Day episode.
Each year on the 14th of February we celebrate all the contributors, developers,
maintainers of free software projects. I would love if this would be a regular thing and
if you would not need a dedicated date for it. But so far we have the I Love Free Software Day
and on this day we say thank you so much for your contribution to Software Freedom.
This year on the I Love Free Software Day we highlight the extremely important work
done by countless of maintainers out there. And for this I'm very happy to talk with Lorenz's
K, one of the maintainers from the monitoring platforms. Lorenz, thank you so much for making
the time and thank you so much for joining me in the Software Freedom Podcast.
Thanks for having me. Happy to be here.
Hi you coming to the I Love Free Software Day celebration in Nürnbeck.
I sure am. Yes. Already planted in.
Very happy. Can you very very briefly summarize for me and our listeners what the monitoring
plugins are? Okay briefly might be hard because I have to add some context. So there is a family
of free software systems monitoring software. So the software which helps an administrator to
monitor the actual computers which are in a company institution or whatever.
And we started in 90s with Nagios and they had the idea of putting the actual monitoring.
So the knowledge about how things work into separate little programs which are called
monitoring plugins. So they were separate from the main program and this principle this interface
was kept by forks and follow ups and the monitoring plugins project is a collection of those
monitoring plugins which do the actual monitoring. This is I guess quite a far collection.
So there are a lot of plugins probably in it. Yes I mean the specific programs that this
collection are like maintained by the project itself and they have like 30 thing different plugins
which more or less provide like a basic system functionality test mostly.
All right how did you get involved with the monitoring plugins?
Well I started a shop at a company which provides professional services.
So I encountered the monitoring plugins there and of course at some point I discovered that back
was something I didn't like and well as you do in the good free software world to be a good citizen
you go there you complain in the issue tracker and then nothing happens then you start up with a
pool request and then nothing happens and then you start annoying the maintainers about your pool
request and then they say hey how about you become proud of the project and then you're in.
That's basically it. So you got sucked in. Yes you know you start up with the one thing and then
you already have the code open in the editor and think that that doesn't look good or maybe I would
like to have that differently and you have a second pool request then and after a few of those
somebody approaches you and says hey since you're already here do you want to be part of this?
Do you also try to serve others?
Not successfully. No it did not happen recently.
Okay should I keep fingers crossed that you get more people?
I mean why not? That would might help.
Okay. How did you then like you found us back right and you were like proposing a fix to it
and making sure that everything is updated but what keeps you motivated to continue with this?
Like is there something that you say oh I find this very interesting and I should really
keep doing that. That's I think there's not one easy answer to that.
Partially it's just it's a little bit my project now and I have some strong opinions about
things should work and how the code should look like. This is partially an aesthetic thing,
partially a functionality thing so part of my motivation now is I want to have good things
so things should be proper and well and well done. I mean if I'm correct with the
how how to do it well is another metaphor discussion but now I am okay I've scrolled through
the code and every time I think oh that doesn't look I want to change that and I want to make
better I want to have good software in a way and that keeps me motivated.
Partially it's also I mean this is software that works mostly well but if you have used it
for time you think okay why are we doing this this way? Can we not make it better?
So not only keep it up internally but also improve the functionality, improve the the interfaces
and yeah so it's yeah basically it's I want to have good software in the end and I want to make
good software and somehow this keeps me keeps me at a project still after years and after the
that one bug I found. But is there also a human connection for you?
All right that does not have to exist is it more about technical things that you want to fix?
I mean there's some human connection inside the project but like all the the other people are not
locally here so and we don't have that much communication in itself but of course I have
communication downstream so I I feel now responsible for software which is actually in use
heavily in use and is used by a lot of people so in a way I communicate the downstream if I make
less than optimal error message then people the the action monitoring somewhere works bad because people
can't think or can't recognize what I try to tell them and what what their server is not doing well.
So in a way I'm trying to communicate to users but it's maybe yeah and this is everyone but this
is important for you to keep going this kind of communication or because like with the users it's
more like you communicate to them and I guess they sometimes communicate back to you if something
doesn't work. Some definitely do and that's recently has been actually a very enjoyable
communication and actually that's also yes something that's motivating if you have somebody say hey
I'm a maintainer of a mainstream Linux distribution and this is not working for me
and there's a okay let's debug this and maybe person comes up with a fix and says oh yeah cool
you solved my problem and that's actually really really nice if somebody comes by and says oh cool
that works for me you really you solved the problem I had and that's cool. I can imagine if it's
a bit like you're describing what's behind free software when we talk about community because
this is also this interaction with each other and this exchange of ideas and all and free software
really really grows from those kind of interactions at least as my feeling.
Yes it definitely makes this more fun a lot more fun and I probably wouldn't do it for me
if it wouldn't be like that I mean let's say in a workplace you have if you have find a bug then
you have to contact support and the support has to find a developer and then as you have
play email ping pong for forever and in this project it's just so somebody opens a new issue
there and says hey this is broken and they say okay how is about this and this oh it is a problem
and now I fix it and now I have just in a very smooth and efficient way with
with no hurdles in there helped another human and that's great. Is there something that you
value a lot if there's some interaction you say oh this is how I prefer things because I guess
there is sometimes interaction that is not so nice but I also guess that there's interaction
that keeps you really motivated to be there. I'm lucky in a way that most interaction is actually
at least okay so I could imagine if you have a front end project you get a lot of people who say
that's the wrong blue yeah and at least but yes sometimes I have people I mean mostly people
who opened up the issue previously who said oh great that that really helped and yes that's
these are moments that I which I value. How many of you are in the maintenance group
like how many of them are really active because I obviously checked out the gift page
from monitoring plugins but I have mentioned on the site 153 I guess not 153 people are
actively maintaining this project as far as I know. Not really I think we are about four people
who are more or less active and also active in different parts I would say so in recent years
I have done most of the work in the C part of the project I think we have one or two loose
recurring individuals who also participate there then we have a package maintainer there
which is great because he's like a link to a major Linux distribution and the bugs come to us
and he also managed those those bugs and issues with in the project and then he puts the patches
up so there's a very good good link to the actual user base so to speak and then other people
for pro and for organization but it's very a very loose group I mean it's not like we we do a lot
there so it's a low burning project so to speak but yeah that's I would call this dead core
group in a way. You mentioned there's one from a Linux distribution that is part of this
does now brought me to a to a thread or to a line of communication that I also want to touch
upon is resources because for testing software and all of this kind you need resources to figure out
if this actually works with this project if this also works with that project and you already
mentioned monitoring plugins are widely used on various systems so it's not on a Linux based
systems they are also open the ESD freebies they want ever I'm not mentioning them all but don't
they're all they're all there and they're very important don't get it wrong that means you missed
that one on my toaster which one so you know what I mean like there are quite a lot of systems
operating systems out there all of them equally important but how do you test the software
then running for this like where do the resources come from well effectively not to be quite
honest we were we are testing at different things on a few different Linux distributions
but effectively we are not testing on ourselves on other Unixes
partially because that's a hassle to get it up on GitHub and partially because this
yeah would require resources to set up the testing to create a testing setup in itself find out
how can a compiler how can I introduce tests there and for end-to-end tests what is the appropriate
software there and so this is just something the group and I did not prioritize until now so
sadly we rely on we would say end user testing so I have recently especially we had some very good
contributions from one of the BSDs where people said oh so I said okay we're doing a release candidate
for for a new release and they said okay let's let's put this in testing on our distribution and
see what falls out and they then played the the connection between this BSD and us and that was
very cool but of course it's not ideal so to speak to test it in production but is there something
that others can do and help you with like the people with the BSD did is this something that you
as a group of wish for or is this something that would put more burden on you because then there are
no more issues and people coming to communicate with you and all of that no I would actually appreciate
that if people if there was a good way to sort of like putting up testing pipelines on different
unixes but yeah somebody if somebody would like to do that work that'd be really great
yeah but so far nobody turned up but that would actually be really helpful so if we can test
more and better before we put it in a release then we can smooth out bugs earlier and
also do would not endanger a running system out in the wild so that also would of course be
better to to make good work it's just a thing yeah to to find the time and everything for that
but if people would show up with that and say okay you you have something that improves the
quality here then I would love that that's very nice is there something that you would say
maintain us generally speaking now I know you cannot speak for everybody but from your perspective
is something that people actually need I know it's a hard question yeah it's a hard question and
of course that cannot be a single answer to that I mean that the classic is to say a real
probably financial contribution I mean a lot of infrastructure around the world is free software
I mean probably everybody knows that it's KZD comic certainly forgot the number
I will link it in the show notes thank you so an actual recognition and a free software work
on which role it plays in modern infrastructure would be great here I mean there's some
lonely initiatives I would say let's say an L-net which is great but like why is there not like
a a national software development company where say okay I'll just hire 500 people who do the
open software work in this country and they'll just support them and get them some food
because they're keeping this the infrastructure and that that would be good because yeah actually
some of our infrastructure is based on I find the time on a weekend to fix a bug there so that's
not the most reliable way to have infrastructure apart from that it gets recognition in itself would of
course be good so to have people come to you and say yeah it's great I like that thank you
occasionally that's pretty nice and I guess especially for library maintainers that does not
happen often if you're if you're the maintainer of lip foo nobody comes up to you and says hey I
last that I have that in 300 programs on my computer running currently that's great work you did
there this is a short break for our own cause thank you for listening to the software freedom
podcast working for software freedom and producing podcasts costs money please consider
supporting us with a donation on the fsfe.org slash donate and then the show notes
I mean it would be nice of course just as on a human basis yeah so to feel seen you mean yes
and so a convoyage meant into receiving to have recognition for that work but I guess the the
extra physical financial aspect should not be you should also be there absolutely I can absolutely
agree on that but to get the world up is there a project that you really like and would like to say
thank you to I thought about this for for long and then it should be because of course this is
very tricky because it's such a huge number of of projects I actually just have on my computer
so I thought what would be one that actually does not get noticed very often so and I thought
about a npd the music player demon which is a program to just play music and organize a playlist
and a music library and it has been working on my systems for 15 years and the only trouble I had
when I tried to configure the funny things and that plays music for me and it's great
oh that's very cute no thank you very much last but not least what can the community do to help you
I guess monitoring plugins and maintaining the maintenance of monitoring plugins of course
cold contributions are always welcome issues especially notices about how their things are
breaking or ideas about the improvement are welcome and although both of those create more right
so things that would help in general I mean of course if people want to contribute long time
and engage the project itself that would be great but of course a difficult thing but apart from
that I would welcome things like static analysis and like maybe coding guidelines something they can
automate which like reduces error rates my C is probably not the best C seen anywhere but so if
people can come up with something that says me oh no that blind is broken because you did something
wrong there and we can automate that or if people can actually build more test pipelines and
build more test cases or documentation which is on my to-do list but you know so all of those
things would be welcome and valued and I would be happy if people would come by and at least say
hello in the IFC chat will also be nice I'm a link to IFC chat and I show lots then I just
keep thinking about the documentation part because you know we have this program in competition for
teenagers you've actually for freedom and in it we have eight criteria for eventually for the
sure to evaluate the projects that are submitted and one of this criteria is documentation
that's very appropriate I think yeah I guess so too anyway thank you very much Lorenzce for
the time thank you so much for doing this with me and giving me a glamp and glimpse or an inside
to say this in a better way of how maintaining works and what acts actually needed there thank you
very much thank you for having me this was the software freedom podcast if you like this episode
please recommend it to your friends and rated they tune for more inspiring conversations that
explore the importance of software freedom and its impact on our digital lives I wish you all
a very pleasant I love free software day there are some events that will be running throughout
Europe so check out I love of s dot org and see if there's one happening near you and yes thank
you so much for listening this podcast is presented to you by the free software foundation europe
there are a charity that works on promoting software freedom if you like our book please consider
supporting us with a donation you find more information under fsfe.org/donate thank you
so much until the next episode bye bye