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
-
The GNU Project Celebrates Its 40th Birthday
September 27 marks the 40th anniversary of the GNU Project, and it was celebrated with a hacker meeting in Biel/Bienne, Switzerland.
-
Linux Kernel Reducing Long-Term Support
LTS support for the Linux kernel is about to undergo some serious changes that will have a considerable impact on the future.
-
Fedora 39 Beta Now Available for Testing
For fans and users of Fedora Linux, the first beta of release 39 is now available, which is a minor upgrade but does include GNOME 45.
-
Fedora Linux 40 to Drop X11 for KDE Plasma
When Fedora 40 arrives in 2024, there will be a few big changes coming, especially for the KDE Plasma option.
-
Real-Time Ubuntu Available in AWS Marketplace
Anyone looking for a Linux distribution for real-time processing could do a whole lot worse than Real-Time Ubuntu.
-
KSMBD Finally Reaches a Stable State
For those who've been looking forward to the first release of KSMBD, after two years it's no longer considered experimental.
-
Nitrux 3.0.0 Has Been Released
The latest version of Nitrux brings plenty of innovation and fresh apps to the table.
-
Linux From Scratch 12.0 Now Available
If you're looking to roll your own Linux distribution, the latest version of Linux From Scratch is now available with plenty of updates.
-
Linux Kernel 6.5 Has Been Released
The newest Linux kernel, version 6.5, now includes initial support for two very exciting features.
-
UbuntuDDE 23.04 Now Available
A new version of the UbuntuDDE remix has finally arrived with all the updates from the Deepin desktop and everything that comes with the Ubuntu 23.04 base.