GGI Activity: Upstream first

Table of contents

Upstream first

Activity ID: GGI-A-39.


This activity is concerned with developing awareness with regard to the benefits of contributing back and enforcing the upstream first principle.

With the upstream first approach all development on an open source project is to be made with the level of quality and openness required to be submitted to a project’s core developers and published by them.

Opportunity Assessment

Writing code with upstream first in mind results in:

  • better quality code,
  • code that is ready to be submitted upstream,
  • code that is merged in the core software,
  • code that will be compatible with future version,
  • recognition by the project community and better and more profitable cooperation.

Upstream First is more than just “being kind”. It means you have a say in the project. It means predictability. It means you are in control. It means you act rather than react. It means you understand open source. (Maximilian Michels)

Progress Assessment

The following verification points demonstrate progress in this Activity: Upstream first is implemented?

  • Significant increase in the number of pull/merge requests submitted to third party projects.
  • A list of third party projects for which upstream first must be applied has been drafted.


  • Identify developers with most experience at interacting with upstream developers.
  • Facilitate interaction between developers and core developers (events, hackathons, etc.)


Upstream First means that whenever you solve a problem in your copy of the upstream code which others could benefit from, you contribute these changes back upstream, i.e. you send a patch or open a pull request to the upstream repository.

Proposed next activities