Skip to content

Latest commit

 

History

History
9 lines (5 loc) · 1.57 KB

File metadata and controls

9 lines (5 loc) · 1.57 KB

Unsolicited contributions are seldom welcome. We do this project for our own entertainment, and reviewing PRs, explaining how the code works, providing guidance about numerics or C++ is not our idea of fun. Besides, in most cases it will take us less time to implement an improvement than to whip your PR until it is ready to merge.

If you think that you absolutely must contribute, then you will have to convince us. First, create a GitHub issue explaining the problem you want to solve. If we are interested, it will be used to track the progress of the work. We will probably ask you to document what you plan to do. This could be a simple discussion in the issue, or it could involve UI mocks, or a full-fledged design if the problem is sufficiently complex (that’s probably the case if it requires touching both C# and C++).

You are expected to find your way through the code yourself. We are not going to provide mentoring on understanding our code base (which has more than 180,000 lines). We are also going to hold you to our standards of quality: compliance with our style, proper abstractions, testing, benchmarking, localization, etc. A good quality PR may get more than 100 comments. A poor quality PR will be rejected up front.

We are in this for the long term. We expect you to be, too. If follow-up PRs are required, we expect you to do them quickly. We will assign you issues related to the changes that you made and we will expect you to investigate and fix them in a timely manner.

Contributions that would require us to change the license of the project are not acceptable.