Files
training-guides/doc/upstream-training/source/slides/workflow-training-contribution-process.rst
Ian Wienand 7a4fb1cb30 Replace openstack.org git:// URLs with https://
This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.

This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.

This update should result in no functional change.

For more information see the thread at

 http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html

Change-Id: I6a7ca7d3ec8f3a3f7bf332aa1585e84e2e4483a1
2019-03-24 20:36:16 +00:00

107 lines
2.7 KiB
ReStructuredText

====================================
Overview of the contribution process
====================================
.. image:: ./_assets/os_background.png
:class: fill
:width: 100%
Getting to Know Your Project
============================
- Clone and be familiar with the code
.. code-block:: console
$ git clone https://git.openstack.org/openstack/<your_project>
- Example:
.. code-block:: console
$ git clone https://git.openstack.org/openstack/training-guides
- Run the tests
- Join the project's IRC channel
- https://wiki.openstack.org/wiki/IRC
- Look at open reviews
- Join the openstack-discuss mailing list
.. note::
Each project has its own purpose & culture.
Interacting with the Project
============================
- Talking in the IRC channel
- Following and participating in project related mail threads
in the mailing list
- Attending regular meetings
- Filing, fixing, and triaging bugs
- Filing a blueprint/spec
- Implementing a blueprint/spec
Building Your Persona
=====================
- Review other's code
- Help fix the documentation
- Answer other's questions or help direct them to
those who can
- Attend the meetings
- Let the PTL know you are interested in participating in the project
- Explain why you are interested and what are your strengths
- Ask how you can help the project
Building Your Persona
=====================
- Build a network
- Pay attention to who is an expert in what area
- Ask questions in the channel or send direct messages
- Trust within the community
- Trust that your comments are valid
- Trust that you can write and review code
- Trust that you understand or have the willingness to understand
the technology
- Trust that you are consistent and reliable and come back
regularly
.. note::
If people know you, you have a better chance at your code
getting attention.
General Contribution Workflow
=============================
- Pick a task (bug, trivial fix, documentation, implementation)
- Make a new branch in your local repository
- Make code changes
- Update and add tests (unit, functional, etc.)
- Run tests (unit, functional, etc.)
- Create your commit and push upstream for review
.. note::
We will go into this later on in more detail so hold off on answering
detailed questions for now.
Your Patch Upstream
===================
- Zuul and vendor CIs will review your patch
- Community members will review your patch
- Reply to comments
- Make changes and push new patchsets
- Resolve merge conflicts
Speeding the Acceptance
=======================
- Be on top of people's comments
- Be patient
- Be communicative
- Be collaborative
REMEMBER: This is open source.
Things happen on the community's schedule, not yours.