11 ways to fit into a free software project
Off the Beat: Bruce Byfield's Blog
Many technical writers believe that all they need are writing skills. Consequently, my contracts usually began with a period of proving to developers that I could handle the technical details as well. Talking about Linux worked wonders, but it could still be an uphill battle. Later, I found journalism required much the same process of overcoming a closed community's reaction to an outsider long enough to gain useful information.
With these experience, I was surprised the other week to come across several complaints that the free software community was hostile to outsiders. I had never found it particularly so -- but then, I've always approached it as someone worth placating, either to justify spending money on my consulting fees or else in the hopes that I would give a favorable write-up.
Others, of course, don't have those advantages. In fact, free software has systemic bias that can make becoming active in a project unnecessarily difficult, such as those against women and non-coders.
All the same, based on my experience and that of veteran contributors, I believe that outsiders have a better chance of being accepted by a project if they follow a few simple practices in the early days of their involvement.
I have summarized them here in no particular order:
11. Introduce yourself: Don't just suddenly start participating. Let people know who you are and what you do. Welcoming you should give others a reason to start up conversations with you.
10. Learn how the project communicates: Each project has different ways of communicating. For some, it is a chat channel, for others a specific mailing list. Whatever it is, you need immediate access to wherever discussions are held and decisions are made.
9. Establish yourself as competent as soon as possible: The myth of meritocracy may be inconsistently applied, but, generally speaking, the sooner you demonstrate that you have areas of expertise, the sooner you will be accepted. Try to find a few small tasks you can do quickly to demonstrate your expertise.
8. Don't over-promise: While you may be eager to prove yourself, don't take on more than you manage. You need to show that you can do what you promised in the time you said you would. A newcomer who makes too many excuses is less likely to be accepted or trusted.
7. Where you aren't an expert, ask questions: Although the free software values expertise, the next best thing is a willingness to learn. Besides, few people can resist explaining their work, especially when they take pride in it, and most will view questions as an acknowledgement of their expertise. Just remember not to pester or gush.
6.Ask for feedback: Your contributions will probably get feedback without any need to ask. But don't hesitate to ask for feedback in ordinary discussion. A simple change of wording from "Let's ..." to "Is there any reason why we can't ..." may be all that you need to do -- and tends to keep discussion civil as well.
5. Find and cultivate allies: The chances are, you aren't the only one in the project with your interests. Learn who has similar interests, and ask them what is being done in those areas. You will probably spend a lot of time working with them anyway, so this shouldn't be difficult.
4.Observe more than you speak (or chat or email): Aside from asking questions, think twice before jumping into conversations. A reputation for pushiness won't help you, and you don't want to embarrass yourself with assertions that are wrong.
3. Be patient about advocating changes: Even if you are confident that you have a better way of doing things, don't be in a hurry to propose them. Suggestions from a newcomer are unlikely to be well-received, no matter how brilliant they are. Besides, once you've been around for a while, you might discover that there are reasons for how things are done that you haven't considered.
2. Get to know the leaders: The official leaders may be listed on a web page. But pay attention to the unofficial leaders, too -- the retired leaders, the ones who have carved out their own niches, and the veterans who know more than most members of the project have forgotten. Often, the unofficial leaders may be given more respect than the elected or appointed ones. Both types of leaders may also be willing to give you advice; in my experience, the senior members of a community are far less likely to give newcomers a hard time than the less experienced ones -- perhaps because they have less to prove.
1. Consider finding a mentor: Even if a project doesn't have a formal mentoring system, you should be able to find some veteran who can informally help give you advice and tell you the unwritten rules. Your success will reflect on your mentor, so you'll have at least one person with a stake in helping you succeed.
Learning the social side
You may think that acceptance in a project is simply a matter of submitting good patches. However, in most projects, the social aspects can be as important as your work. How you conduct yourself and who supports you sometimes matters as much as much as merit, even if many people believe otherwise. Being obsequious will work against you, but, the social aspects are inevitable, so you might as well make sure that they are working for you rather than against you.
The good news is that these suggestions work in other situations, too -- most notably when you start a new job, but also in any situation where you are a lone outsider joining a group.
Of course, you may still have to struggle against systemic biases. However, by following these suggestions, you can at least have some confidence that any difficulties you have are not due to anything that you're doing or not doing.
comments powered by DisqusSubscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
First Release Candidate for Linux Kernel 6.14 Now Available
Linus Torvalds has officially released the first release candidate for kernel 6.14 and it includes over 500,000 lines of modified code, making for a small release.
-
System76 Refreshes Meerkat Mini PC
If you're looking for a small form factor PC powered by Linux, System76 has exactly what you need in the Meerkat mini PC.
-
Gnome 48 Alpha Ready for Testing
The latest Gnome desktop alpha is now available with plenty of new features and improvements.
-
Wine 10 Includes Plenty to Excite Users
With its latest release, Wine has the usual crop of bug fixes and improvements, along with some exciting new features.
-
Linux Kernel 6.13 Offers Improvements for AMD/Apple Users
The latest Linux kernel is now available, and it includes plenty of improvements, especially for those who use AMD or Apple-based systems.
-
Gnome 48 Debuts New Audio Player
To date, the audio player found within the Gnome desktop has been meh at best, but with the upcoming release that all changes.
-
Plasma 6.3 Ready for Public Beta Testing
Plasma 6.3 will ship with KDE Gear 24.12.1 and KDE Frameworks 6.10, along with some new and exciting features.
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.