#26 Adding collaboration.adoc
Opened a year ago by x3mboy. Modified a year ago

file modified
+230 -12

@@ -1,21 +1,239 @@

- Collaboration in Fedora

- =======================

+ = Collaboration in Fedora


- … or, how we formalize working together

- ---------------------------------------

+ 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 Fedora Project itself is made up of many different sub-projects which come together to make the Fedora Project what it is.

+ These subprojects share their resources and are a part of a unified community.


- [NOTE]

- ====

+ There are also many other groups working on Fedora.

+ Sometimes, these are ad hoc teams of people working together towards a goal with no formalized infrastructure.

+ Other groups may form.

+ Over time, a SIG which meets criteria for organization, impact, alignment with the Fedora mission, etc., may be formalized as a Subproject by the Council.


- This page is a placeholder. You can help make this document more useful by

- submitting changes via pull request at https://pagure.io/Fedora-Council/council-docs

+ [things-to-know-before-you-join]

+ == 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".


- ====

+ [time-commitment]

+ == Time commitment


+ 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.


- Working Groups, Subprojects, Teams, SIGs, Committees, and Councils.... what's all this?

- ---------------------------------------------------------------------------------------

+ [get-permission-from-work-and-family]

+ == 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]

+ == 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]

+ == 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]

+ == 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.


+ [dont-jump-into-the-deep-end]

+ == Don't jump into the deep end


+ When picking something to work on, don't be the sole person to take on a huge task as your first contribution.

+ Picking a task that's too large significantly raises the chances of failure.

+ Also don't pick several things on several teams to work on.

+ Start small, picking at most one or two things, and grow from there.

+ The key is slow, steady, and sustainable growth.

+ Don't join with the immediate goal of becoming the next leader of the project.

+ Start small.


+ [first-contact]

+ == First contact


+ After you've decided what you're looking to do and what team you are looking to do it with, it's time to send an introduction to the list.

+ When sending an introduction (usually by mail list), include the following information:


+ * Name

+ * Time Zone / Country

+ * Basic skills and experiences

+ * Why you're joining

+ * What you're looking to do (be specific)

+ * How much time you can contribute (usually hours per week)


+ If any of the above questions are not clearly answered, don't send the email yet.

+ You're not ready.

+ Remember, be specific about what type of work you're looking to do.

+ Saying "Whatever needs to get done" isn't helping anyone.

+ Saying "I'd like to help document system A," "I'd like to translate software for my native language," or "I noticed this webapp is particularly slow sometimes and I'd like to help fix that" is perfect.


+ [find-a-mentor-or-sponsor]

+ == Find a mentor or sponsor


+ This step is both incredibly difficult and important.

+ Finding a proper sponsor will increase your chances of being a successful contributor significantly.

+ Sometimes it's absolutely required.

+ A sponsor will help with training, introductions and teaching new contributors how a team works.


+ Most teams have mailing lists.

+ Email the list, say you're looking for a sponsor, and explain what you are wanting to do.

+ If you haven't heard back in a few days, reply saying that you are still looking. 

+ _Keep doing this._

+ Most sponsors are people that have been in the project for a long time, and are often very busy.


+ They don't mean to be rude and don't want to send the impression they don't want new contributors.

+ It's just that at the moment, some people will assume other people will take care of you and so for the moment, no one does.

+ This is a common problem -- in real life as well as in online communities -- and a difficult one to fix.

+ But sticking to it and continuing to ask for help without being annoying will show that you are serious and ready to contribute.

+ Don't send this kind of message more than once every couple of days, but be positive, and persistent if needed.


+ [contributing]

+ == Contributing


+ Once you've got something to work on, it's time to actually do work.

+ The first several tasks you will work on will likely be small or maybe mundane.

+ Do them consistently, conscientiously and well. This will raise the level of trust you have from the other team members.


+ As with other volunteer organizations, there are high turnover rates in the free software universe.

+ Training volunteers is time consuming, especially for more complex tasks, and requires a commitment from currently busy volunteers.

+ Spending days or weeks training someone only for them to vanish can be disheartening for mentors and sponsors.

+ By giving out small tasks that have been hanging around, a sponsor can help you take small but vital steps, and learn whether or not the work you're going to be doing is really for you.


+ [look-for-work]

+ == Look for work


+ If you have access to a repository, system, or content, consider yourself a partial owner.

+ This doesn't mean you should immediately re-design everything.

+ Remember that other owners have time and effort invested in the current material as well.

