# Contributing to GitButler

So you're interested in contributing to GitButler. Amazing!

## Understand the License

First thing to know, GitButler is not a side project, it is the product of a
pretty cool company located in Berlin who develop this client and it's
associated services professionally. For this reason, we have licensed this
software under the [Functional Source License](https://fsl.software/), a
mostly permissive non-compete license that converts to Apache 2.0 or MIT after
two years.

So, it's not strictly OSS, but it _will_ be. You're free to contribute,
but you can't take this and use it to compete with us. You can, however,
otherwise use it however you want.

We figured this is better than closed source while still letting us make a
living from our hard work without worrying too much about bad actors.

## Our Development Process

As a private company, we have our own development processes that we try to be
fairly open about, but we're all sitting in a room in Berlin, so external
contributions and remote work aren't really a central part of our process.

It's possible that you want to see a feature and we disagree, so if you want
to get something accepted, please discuss it with us first so we can all be
fairly confident that your work has a chance to be accepted before you spend
your time or result in needing to maintain a fork.

The two places to communicate with us are on Discord and GitHub (issues and
discussions, etc).

Join our Discord here: https://discord.gg/MmFkmaJ42D

## Submitting a Bug Report

You probably know how to submit a bug report.

You know, check first to see if something is already there, give us detail to
recreate it if at all possible. Things you would want you to do if you were
maintaining this project.

## Submitting a Change

If you talked it over with us and we agree that it's something we would take,
please do the familiar GitHub dance of forking the repository and submitting
a Pull Request so we can review and possibly merge it.

Any contributions sent to us implicitly give us the right to redistribute that
work under the same license and rights.

[Why we don't explicity require a CLA for contributions to GitButler](https://ben.balter.com/2018/01/02/why-you-probably-shouldnt-add-a-cla-to-your-open-source-project/)

## How will GitButler Stay in Business?

The client is open source and free to use, forever. If you want to use this
as your Git client, it will never be pulled out from under you.

In parallel with this client, we're also developing some rad cloud services
that you can optionally enable but are not neccesary or limiting to your
client experience. If we can provide some compelling team functionality that
you can get your boss to pay for, then we would love to have your business
in that area. If it's not interesting to you, then never fear, the client is
fully functional on it's own and totally free.

## Kudos

We _love_ our community. Whether you just join Discord to give us some feedback,
file a well researched issue, or submit a killer PR, we are excited that you
care about what we're doing.

However, helping us with our codebase is over the top. We'll call out our
contributors in some way, though we haven't quite figured out how yet. But
rest assured, we'll give you credit. Or schwag maybe. Or a beer, if you're
ever in town.

## Get into the Code!

Ok, you're officially onboarded. Grab the code and start in on the
[DEVELOPMENT.md](DEVELOPMENT.md) file.

God speed.