Love Your Maintainers

Rate this content
Bookmark

No developer is an island and no developer is perfect. This means that you cannot create anything without using components written by someone else and these components will have defects or missing features. At some point in our life we all asked for support to someone else.

But being a maintainer is not an easy task at all. Think about receiving tons of reports with partial or missing information, or being yelled by strangers for not being responsive or fast enough.

For the health of our industry we must love our maintainers more: in this talk I’ll show how to politely ask for help and how to make sure you provide all the necessary informations.

This talk has been presented at C3 Dev Festival 2024, check out the latest edition of this Tech Conference.

FAQ

Platformatic is a comprehensive automated solution for building Node API and backend. It provides solutions for API, GraphQL, and integrated servers and services.

Paolo is a Node TSC member and principal engineer at Platformatic.

Open source is a decentralized software development model that encourages open collaboration and is driven by the passion of people. It allows software to be used for commercial purposes without giving up freedom.

Open source software provides access to a diverse developer base, different cultures, backgrounds, and capabilities, which can improve software quality and reduce maintenance costs.

Start with a detailed search through issues, PRs, and code. Provide comprehensive context and over-communicate details to avoid follow-up requests from maintainers.

Avoid demanding or commanding anything from maintainers. Be kind and respectful, as maintainers are driven by passion and are not obligated to help you.

Create a minimal, isolated, public repository that reproduces the issue. Remove sensitive information and provide detailed context and steps to reproduce the problem.

Following up ensures that maintainers have all the information they need and allows you to provide feedback or additional details. It also shows that you are engaged and appreciative of their efforts.

You can help by testing new features and fixes, providing detailed feedback, and thanking maintainers for their efforts.

Kindness is crucial. Maintain a respectful and appreciative attitude towards maintainers, as they volunteer their time and effort to support the open source community.

Paolo Insogna
Paolo Insogna
19 min
15 Jun, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Open source is a decentralized software development model driven by passion, improving software quality. Kindness is crucial in the open source community to prevent burnout and maintain healthy dynamics. When asking for help, do thorough research and communicate effectively. Reporting issues should be detailed and provide relevant information. Follow-up and engagement are important in finding solutions and expressing gratitude to maintainers.
Available in Español: Ama a tus Mantenedores

1. Introduction to Open Source

Short description:

Hello, welcome to Love Your Maintainers! I am Paolo, a Node TSC member and principal engineer at Platformatic. Open source is a decentralized software development model driven by the passion of the people. It has proven to improve software quality and services. Open source allows access to a diverse developer base and different points of view, resulting in increased quality.

♪♪♪ Hello. Welcome to Love Your Maintainers. First of all, let me introduce my company, that's Platformatic, which is the best way to build your Node API and build your Node backend. We provide a comprehensive automated solution for API, GraphQL, and integrated servers and services. Check it out.

Now, the secret is in the manners. It's how you ask people how to do some stuff. Let me prove you how. First of all, I would like to introduce myself. I am Paolo. I'm a Node TSC member and also principal engineer at Platformatic. You can find all my handles down there, especially my website, which I just redesigned. So I encourage you to take a look and give me feedback, please. Okay. Now, let's move on.

What do you expect, pretend, from open source? What is the right verb to use? First of all, let's clarify what is actually open source. Open source is a decentralized software development model that encourages open collaboration and is driven, and this is the key here, by the passion of the people. Now, it is working and it is definitely working. Open source has proven to be really effective when it comes to improve software quality, services, and on some extent, the life of people.

It all started in the seventies, in the free software movement that challenged the traditional for-profit-based development as usual. The problem is that in English, as you might imagine, free means too much. It both means free as in not paid and free as in freedom. It's ambiguous. Not paid was the most understood meaning of the word. Therefore, it was changed to open source, which is a branch of the free software movement, so we get a clear understanding of what it means. Open source is a software that can be used for commercial purposes without retaining, sorry, giving up the freedom. The freedom is retained. Now, why would somebody want to go open source? Because, and allow me the quote here, you can get the best of the best of the best. You can access a developer base which is not even remotely physically close to you, and you can access different culture, backgrounds, and capability, which means different point of views. In every aspect in the human life, this has proven to be a increase in the quality.

2. Understanding the Open Source Community Dynamics

Short description:

Open source is similar to remote working, but the huge difference is that people are driven by passion, not money. Remember that maintainers don't owe you anything. Avoid demanding fixes or features in the wrong way to prevent pushing people away. It's important to remember there are real people on the other side of the screen, and even a small act of rudeness can lead to burnout. A rude message can have serious consequences, as seen in the LWJS project managed by James Sumner.

Also, you have low maintenance costs because open source software is maintained by other people for you, so you don't need an office, and if you embrace open source, you just need a version control server. Now, you don't need an office, right? This is presumable, so something, right? Does it ring a bell? Well, open source is similar to remote working, but it's not. Beware of this, and this is the key of the rest of this entire talk. The huge difference is that people in open source are driven by passion, not by money, and moreover, you are not their boss. Remember that. You are not their boss, so you cannot demand anything. You can ask, but you cannot demand. You cannot command. You cannot do any orders, but in general, everybody is nice if people are kind.

Now, remember, people in open source are driven by passion. Maintainers love, simply love that you use their software. Otherwise, they would never have open sourced it, but we need to give everybody respect. Maintainers don't owe you anything. They are giving their time, their free time, their personal time, their hobby time for free for the passion, but you're not paying them unless you sponsor them, but that's a different topic. Remember that action have consequences, like usual. If you pretend fixes, if you pretend features, or if you just demand attention in the wrong way, you will push people away, like it always happen in any other social aspect in the world. It's not just open source. This applies to everything. This is a general life lesson, if you allow me to give you a lesson.

Also, what you want to do, you want to avoid burnouts. You don't want people to simply burn out. Remember that on the other side of the screen, there are other people. There are people which, like you, have sentiment, have need, and have real-time work. They have real life, they have hobbies, they have family, they have children to take care of, and so forth. Even a single small act of rudeness can burn people out. Don't forget it. What you think might be just a small act of rudeness might be the N plus one that maintainer has seen nowadays, and people will burn out, and eventually will give up on the software. As you can see in the screenshot, I take a snapshot of the GitHub page of the LWJS project, which was managed by James Sumner, which received a nasty, nasty, nasty, and honestly, completely pointless message by a person which was able to put a huge amount of curse words and offenses and rudeness in just six lines of text. James burned out and said, you know what, I'm done. Nobody's paying for it, so therefore I'm retiring the project.