Jump to: navigation, search

Difference between revisions of "Welcome new contributors (Zaqar)"

m (Kgriffs moved page Marconi/docs/contrib/intro to Welcome New Contributors (Marconi): Follow mediawiki naming conventions)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Getting started ==
+
== First Steps ==
  
Interested in contributing to Marconi? That's great to hear!
+
Interested in contributing to Zaqar? That's great to hear!
  
 
First of all, make sure to join our communication forums:
 
First of all, make sure to join our communication forums:
  
 
* Subscribe to our [[MailingLists|mailing lists]].  
 
* Subscribe to our [[MailingLists|mailing lists]].  
* Join us on IRC! You can chat with us directly in the '''#openstack-marconi''' channel on '''irc.freenode.org'''. Don't know to use IRC? You can find some directions in [[UsingIRC]] wiki page.
+
* Join us on IRC! You can chat with us directly in the '''#openstack-zaqar''' channel on '''irc.freenode.org'''. Don't know to use IRC? You can find some directions in [[UsingIRC]] wiki page.
 
* Answer and ask questions on [https://ask.openstack.org/ Ask OpenStack].
 
* Answer and ask questions on [https://ask.openstack.org/ Ask OpenStack].
  
 
== How can I contribute? ==
 
== How can I contribute? ==
  
There are many ways you can contribute to Marconi. Of course coding is one, but you can also join us as a tester, documenter, designer or translator.
+
There are many ways you can contribute to Zaqar. Of course coding is one, but you can also join us as a tester, documenter, designer or translator.
  
 
=== Coding ===
 
=== Coding ===
  
==== Bug fixing ====
+
==== Bug fixing and triaging ====
  
==== Bug triaging ====
+
The first area where you can help is bug fixing. ''Confirmed'' bugs are usually your best choice. ''Triaged bugs'' should even contain tips on how they should be fixed. Here is the list of [https://bugs.launchpad.net/zaqar/+bugs?field.searchtext=&orderby=-importance&search=Search&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on Zaqar's Confirmed and Triaged bugs].
 +
 
 +
Once you selected the bug you want to work on, go ahead and assign it to yourself, 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: those are good targets for a beginner.
 +
 
 +
You can also help us with bug triaging. Reported bugs need care: prioritizing them correctly, confirming them, making sure they don't go stale... All those tasks help immensely. If you want to start contributing in coding but you are not a hardcore developer, consider helping in this area!
 +
 
 +
Bugs can be marked with different tags according to their status:
 +
* ''New'' bugs are those bugs that have been reported by a user but haven't been verified by the community yet.
 +
* ''Confirmed'' bugs are those bugs that have been reproduced by someone else than the reporter.
 +
* ''Triaged'' bugs are those bugs that have been reproduced by a core developer.
 +
* ''Incomplete'' bugs are those bugs that don't have enough information to be reproduced.
 +
* ''In Progress'' bugs are those bugs that are being fixed by some developer.
 +
* ''Invalid'' bugs are those bugs that don't qualify as a bug. Usually a support request or something unrelated to the project.
 +
 
 +
 
 +
You can learn more about this in Launchpad's [http://blog.launchpad.net/general/of-bugs-and-statuses Of Bugs and Statuses].
 +
 
 +
You only have to worry about ''New'' bugs. If you can reproduce them, you can mark them as ''Confirmed''. If you cannot reproduce them, you can ask the reported to provide more information and mark them as ''Incomplete''. If you consider that they aren't bugs, mark them as ''Invalid'' (be careful with this! asking someone else in Zaqar is always a good idea).
 +
 
 +
Also, you can contribute instructions on how to fix a given bug.
 +
 
 +
Check out the [[BugTriage|Bug Triage]] wiki for more information.
  
 
==== Reviewing ====
 
==== 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! - [https://review.openstack.org/#/q/status:open+project:openstack/zaqar,n,z review Zaqar's existing patches]. Pick an open review and go through 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.
  
 
==== Feature development ====
 
==== Feature development ====
 +
 +
Once you get familiar with the code, you can start to contribute new features. New features get implemented every 6 months in a [[ReleaseCycle|development cycle]]. We use Launchpad [[Blueprints]] to track the design and implementation of significant features, and we use 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.
  
 
=== Testing ===
 
=== Testing ===
 +
 +
Testing efforts are highly related to coding. If you find that there are test cases missing or that some tests could be improved, you are encouraged to report it as a bug and then provide your fix. Learn more about this in Write The Tests!
  
 
=== Documenting ===
 
=== Documenting ===
  
=== Design ===
+
You can contribute to Zaqar's Users Guide and Zaqar's Wiki. 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 check the bugs marked with the 'doc' tag in Zaqar's [https://bugs.launchpad.net/zaqar/+bugs?field.tag=doc bug list]. In case that you want to report a documentation bug, then don't forget to add the 'doc' tag to it :)
 +
 
 +
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://docs.openstack.org/developer/zaqar/ docs.openstack.org/developer/zaqar].
 +
 
 +
To contribute to administrator documentation, get started with git and GitHub as documented in the [[Documentation/HowTo|documentation how-to guide]]. The openstack-manuals project houses the documentation that is published to [http://docs.openstack.org/ docs.openstack.org].
 +
 
 +
Also, monitor [http://ask.openstack.org Ask OpenStack] to curate the best answers that can be folded into the documentation.
 +
 
 +
=== Designing ===
 +
 
 +
Zaqar doesn't have a user interface... yet. We are working to [https://blueprints.launchpad.net/zaqar/+spec/zaqar-horizon-integration integrate Zaqar to the OpenStack Dashboard (Horizon)], so if you're a designer or usability professional your help will be really appreciated. Whether it's reviewing upcoming features as a user and giving feedback, designing features, testing designs or features with users, or helping to build use cases and requirements, everything is useful!
 +
 
 +
=== Translating ===
  
=== Translation ===
+
Make Zaqar speak your language! Read the [[Translations#Translation_.26_Management|Translations]] wiki page for more information on how translations are managed in OpenStack. We have adopted Transifex, and you can use the [https://www.transifex.com/projects/p/openstack/ OpenstackHub] as a starting point to translate any of the OpenStack projects, including Zaqar. It's easier to start translating directly on the Transifex's site, as there is no need to download any files or applications to get started.

Latest revision as of 13:06, 28 August 2014

First Steps

Interested in contributing to Zaqar? That's great to hear!

First of all, make sure to join our communication forums:

  • Subscribe to our mailing lists.
  • Join us on IRC! You can chat with us directly in the #openstack-zaqar channel on irc.freenode.org. Don't know to use IRC? You can find some directions in UsingIRC wiki page.
  • Answer and ask questions on Ask OpenStack.

How can I contribute?

There are many ways you can contribute to Zaqar. Of course coding is one, but you can also join us as a tester, documenter, designer or translator.

Coding

Bug fixing and triaging

The first area where you can help is bug fixing. Confirmed bugs are usually your best choice. Triaged bugs should even contain tips on how they should be fixed. Here is the list of Zaqar's Confirmed and Triaged bugs.

Once you selected the bug you want to work on, go ahead and assign it to yourself, 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: those are good targets for a beginner.

You can also help us with bug triaging. Reported bugs need care: prioritizing them correctly, confirming them, making sure they don't go stale... All those tasks help immensely. If you want to start contributing in coding but you are not a hardcore developer, consider helping in this area!

Bugs can be marked with different tags according to their status:

  • New bugs are those bugs that have been reported by a user but haven't been verified by the community yet.
  • Confirmed bugs are those bugs that have been reproduced by someone else than the reporter.
  • Triaged bugs are those bugs that have been reproduced by a core developer.
  • Incomplete bugs are those bugs that don't have enough information to be reproduced.
  • In Progress bugs are those bugs that are being fixed by some developer.
  • Invalid bugs are those bugs that don't qualify as a bug. Usually a support request or something unrelated to the project.


You can learn more about this in Launchpad's Of Bugs and Statuses.

You only have to worry about New bugs. If you can reproduce them, you can mark them as Confirmed. If you cannot reproduce them, you can ask the reported to provide more information and mark them as Incomplete. If you consider that they aren't bugs, mark them as Invalid (be careful with this! asking someone else in Zaqar is always a good idea).

Also, you can contribute instructions on how to fix a given bug.

Check out the Bug Triage wiki for more information.

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 Zaqar's existing patches. Pick an open review and go through 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.

Feature development

Once you get familiar with the code, you can start to 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 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.

Testing

Testing efforts are highly related to coding. If you find that there are test cases missing or that some tests could be improved, you are encouraged to report it as a bug and then provide your fix. Learn more about this in Write The Tests!

Documenting

You can contribute to Zaqar's Users Guide and Zaqar's Wiki. 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 check the bugs marked with the 'doc' tag in Zaqar's bug list. In case that you want to report a documentation bug, then don't forget to add the 'doc' tag to it :)

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 docs.openstack.org/developer/zaqar.

To contribute to administrator documentation, get started with git and GitHub as documented in the documentation how-to guide. The openstack-manuals project houses the documentation that is published to docs.openstack.org.

Also, monitor Ask OpenStack to curate the best answers that can be folded into the documentation.

Designing

Zaqar doesn't have a user interface... yet. We are working to integrate Zaqar to the OpenStack Dashboard (Horizon), so if you're a designer or usability professional your help will be really appreciated. Whether it's reviewing upcoming features as a user and giving feedback, designing features, testing designs or features with users, or helping to build use cases and requirements, everything is useful!

Translating

Make Zaqar speak your language! Read the Translations wiki page for more information on how translations are managed in OpenStack. We have adopted Transifex, and you can use the OpenstackHub as a starting point to translate any of the OpenStack projects, including Zaqar. It's easier to start translating directly on the Transifex's site, as there is no need to download any files or applications to get started.