# Contributing to Titanium

# Overview

There are many different ways to contribute to Titanium and its community, and your involvement is welcomed and appreciated. This document will explain:

The numerous ways you can participate to help Titanium improve, including:

# What is Contributing?

There is typically a very narrow definition that springs to mind when people talk about "contributing" in relation to software projects. While obviously Titanium wouldn't exist without code, you don't need to be a black-belt in Java or Objective-C to make a worthwhile contribution to it.

Titanium has been brought to this point through the efforts of people with a very broad range of skills and experience, from those who are totally non-technical, to the newbie, to the web developer through to those who have already developed their own native applications, and many more besides. There are always things to be done that, however small, can collectively make Titanium evolve more rapidly.

The ideal approach of someone wishing to contribute to Titanium will come via the community. By engaging through exchanging questions and answers, proposing ideas, noticing bugs, publishing workarounds and similar activities, you get a much better idea of what Titanium is all about, including how it functions and how it can be improved. In addition to helping you to become a more proficient developer, your feedback is crucial to the core team as it helps set the direction of the project. This insures Titanium will be as useful as possible to the most people.

This document describes the ways that you can get involved, some of which you may already be doing as a matter of routine. If you haven't considered them to be true contribution before, then you may have overlooked their value. If these activities are done with the community in mind, and following a few simple guidelines, their results will be a tremendous benefit to everyone.

# How to Contribute to Titanium

  • Participate in the Q&A

    • Ask questions

    • Vote - even voting bad information down is a contribution!

    • Help others

  • Find and report bugs, using the guidelines explained in this guide

    • Indicate the tickets that are most important to your projects by watching them
  • Fix bugs and submit patches

  • Write modules and share them with the community

  • Write, improve, correct and translate documentation

  • Test pull requests to confirm that they implement the fix or new feature as described

These are explained in more detail in the following sections.