training-guides/doc/upstream-training/source/19-training-contribution-process.rst
Matjaz Pancur 9d6a6c04e8 Apply "OpenStack theme" to the Upstream training slides
Use simple "OpenStack theme" from the Training guides.

Change-Id: Id324a3bf70c83c69f9fbaab7bfad90f63a4cc047
2015-04-27 16:09:43 +02:00

182 lines
3.2 KiB
ReStructuredText

====================================
Overview of the contribution process
====================================
.. image:: ./_assets/os_background.png
:class: fill
:width: 100%
Project pulse
=============
- Code speaks : run gource
- How many contributors?
- How old is the project?
- When was the last update?
- etc.
Who's behind it?
==================
- Individuals
- Companies
- What's their incentive?
Project as social groups
=========================
- Group of friends
- Company employees
- Corporate driven
- Volunteers
Assess your approach
====================
- Verbose or terse?
- Socialize or strictly professional?
- Habits: online relationships?
- Acknowledge the language barrier
Engage immediately
==================
- Discuss with non upstream
- Get your nick/e-mail known
- Mingle
Be engaged with your network
============================
- Ask people you know, about the project
- Send e-mails to friends about your contributions
- IM friends about contributions
- Ask about their contribution experience
- Ask if they know someone with similar experiences
Smaller tasks
=============
- Sizing the task difficulty
- Splitting a task
- Seeking agreement on the split
Choosing a question
===================
- Think about the answer
- Find a solution that needs to be agreed upon
- Ask the question and propose your solution
Code of conduct
===============
- Be considerate
- Be respectful
- Be collaborative
- When we disagree, we consult others
- When we are unsure, we ask for help
- Step down considerately
- Respect the election process
Disagree
========
- Suspension of disbelief
- Accept the rules
- No flamewars
- No enemies
Understanding the conventions
=============================
- Read the policy
- Read the code/documentation guidelines
- Read the actual code and the actual documentation
- Apply them very diligently
Explain what you do
===================
- Link to the blueprint
- Link to the bug report
- What the work does
- Each choice made must have a rationale
Prepare the backport
====================
- Apply the contribution to trunk
- Think about backporting
- Twist the contribution to ease backporting
Local and upstream
==================
- Development/trunk version
- Stable version
- In house version
Good workflow
=============
.. image:: ./_assets/19-01-goodworkflow.png
Bad workflow
============
.. image:: ./_assets/19-02-badworkflow.png
Quantify the delta
==================
- Measure the delta with upstream
- Compare
- Analyze the reasons for an increased delta
Speeding the acceptance
=======================
- People skills
- Diplomacy
- Communication
- Getting attention
Timeframe
=========
- Engage daily
- Ask for attention weekly
- Try to get attention at least four times
Building karma
==============
- While waiting for input
- Fix the web site
- Fix the documentation
- Answer questions
Parallelizing
=============
- Work
- Karma missions
- Learning about the project
From easy to difficult
======================
- Answering questions
- Contributing code/documentation
- Contributing blueprints
- Discussing the architecture
- Influence the project governance
Archive and collect
===================
- Log IM channels
- Keep links to e-mail archives
- Choose one place to gather all information