training-guides/doc/upstream-training/19-training-contribution-process.rst
Matjaz Pancur 747227bb04 Fix broken master repo
Because of the new gating system (gate-training-guides-tox-slides), we need to
cleanup all existing RST files.

There is a small rendering problem with Landslide in the Upstream training
and all the Title slides (empty slides with only a Title). The check doesn't
like "empty" slides ("Document or section may not begin with a transition."),
Landslide deals with this by ignoring errors
(https://github.com/adamzap/landslide/issues/94), but our gating check does
not. I temporary changed all such slides to normal ones.

I also had to change training-guides/landslide.sh a bit (a quick hack so that
it works as expected).

Change-Id: I6c3ae06235e69c4a53741e74a5642d27083f4df0
2015-02-22 21:53:56 +01:00

3.3 KiB

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/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


Bad workflow

image


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