Contributing
We encourage community contributions to FlatBuffers through pull requests at the main http://github.com/google/flatbuffers repository.
Note
The FlatBuffers project is not staffed by any full time Google employee, and is managed by a small team of 20%ers. So response time and expertise vary.
Before you contribute
Before we can use your contributions, you must sign one of the following license agreements. The agreements are self-served at the following links.
Our code review process will automatically check if you have signed the CLA, so don't fret. Though it may be prudent to check before spending a lot of time on contribution.
Individual Contributions
For individuals, the Google Individual Contributor License Agreement (CLA) which is self served at the link. The CLA is required since 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.
Corporate Contributions
Contributions made by corporations are covered by the Google Software Grant and Corporate Contributor License Agreement.
Code Reviews
All submissions require a code review via Github Pull Requests.
- Please adhere to the Google Style Guide for the language(s) you are submitting in.
- Keep PRs small and focused. Its good practice and makes it more likely your PR will be approved.
- Please add tests if possible.
- Include descriptive commit messages and context to the change/issues fixed.
Documentation
FlatBuffers uses MkDocs to generate the static documentation pages served at https://flatbuffers.dev. Specifically, we use the Material for MkDocs framework.
The documentation source is contained in the main repo under the docs/ directory. This automatically get built and published when the commit is made.
Local Development
We encourage contributors to keep the documentation up-to-date as well, and it
is easy to with MkDocs
local building and serving tools.
First install mkdocs-material
(see
Installation for
other ways)
pip install mkdocs-material
pip install mkdocs-redirects
Then, in the root
directory of flatbuffers, run
mkdocs serve -f docs/mkdocs.yml
This will continually watch the repo for changes to the documentation and serve the rendered pages locally.
Submit your documentation changes with your code changes and they will automatically get published when your code is submitted.