==================================== Overview of the contribution process ==================================== .. image:: ./_assets/os_background.png :class: fill :width: 100% 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