+ It does mean, though, that you should take pride in the work you are doing.

+ If you see something not quite right, do research on it and notify the list.

+ Seek work out, keep yourself busy and help others.

+ Here are some sub-projects and teams to look at:


+ [fedora-join]

+ === Fedora Join


+ The https://fedoraproject.org/wiki/SIGs/Join[Fedora Join] SIG aims to maintain channels in prospective contributors to engage with the community.

+ They purpose is to redirect new contributors to the proper channel.

+ Their main tool is https://whatcanidoforfedora.org[WCIFF].


+ [fedora-ambassadors]

+ === Fedora Ambassadors


+ The https://fedoraproject.org/wiki/Ambassadors[Fedora Ambassadors project] furthers the goals of Fedora Marketing through grass-roots efforts and event coordination.


+ [fedora-commops]

+ === Fedora CommOps


+ The https://docs.fedoraproject.org/fedora-project/subprojects/mindshare/docs/contribute/join.html[Fedora Community Operations] (CommOps) team works to bring the project closer together as a single project by providing support for community infrastructure and connecting contributors to resources.

+ The primary goal of CommOps is to increase communication across the Fedora Project as a whole.


+ [fedora-design]

+ === Fedora Design


+ https://fedoraproject.org/wiki/Design[Fedora Design] (formerly known as the Artwork Team) is responsible for enhancing the look and feel of the Fedora Project through graphics and sound.


+ [fedora-documentation]

+ === Fedora Documentation


+ https://fedoraproject.org/wiki/Docs_Project[Fedora Documentation] (often referred to as the Docs Project) provides documents and reference materials to assist users of Fedora Project releases.


+ [fedora-infrastructure]

+ === Fedora Infrastructure


+ https://fedoraproject.org/wiki/Infrastructure[Fedora Infrastructure] provides and maintains many of the critical technologies that keep the Fedora Project running.


+ [fedora-magazine]

+ === Fedora Magazine


+ The https://fedoramagazine.org/[Fedora Magazine] is our new spot where you can read up on Fedora events, Fedora board meeting notes, updates within the Fedora project and Fedora itself.


+ [fedora-marketing]

+ === Fedora Marketing


+ https://fedoraproject.org/wiki/Marketing[Fedora Marketing] aims to expand both the user base and contributor base of the Fedora Project.


+ [fedora-sigs]

+ === Fedora SIGs


+ https://fedoraproject.org/wiki/Category:SIGs[Fedora Special Interest Groups] (SIGs) are other efforts within the Fedora Project that don't meet the project definition.


+ [fedora-websites]

+ === Fedora Websites


+ The https://fedoraproject.org/wiki/Websites[Fedora Websites] project, an initiative under Fedora Infrastructure, aims to develop and maintain the Fedora Project formal websites and to coordinate with community websites.


+ [quitting]

+ == Quitting


+ If you've found you've over-committed or decide volunteering isn't for you, that's OK.

+ You don't need to be embarrassed that you can't contribute further.

+ Contributors will not make you feel bad about it either.

+ Realize that lots of contributors come and go every day.

+ Being busy with your day job or not having enough free time is a perfectly valid reason for not being able to contribute.

+ It's even possible that you might not feel a good fit with the team or organization.

+ You're entitled to offer help as a volunteer how you want and when you want.


+ First and foremost, though, don't just vanish.

+ When a contributor or potential contributor agrees to do work, can't follow through for a valid reason, and vanishes, the team may not know the work can be reassigned.

+ In some cases, people in the team may even worry about the contributor's health or well being.


+ When you've decided it's time for you to go or take a break, let your sponsor or the list know and let them know what you were working on.

+ Having people think you are working on something when you aren't slows the team down, and ultimately doesn't benefit you or the team.


- TODO: explain! 

\ No newline at end of file

@mattdm can you check this document?

Metadata Update from @bex:
- Request assigned

a year ago

I think this is a good start. Since it's coming from the wiki, it may not be perfect, but I think we should go ahead and get this built into the docs.

Part of also wonders if council-docs is the best home for this, but I guess we don't have much of a choice until we're unblocked by Antorra.

@mattdm @bex @amsharma @ausil @jwboyer @robyduck @langdon @jkurik @till or any other Council member, can anyone take a look at this for review or go ahead and get this merged?

This looks good to me, but council documentation should have this?
Also the list of fedora groups/teams is not complete, may be we can add more later. We can also include a link to our CoC?

I totally missed this -- sorry. Can you refresh so it doesn't conflict? Sorry again!