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

234 lines
3.4 KiB
ReStructuredText

====================================
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:: ./_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