English Portuguese (Brazil)
How to be a successful contributor
Audience for this document
This document is targeted at people interested in contributing to the Fedora Project. In the Fedora Project, students, professionals and hobbyists all come together to produce software, marketing materials, art, documentation, etc. We all started as new volunteers at some point. The items below are designed to help you through the process of joining a team. It helps you know what we expect of you and what you can expect of us.
Things to know before you join
So you think that you would enjoy being a successful contributor to Fedora. Great!! You are most welcome. Here are some thoughts to consider. Everyone who joins a free software project does so with the best intentions of staying. A few stay to become regular contributors, and fewer still become leaders within the project, and others lose interest. The biggest difference between those that stay and those that leave is "commitment and time".
A commitment requires reserving some time. If you strongly believe you will enjoy what you are doing, consider your dedication of time. Time commitment is as little as 4 hours per week. Some volunteers may spend 15-30 hours per week contributing. Doing that level of commitment while holding down a proper day job is a difficult time management skill. As a volunteer, you should ask yourself whether you can devote 2-4 hours per week, even though it's less than an hour per day. Four hours a week for most people is an entire afternoon one day. That's a significant chunk of time.
Get permission from work and family
Volunteering has great rewards in many ways. The two most prominent ones are your success at introducing a person to Fedora, another is your own ego. A third benefit is with your job.
There is a mutually beneficial relationship between working for a living and volunteering. Many contributors will find their skill sets at work increase dramatically just by having access to and learning from another environment. This volunteering benefits employer and worker. It is completely worthwhile to sit down with your employer and ask for permission to contribute during work hours, even if it's only a couple of hours on a Friday afternoon. If you are married, make sure your family agrees to your being busy for this time commitment. Your volunteering must be a win-win-win for the company, your family and you. Explain the benefits to you, to the business, and your family. Family is the important people in your social life. (spouse, friends, parents, others).
If work says no, then you will have to volunteer in your own time. Your family may be enthusiastic to help you. Volunteering is very rewarding.
Joining
The single biggest mistake most new contributors make is showing up "just wanting to contribute." It's important to take the time to observe the team (refer to the section below) and see how their work aligns with your own skills and personality. Know that getting work to do on day one is very rare, and those who are highly skilled in a specific technology will still have to take the time to get to know an environment before access is granted.
For example, if you're a database expert it is very unlikely you'll be given access to databases (where personal info, passwords, etc are stored) within your first several weeks of volunteering. If you're looking to become an ambassador, it is unlikely you'll get marketing materials shipped to you in your first week. This may seem unfortunate, but it's necessary to keep the project members working well together. The same can be said about any major changes, like a complete redesign of a system or a new look and feel for a website. Don't get discouraged. Show up as often as you can, and get to know the team.
Observation
It is important to get to know the organization and teams you are looking to work with before you try to join them. Learn what they do and how they do it, and try to get to know the people involved. It is extremely unlikely you will be able to actually contribute from day one. In organizations with hundreds or thousands of people working together, understanding how things work is critical.
Don't be shy about asking questions and getting to know people. Plan to spend several days or even weeks attending meetings, emailing on mailing lists and hanging out on IRC before you get to do any actual work. Offer suggestions on topics being discussed, and share any experiences (good or bad) you've had that is relevant to the discussion.
Part of observing and making constructive suggestions may require withholding judgment. When making suggestions, don't assume you come with all of the answers or that the Fedora Project is ''doing it all wrong.'' There is a good chance we can improve the way we are doing things, however most of our current practices were developed over long periods of time after lengthy discussion. Your criticism may be better received once you have established yourself in the community and are perceived as understanding our culture.
Pick what you want to work on
It's your job to decide what you want to work on. Pick something that's important to you and something you have passion for. You'll see this advice repeated several times in this document: Don't just show up looking to have work assigned to you. Get to know the teams and procedures they have in place. Ask questions and really get to know what you're going to be working on _before_ trying to work on it.
Don't jump into the deep end