OpenCV – This is a library that has a BSD License.
Patches in OpenCV are submitted through GitHub. Basically, there is a tester who tests the code that was submitted to see if it works. If it does, the code goes through to be reviewed. The person viewing the code will see if the code is useful or not. The reviewer will ask the person doing it to improve the code. The code goes through the BuildBot to see if it works. The reviewer will then repeat this process if necessary until the code is either merged or rejected.
If the code does not work, the programmer has 2 weeks to fix the code. If the code is not fixed in two weeks, it is rejected. If the code is fixed before the two weeks are over, a ticket will be created. The purpose of the ticket is to address other programmers about the issue.
Another way that code can be rejected is the person looking at the code and sees that it is garbage and discards it completely.
SQL-Ledger- This is an accounting system that has a GNU General Public License.
Patches in SQL-Ledger are submitted through an online form called contrib. In the form, one must tell what version the patch is for.
In OpenCV, the advantage is that code is checked to make sure that it is up to standards. There are three stages working together to add the code to the project. The disadvantage is the submission of code may take a while.
In SQL-Ledger, the advantage is that code is submitted through a form and no external program needed. The disadvantage is the code does not have a lot of feedback. Another thing wrong with this is that any number of people can work on the same problem and not know who’s working on what.
In OpenCV I would have to know GitHub’s push and pull commands. In SQL-Ledger I have to know how to use the form to submit, as well as a patch file.