Jump to: navigation, search

Difference between revisions of "How To Contribute"

m (Changes from #openstack-101 to #openstack-dev (FYI: https://review.openstack.org/#/q/topic:remove-openstack-101 ))
Line 24: Line 24:
 
=== If you're a developer ===
 
=== If you're a developer ===
  
* Join the [http://lists.openstack.org/pipermail/openstack-dev/ OpenStack developers mailing list]
+
* Walk through [https://docs.openstack.org/contributors/code-and-documentation/index.html the Code & Docs Contributor Guide] which will help you:
* Join the '''#openstack-dev''' '''[[IRC]]''' channel
+
** Join the [http://lists.openstack.org/pipermail/openstack-discuss/ OpenStack Discuss mailing list]
* '''Check out how we work:'''
+
** Join the '''#openstack-dev''' '''[[IRC]]''' channel
** Discover the OpenStack Way by reading our [http://docs.openstack.org/project-team-guide/ Project Team Guide]
+
** Set up the necessary accounts
** Read the [http://docs.openstack.org/infra/manual/developers.html Developer's Guide of OpenStack Infra Manual] to get started
+
** Learn where to find the code
** How to work with Launchpad [[Blueprints]] and [[Bugs]]
+
** How to set up your development environment
* '''Get the [[GettingTheCode|code]]'''
+
** How to interact with Gerrit and Review code
* Learn [http://docs.openstack.org/infra/manual/developers.html#development-workflow how to work] with our [http://review.openstack.org Gerrit review system].
+
** Learn how documentation is developed
* Before we can accept your patches, you'll have to '''[http://docs.openstack.org/infra/manual/developers.html#account-setup agree to a contributor license agreement]''' (you can [https://review.openstack.org/static/cla.html preview the full text of the ''OpenStack Individual Contributor License Agreement'' here] first if you want)
+
** Learn how to contribute translations
* [http://docs.openstack.org/infra/manual/developers.html#code-review Review code] - you don't need to be a "core reviewer", anyone can review :)
 
 
* [https://www.jetbrains.com/pycharm/ Pycharm] Open Source developer licences are available for people who are contributing to OpenStack. If you are contributing to OpenStack and you need a licence, please fill in the details [https://docs.google.com/forms/d/e/1FAIpQLSe5JMbtZEKB95AMVnyOBh4-7Y55hDgQChjg5Ed3auO74Tt2fQ/viewform here]. Additional details can be found [https://wiki.openstack.org/wiki/Pycharm here]
 
* [https://www.jetbrains.com/pycharm/ Pycharm] Open Source developer licences are available for people who are contributing to OpenStack. If you are contributing to OpenStack and you need a licence, please fill in the details [https://docs.google.com/forms/d/e/1FAIpQLSe5JMbtZEKB95AMVnyOBh4-7Y55hDgQChjg5Ed3auO74Tt2fQ/viewform here]. Additional details can be found [https://wiki.openstack.org/wiki/Pycharm here]
 
  
 
==== Bug fixing ====
 
==== Bug fixing ====
Line 48: Line 46:
  
 
You can also try some [[WikiGardening|gardening of this wiki]].
 
You can also try some [[WikiGardening|gardening of this wiki]].
 
==== Feature development ====
 
Once you get comfortable with the code, you can start to scratch your own itch and contribute new features. New features get implemented every 6 months in a development cycle. We use Launchpad [[Blueprints]] to track the design and implementation of significant features, and we use [[Summit|Design Summits]] every 6 months to discuss them in public. Code should be proposed for inclusion before we reach the final feature milestone of the development cycle.
 
 
====Reviewing====
 
Every patch submitted to OpenStack gets reviewed before it can be approved and merged. We get a lot of contributions and everyone can - and is encouraged to! - review [https://review.openstack.org existing patches]. Read the the [http://docs.openstack.org/infra/manual/developers.html#code-review Code Review] checklist and [http://docs.openstack.org/developer/nova/code-review.html Nova guidelines] as a starting point, then pick an open review and look at it, test it if possible, and leave a comment with a +1 or -1 vote describing what you discovered. If you're planning on submitting patches of your own, it's a great way to learn about what the community cares about and to learn about the code base.
 
 
==== Contributor License Agreement ====
 
For Individuals, See the Contributor License Agreement steps above
 
 
* Corporations
 
** If you are contributing on behalf of a company or organization, you still need to sign the Individual CLA above but someone at your company with appropriate signing authority also needs to sign the [https://secure.echosign.com/public/hostedForm?formid=56JUVGT95E78X5 Corporate Contributor License Agreement] providing a list of people authorized to commit code to OpenStack. Request a printable copy by [mailto:communitymngr@openstack.org emailing the OpenStack Foundation]. Check [[HowToUpdateCorporateCLA|How to update the CCLA]] to provide changes to such list.
 
* US Government employees
 
** Employees of the the U.S. Government do not sign the Individual CLA. Instead, someone with authority to sign on behalf of your agency should sign the [[GovernmentCLA|U.S. Government Contributor License Agreement]]. Individual developers still need to create a [https://launchpad.net/+login Launchpad account], [https://www.openstack.org/join/ join the OpenStack Foundation] and click the [https://review.openstack.org/ Sign In link] on Gerrit. Please contact the [mailto:communitymngr@openstack.org OpenStack Foundation] to initiate this process.
 
Check the [https://ask.openstack.org/en/questions/scope:all/sort:activity-desc/tags:cla,faq/page:1/ FAQ for Contributor License Agreements] if you have questions
 
  
 
=== If you're a tester (and breaker), get started this way: ===
 
=== If you're a tester (and breaker), get started this way: ===
Line 87: Line 70:
 
=== If you're into security, we'd love your help ===
 
=== If you're into security, we'd love your help ===
 
The OpenStack Security Group (OSSG) is a collection of security-minded people working together to broadly improve security across OpenStack.  OSSG has people with a wide range of skills (including developers, architects, writers, and more).  See [[Security/How_To_Contribute]] for more details on how to get involved with OSSG.
 
The OpenStack Security Group (OSSG) is a collection of security-minded people working together to broadly improve security across OpenStack.  OSSG has people with a wide range of skills (including developers, architects, writers, and more).  See [[Security/How_To_Contribute]] for more details on how to get involved with OSSG.
 
 
=== If you're into doc, we'd love your help ===
 
You can contribute administrative documentation to the openstack-manuals project, or developer documentation to the individual nova, glance, swift etc. projects. See [[Documentation/HowTo]] for details, as well as [[Documentation/HowTo/FirstTimers]] which has some other info that may be useful.
 
 
To fix a documentation bug, or mark a bug as a documentation bug, go to [https://bugs.launchpad.net/openstack/+bugs?field.tag=documentation aggregated list of documentation bugs from all OpenStack projects].
 
 
You can also start by reading the developer documentation which is created using Sphinx as part of the code in the /doc/source/ directory and published to [http://swift.openstack.org swift.openstack.org], [http://nova.openstack.org nova.openstack.org], [http://glance.openstack.org glance.openstack.org], [http://keystone.openstack.org keystone.openstack.org], or [http://horizon.openstack.org horizon.openstack.org].
 
 
To contribute to administrator documentation, get started with git and GitHub as documented in [[Documentation/HowTo|the documentation how-to guide]]. The openstack-manuals project houses the documentation that is published to [http://docs.openstack.org docs.openstack.org].
 
 
Monitor [https://ask.openstack.org Ask OpenStack] to curate the best answers that can be folded into the documentation.
 
 
  
 
=== If you're a designer or usability professional, help shape the UX ===
 
=== If you're a designer or usability professional, help shape the UX ===
Line 111: Line 81:
 
=== If you want to help with the openstack.org website ===
 
=== If you want to help with the openstack.org website ===
 
Start by reading the [[Website|contributing to the website]] document.
 
Start by reading the [[Website|contributing to the website]] document.
 
 
=== If you're a translator ===
 
Join the [[I18nTeam|Internationalisation Team]]. Read the [[Translations#Translation_.26_Management|Translations]] wiki page (Translation management section) for more information on how translations are managed in OpenStack. We have adopted Zanata, and you can use [https://translate.openstack.org the translation site] as a starting point to translate any of the OpenStack projects. It's easier to start translating directly on the site, as there is no need to download any files or applications to get started.
 
  
 
=== If you're a community builder ===
 
=== If you're a community builder ===

Revision as of 21:33, 11 January 2019

How can I help? Thanks for asking. Let's find a place for you!

First you should join our communication forums:

  • Subscribe to our mailing lists
  • Join us on IRC: You can talk to us directly in #openstack or one of the other channels
  • Answer and ask questions on Ask OpenStack


If you're building clouds

Mentoring and finding mentors

With internship opportunities offered regularly and OpenStack University offered many times during the year, there is a constant need of mentors to help new contributors to OpenStack navigate the intricacies of the projects. Add yourself as as a mentors or find a mentor for yourself if you're getting started on OpenStack.

If you're a developer

  • Walk through the Code & Docs Contributor Guide which will help you:
    • Join the OpenStack Discuss mailing list
    • Join the #openstack-dev IRC channel
    • Set up the necessary accounts
    • Learn where to find the code
    • How to set up your development environment
    • How to interact with Gerrit and Review code
    • Learn how documentation is developed
    • Learn how to contribute translations
  • Pycharm Open Source developer licences are available for people who are contributing to OpenStack. If you are contributing to OpenStack and you need a licence, please fill in the details here. Additional details can be found here

Bug fixing

The first area where you can help is bug fixing. Confirmed bugs are usually good targets. Triaged bugs should even contain tips on how they should be fixed. Here is the list of Confirmed and Triaged bugs.

You can contribute instructions on how to fix a given bug, and set it to Triaged. Or you can directly fix it: assign the bug to yourself, set it to In progress, branch the code, implement the fix, and propose your change for merging into trunk !

Some easy-to-fix bugs may be marked with the low-hanging-fruit tag: they also make good targets for a beginner.

Housekeeping

Maintaining good code quality is a never-ending effort that is shared across the development team. There are several always-ongoing efforts that need your help, for example: increasing comments in code, reducing pylint violations, increasing code coverage. Those are usually nice ways to get involved in development: easy changes that will let you touch various areas of OpenStack code, and gain respect from your peers. :) It might be also a good idea to check the results of the continuous code quality and test coverage monitoring described here.

You can also try some gardening of this wiki.

If you're a tester (and breaker), get started this way:

Testing

We need your help in making sure OpenStack components behave correctly. Feel free to install the development version and report any issue:

Triaging bugs

Reported bugs need care: prioritizing them correctly, confirming them, making sure they don't go stale... All those tasks help immensely. If you care about OpenStack stability but are not a hardcore developer, consider helping in that area !

The whole process is described on BugTriage.

If you're into security, we'd love your help

The OpenStack Security Group (OSSG) is a collection of security-minded people working together to broadly improve security across OpenStack. OSSG has people with a wide range of skills (including developers, architects, writers, and more). See Security/How_To_Contribute for more details on how to get involved with OSSG.

If you're a designer or usability professional, help shape the UX

You can contribute in many different ways to the User Experience of OpenStack. Whether it's reviewing current features as a user and giving feedback, designing new features, testing designs or features with users, or helping to build use cases and requirements, we'd love to have your help in the UX group!

Take a look at the "Getting Started with Designing for User Experience" section of the UX wiki for details.

Also, feel free to contact fellow designers and folks interested in UX work in #openstack-ux on Freenode if you have any questions or need any guidance on where to jump in.


If you want to help with the openstack.org website

Start by reading the contributing to the website document.

If you're a community builder

Check out the user group page to learn which communities exist and how to start one. If you're into diversity and making our community more welcoming and diverse, please look at the Women of OpenStack and Outreach Program for Women for ideas.

If you're hoping to contribute in another way, let us know!

Contact one of the OpenStack people and float your idea.


Is there something missing?

If you need further guidance about how to contribute or if you are having trouble getting started, you can look at #openstack-dev on freenode.net as well.