Contribute to PostHog

Last updated:

We love contributions to PostHog, big or small. Here's what you need to know about contributing to our product:

Being a part of the community

We have an awesome, diverse, and inclusive community. In order to maintain and grow this, all community members must adhere to our Code of conduct.

Reporting bugs or issues

Bug reports help us make PostHog better for everyone. When you report a bug, the description will automatically be filled with a template that makes is very clear what we'd like you to add.

Before raising a new issue, please search within existing ones to make sure you're not creating a duplicate.

Important: If your issue is related to security, please email us directly at hey@posthog.com instead of creating a GitHub issue.

Deciding what to work on

We maintain a list of good first issues that are a great way to get started contributing to the PostHog open-source product analytics platform. You can also pick up any other open tickets, though they may be more complicated to work with. If in doubt, just leave a comment for the author of the issue! Outside of tickets, if there are small improvements to layout, text, or functionality, feel free to create a pull request directly.

You can also update PostHog's documentation, handbook, or write a blog post. We maintain a list of good first issues here too. Take a look at our style guide before getting started.

If you're planning to work on a bigger feature that is not on the list of issues, please raise an issue first so we can check whether that feature makes sense for PostHog as a whole.

Writing and submitting code

Anyone can contribute code to PostHog, including you! To get started, follow our local development guide. Then, make your change and submit a pull request to the posthog repository. We'll be delighted to review your change.

Licensing

Most of PostHog's code is under the MIT license, as included in the PostHog repository on GitHub. Code of paid features, however, is covered by a proprietary license.

Any third party components incorporated into our code are licensed under the original license provided by the owner of the applicable component.

It is worth specifically mentioning any components that use LGPL, such as flake8-import-order@0.18.1 and psycopg2-binary@2.8.4. The terms of the LGPL license mean that any changes we make to these libraries need to be shared under LGPL as well.

Questions?

Was this page useful?

Next article

Code of conduct

Our pledge We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation. We pledge to act and interact in ways that contribute to an open, welcoming…

Read next article