Adding Training Contribution Process

Change-Id: I31dbf29ac038b05d36f10d83047ac077c0732831
This commit is contained in:
Stefano Maffulli 2014-09-04 16:46:07 -07:00
parent 3f967898cc
commit 0bc2d10ac5
3 changed files with 231 additions and 0 deletions

View File

@ -0,0 +1,231 @@
Overview of the contribution process
====================================
OpenStack Upstream Training
---------------------------
<teacher name>
<date>
----
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 / mail known
- Mingle
----
Play with your network
======================
- Ask people you know about the project
- Send mails to friends saying you'll contribute
- IM friends saying you'll contribute
- Ask about their contribution experience
- Ask if they know someone
----
Smaller tasks
=============
- Sizing the task difficulty
- Spliting a task
- Seeking agreement on the split
----
Choosing a question
===================
- Think about the solution
- Find a choice that needs to be made
- Ask the question and propose your choice
----
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
----
Disagree
========
- Suspension of disbelief
- Accepting 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 email archives
- Choose one place to gather all information

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB