PR and code review process

Hi all,

I wanted to post an early draft of some updated processes that I’ve been looking at. The first is diving into our process for code contributions - taking pull requests, reviewing the code and hopefully merging the the changes.

Mycroft is a big project, with a lot moving parts. We have over 350 individuals contributing to over 150 repositories on Github. Whilst not all of these are active repos, it can be a real challenge keeping up with the incredible contributions of our Community. This isn’t just hard for us, it can also be incredibly frustrating for the contributor. I know how much time and effort goes into the pull requests we receive. I also know how much it sucks not knowing if or when it will get merged, and why.

Open source comes with a lot of benefits, and a lot of expectations. By improving these processes, we hope to better meet the expectations you have of us, and make clear the expectations that we believe are reasonable to have of our contributors.

So without further ado, here is the first of a series of new process docs. It’s an early draft because I believe strongly that these processes need to be created together with the Community. It has had a little input from some of our long term contributors already, because I wanted to get a decent skeleton together first, but everything us up for discussion.

Please have a read and let me know what you think.

  • Are we covering all the major scenarios?
  • Do we need to be more explicit / more flexible?
  • Are there more processes we can automate or improve?

Also, anytime I make a substantive change to the document I’ll post here so that people can get notifications that a change has been made (unfortunately you can’t do this directly in Google docs). Once it feels like we’re coming to agreement, I’ll merge the contents into our main documentation.