Want to contribute? Great! First, read this page (including the small print at the end).


Before you contribute
=====================

Before we can use your code, you must sign the Google Individual Contributor
License Agreement (CLA),

  https://developers.google.com/open-source/cla/individual?csw=1

which you can do online. The CLA is necessary mainly because you own the
copyright to your changes, even after your contribution becomes part of our
codebase, so we need your permission to use and distribute your code. We also
need to be sure of various other things—for instance that you'll tell us if you
know that your code infringes on other people's patents. You don't have to sign
the CLA until after you've submitted your code for review and a member has
approved it, but you must do it before we can put your code into our codebase.
Before you start working on a larger contribution, you should get in touch with
us first through the issue tracker with your idea so that we can help out and
possibly guide you. Coordinating up front makes it much easier to avoid
frustration later on.


Getting in touch with the gemmlowp community
============================================

The central point of communication around gemmlowp is the mailing list,
  https://groups.google.com/forum/#!forum/gemmlowp


TODO items and projects
=======================

We try to keep a current list of TODO items in the todo/ directory.
Please feel free to pick one to work on, and to ask current maintainers for
guidance. The gemmlowp mailing list is a good place for that.


Code reviews
============

All submissions, including submissions by project members, require review.
For this purpose, we use Github pull requests against this repository:

  https://github.com/google/gemmlowp


The small print
===============

Contributions made by corporations are covered by a different agreement than
the one above, the Software Grant and Corporate Contributor License Agreement.
