Back to Flutter Inner Source homepage
inner source

Contributing on GitHub

After you start using a service or tool you may find you want to improve or add to it. Repositories in Flutter-Global are in one of several possible stages of inner source. This means you won’t request that change from someone else, you will implement it yourself with agreement from other users. This is known as contributing to a repository, and you will be acting as a “contributor”.

Who Can Help You?

Unless you are already an experienced contributor or the change is minor you will likely need some help.

Each repository is part of a capability – a group of related repositories. Each capability has a team of experts who can help known as maintainers. These maintainers may all belong in a single delivery team (stage 2), or be distributed across different teams and divisions (stage 3). The maintainers are led by a capability owner.

You can lookup the capability owner and maintainers for a repository in the service catalogue. They are busy people with many demands on their time so will only have limited time to assist you. Please take the time to read and follow any documented routes to seek their help (e.g. a support Slack channel).

Discovering the Process

A single consistent contribution process does not exist as the steps required differs between repositories. So your first task as a contributor is to discover the contribution process:

You should expect:

  1. Early Engagement: a way to get feedback on your intentions before you & others commit significant time to it. For example a Slack discussion thread, or creating a GitHub issue or RFC document for feedback.
  2. Propose & Review: a way to share your changes with others who will then review them. For example raising a pull request of your implemention and sharing it on a capability slack channel for review.
  3. Merge & Release: a predictable tiemline for the approved change to be tested, merged and included in a release so all users (including you as the contributor) can deploy it and get the value from the improvement.

While it is tempting to jump straight in to the work itself (2), previous experience shows expert feedback (1) often avoids wasted effort and that the complexities/dependencies of test & release (3) should not be under-estimated and are best understood in advance.

Contribution Access

Whatever the required contribution process, you will need write access to the repository to make a contribution.

Using a Repo
← Previous
SetUp CI on GitHub