The purpose of this lab is to explore the code review processes used in open source projects/communities. This was done by selecting two open source software packages with two different licenses, and comparing their review process.
The first project I chose was Reddit Enhancement Suite (RES). This is a browser add-on which adds a variety of new functionalities when browsing the popular site http://www.reddit.com. RES utilizes github to allow other users to contribute by adding features or completing bug fixes. The process is done simply through github pull requests. They have a variety of labels to distinguish between tasks in the Issue Tracker. Labels include browser specifications as well as issue priority numbers. Issues seem to be added by major contributors, which can then be worked by other users. One issue in was embedded livestream youtube links were not displaying correctly. Once the problem was identified, a user was able to quickly figure out the issue and submitted a pull request. Within one day, the code was inspected and merged to master. On the other hand, adding features seems to be a stricter process as the creators are wary of code bloat. As described in the guidelines, new features must first be reviewed prior to addition. This process seems very streamlined and seems to work very quickly and effectively, but requires someone to consistently review code as fast as it comes in.
The second project I looked into was Ruby on Rails, which is a web application framework. This project also utilizes github for their repository. When contributing to a bug fix, the process is similar to RES in that you must use a pull request follow a guideline when submitting code. Once the pull request has been submitted, other users will then review the code changes and ensure the code is well documented and the test cases are appropriate. So it’s clear that in their processing, that any user may verify submitted pull requests, rather than just the reviewers by themselves only. They utilize a bot to assign reviewers to the requests so the processing is fast, but I believe this can only be done because they have such a large team.