3.3 KiB
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
Bad workflow
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