Skip to content

Latest commit

 

History

History
87 lines (60 loc) · 4.88 KB

File metadata and controls

87 lines (60 loc) · 4.88 KB

Contributing to Collabora Online

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

The following is a set of rules and guidelines for contributing to Collabora Online. Please feel free to propose changes to this document in a pull request.

Submitting issues

If you have questions about how to install or use Collabora Online, please direct these to our forum. If you have issues or questions about Collabora Online development, you may join us on IRC or Telegram.

Guidelines

  • Please search the existing issues first, it's likely that your issue was already reported or even fixed.

    • Go to the main page of the repository, click "issues" and type any word in the top search/command bar.
    • You can also filter by appending e. g. "state:open" to the search string.
    • More info on search syntax within github
  • SECURITY: Report any potential security bug to us following our security policy instead of filing an issue in our bug tracker.

  • Report the issue using one of our templates, they include all the information we need to track down the issue.

Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues.

Contributing to Source Code

Thanks for wanting to contribute source code to Collabora Online. You rock!

Development and code review happen on our Gerrit instance at https://gerrit.collaboraoffice.com. Pull requests on GitHub will be automatically closed — please use Gerrit instead.

  1. Sign in to Gerrit: Go to https://gerrit.collaboraoffice.com and sign in with your GitHub account
  2. Add your SSH key: Go to https://gerrit.collaboraoffice.com/settings/#SSHKeys
  3. Clone the repo:
    git clone ssh://YOUR_USERNAME@gerrit.collaboraoffice.com:29418/online
    cd online
  4. Install the commit-msg hook (adds Change-Id automatically):
    scp -p -P 29418 YOUR_USERNAME@gerrit.collaboraoffice.com:hooks/commit-msg .git/hooks/
  5. Build it (on Linux or on any platform)
  6. Grab one of our newcomer-friendly easy hacks
  7. Submit your patch for review:
    git push origin HEAD:refs/for/main

And if you get stuck at any point, just drop by one of our communication channels.

Sign your work

We use the Developer Certificate of Origin (DCO) as a additional safeguard for the Collabora Online project. This is a well established and widely used mechanism to assure contributors have confirmed their right to license their contribution under the project's license. Please read README.CONTRIBUTING.md. If you can certify it, then just add a line to every git commit message:

  Signed-off-by: Random J Developer <random@developer.example.org>

Use your real name (sorry, no pseudonyms or anonymous contributions). If you set your user.name and user.email git configs, you can sign your commit automatically with git commit -s.

Change-Id

We use Change-Ids in Collabora Online. If you installed the commit-msg hook from Gerrit (step 4 above), the Change-Id is added automatically to every commit.

For non-technical people

Hello, and thanks for stopping by! If you want to work on something like an icon or a label fix but aren't comfortable with the command line, you can still contribute via GitHub:

  1. Fork the repo and make your changes
  2. Instead of opening a pull request, reach out to us on one of our communication channels and a developer will help you submit the patch via Gerrit

AI Policy

We consider AI tools that help programming just one more tool that, if used judiciously, can help developers learn to code. Volunteers using such AI tools are permitted to get good ideas, but you are responsible for the resulting code: you should be able to explain each hunk of the diff you have written based on the generated samples. Submitting patches without understanding their content, copying AI generated code verbatim, or not testing the result before submitting would create risk, and waste reviewer time and is forbidden.

Translations

Please submit translations via Weblate.