Skip to main content

Contributing to Gratheon

Thank you for your interest in contributing to Gratheon! We welcome contributions from the community.

Contributor License Agreement (CLA)​

Before we can accept your contributions, we require that you sign our Contributor License Agreement (CLA). This is a standard practice for open source projects and helps us maintain clear ownership and licensing of the code.

Why do we need a CLA?​

Gratheon uses a dual-licensing model:

  • AGPL v3 for open source use
  • Commercial License for enterprise customers

The CLA gives us the rights to:

  1. Include your contribution in both the open source and commercial versions
  2. Relicense your contribution under different terms if needed
  3. Protect the project from legal issues

Important: You retain ownership of your contribution and can use it however you like. The CLA just gives us permission to use it too.

How to sign the CLA​

We use CLA Assistant to streamline the CLA process:

  1. First-time contributors: When you submit your first pull request, the CLA Assistant bot will automatically comment and ask you to sign the CLA.

  2. Click the link in the bot's comment to review and sign the CLA.

  3. Sign digitally using your GitHub account (takes ~2 minutes).

  4. That's it! Once signed, you can contribute to any Gratheon repository.

Alternatively, you can:

For Corporate Contributors​

If you're contributing as part of your job, your employer needs to sign the Corporate CLA. Please have your legal department review and sign the Corporate CLA.

Code of Conduct​

Be respectful and constructive in all interactions. We follow standard open source community guidelines.

How to Contribute​

Reporting Issues​

  • Check if the issue already exists
  • Use issue templates if available
  • Provide clear reproduction steps
  • Include relevant environment details

Submitting Pull Requests​

  1. Fork the repository
  2. Create a branch for your feature/fix
  3. Make your changes following our coding standards:
    • Clean, readable code
    • No unnecessary comments (code should be self-documenting)
    • Follow existing code style
    • Add tests if applicable
  4. Test your changes thoroughly
  5. Submit a pull request with:
    • Clear description of changes
    • Link to related issue if applicable
    • Screenshots/examples if relevant

Coding Standards​

  • Write clean, maintainable code
  • Follow existing patterns in the codebase
  • No TODO comments (create issues instead)
  • For Go: add t.Parallel() to independent tests
  • For Go: use // ARRANGE // ACT // ASSERT in tests
  • Use human-readable test names

Development Setup​

See the README.md in each repository for specific setup instructions.

Questions?​

  • Open an issue for bugs or feature requests
  • Email pilot@gratheon.com for CLA or commercial licensing questions

License​

By contributing to Gratheon, you agree that your contributions will be licensed under the same dual-license structure:

  • AGPL v3 for open source use
  • Available for commercial licensing to enterprise customers

See the LICENSE-AGPL and LICENSE-COMMERCIAL files for details.


Thank you for contributing to Gratheon! 🐝