Introduction

We want to make it as easy as possible for GitLab users to become GitLab contributors, so we’ve created this guide to help you get started. We have multiple tracks to cater to people of varying experience levels.

If you’re uncomfortable getting into open source development right away, you may want to consider the Documentation or Translation tracks. Documentation and Translation are both just as important as code, and we'd be happy to have your contributions.

Development

These instructions are for development of GitLab Community Edition specifically. Please note that use of the GitLab Development Kit is currently experimental on Windows. macOS or Linux are recommended for the best contribution experience.

  1. Download and setup the GitLab Development Kit, see the GDK README for instructions on setting it up and Troubleshooting if you get stuck.
  2. Fork the GitLab CE project.
  3. Choose an issue to work on.
    • You can find easy issues by looking at issues labeled Accepting Merge Requests and sorting issues by weight, low-weight issues will be the easiest to accomplish.
    • Be sure to comment and verify no one else is working on the issue, and to make sure we’re still interested in a given contribution.
    • You may also want to comment and ask for help if you’re new or if you get stuck. We’re happy to help!
  4. Add the feature or fix the bug you’ve chosen to work on.
  5. Open a merge request. The earlier you open a merge request, the sooner you can get feedback. You can mark it as a Work in Progress to signal that you’re not done yet.
  6. Add tests and documentation if needed, as well as a changelog entry.
  7. Make sure the test suite is passing.
  8. Wait for a reviewer. You’ll likely need to change some things once the reviewer has completed a code review for your merge request. You may also need multiple reviews depending on the size of the change.
  9. Get your changes merged!

For more information, please see the Developer Documentation.

Documentation

See the Documentation Styleguide and Writing Documentation pages for important information on writing documentation for GitLab.

  1. Visit docs.gitlab.com for the latest documentation for GitLab CE/EE, GitLab Runner, and GitLab Omnibus.
  2. Find a page that’s lacking important information or that has a spelling/grammar mistake.
  3. Click the "Edit this page" link at the bottom of the page.
    • Note that this will most likely link you to the GitLab EE repository, most features are available in GitLab CE and you'll likely want to contribute to CE instead. Simply replace gitlab-ee in the URL with gitlab-ce, e.g. https://gitlab.com/gitlab-org/gitlab-ee/blob/master/doc/administration/container_registry.md would become https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/administration/container_registry.md.
  4. Fork the relevant project and modify the documentation in GitLab’s web editor.
  5. Open a merge request.
  6. Follow branch naming conventions and append -docs to the name of the branch.
  7. Wait for a review, you may need to change things if a reviewer requests it.
  8. Get your changes merged!

For those interested in writing full technical articles, we also have a GitLab Community Writers Program which includes compensation for writing technical articles.

Translation

Please note that GitLab is in the process of being internationalized. Not all pages have been updated to be translatable, and all languages other than English are incomplete. For more information visit the documentation.

  1. Visit our Crowdin project and sign up.
  2. Find a language you’d like to contribute to.
  3. Improve existing translations, vote on new translations, and/or contribute new translations to your given language.
  4. Once approved, your changes will automatically be included in the next version of GitLab!