training-guides/doc/upstream-training/19-training-contribution-process.rst
Stefano Maffulli 0bc2d10ac5 Adding Training Contribution Process
Change-Id: I31dbf29ac038b05d36f10d83047ac077c0732831
2014-09-04 16:46:07 -07: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 / 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


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 email archives
  • Choose one place to gather all information