How to become a contributor and submit patches
Contributor License Agreements
We'd love to accept your code patches. However, before we can take them, we have to jump through a couple of legal hurdles.
Please fill out either the individual or corporate Contributor License Agreement.
- If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an individual CLA.
- If you work for a company that wants to allow you to contribute your work to Quick Search Box, then you'll need to sign a corporate CLA.
Follow either of the two links above to access the appropriate CLA and instructions for how to sign and return it. Once we receive it, we'll add you to the official list of contributors and be able to accept your patches.
Submitting Patches
- Join the qsb-mac-dev discussion group.
- Decide which code you want to submit. A submission should be a set of changes that addresses one issue in the issue tracker. Please don't mix more than one logical change per submittal, because it makes the history hard to follow. If you want to make a change that doesn't have a corresponding issue in the issue tracker, please create one.
- Also, coordinate with team members that are listed on the issue in question. This ensures that work isn't being duplicated. Communicating your plan early also generally leads to better patches.
- Ensure that your code adheres to the project source code style (Objective C Style Guide).
- We prefer that there are unit tests for your code, and that they exercise as much of the code as possible. We realize that we ourselves have a long way to go in this direction, but you will be seeing improvements in the future.
- Sign a Contributor License Agreement.
- There are two ways to provide the code for review:
- The preferred way is to provide the code is with Rietveld, then simply append a comment to the issue your change addresses with a link to the review on Rietveld. This lets anyone look at the changes in content and provides a system for comments on the change. upload.py (here) automates the uploading from a svn tree.
- If you'd prefer, you can attach the code to the issue it addresses directly. For brand new files, attach the whole file. For patches to existing files, attach a Subversion diff (svn diff).