training-guides/doc/upstream-training/source/19-training-contribution-process.rst
Pranav Salunke f1e4bfeca8 Porting presentations to Sphinx/Hieroglyph
modifided tox.ini and requirements.txt to install
hieroglyph, added some changes in the styles
of the individual .rst files to support hiero

Change-Id: Id2674e593857470cf4efa0706a4fbda33813f374
2015-03-26 14:33:38 +01:00

3.4 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