Skip to content

Contributing to MonoGame

totallyeviljake edited this page Mar 12, 2013 · 10 revisions

Collaboration has been a core part of MonoGame for much of its existence and is required for it to continue to flourish. The following contributing guide is a work in progress. As we further refine the processes that govern our project, these guidelines will change and become required. For now, these are just guidelines that we hope that you follow, but we know that some of our tools are not fully functional yet.

How To Contribute

We have some rules to follow when contributing your code changes and features back to the shared repository

  • Changes must have unit tests. If a unit test is not possible, then a published test project must accompany the PR.
  • All PRs must go through pair verification, excluding the author of the PR.
  • PRs can only be accepted if they follow the coding guidelines.
  • Code documentation changes can only be accepted if they correct typographic mistakes or update/correct the documentation of an algorithm.

New Features

New features that fill in the gaps, or add exceptionally high quality capabilities to the platform are encouraged. Features must coincide with the philosophy of MonoGame, which is not to create a feature-rich game generator, but to create a Hardware Abstraction Layer (HAL) that extends ubiquitously to as many, if not all, game platforms. Your new feature must follow the code guidelines and it must pass the inspection of the core contributors list. Expect to make changes to your feature to make it fit into the code base.

Major Refactor

Major refactors are not encouraged unless there is a long-term feature strategy behind them. The code today has been tested and proven on numerous published game titles. Whatever refactor you are considering, do it wisely and with the intent of making the platform faster, not prettier.

Team Leads

  • Tom Spilman - DirectX/Windows Desktop (USA)
  • Dominique Louis - MacOS/iOS (UK)
  • Dean Ellis - Android (UK)
  • Steve Williams - OpenGL (AUS)

Forking & Pull Requests

Pull-Request-Process

Coding Standards

Coding-Guidelines

Clone this wiki locally