As mentioned last week, I am looking into fixing an XSS (Cross Site Scripting) vulnerability in the Appointment Scheduling part of the OpenMRS application. This week, in order to delve into the problem, I have been researching open source projects and how they work, getting to know OpenMRS, and learning how to use Git and GitHub as I have not used these technologies before. I will cover what I found out in this blog.
Open Source Projects and OpenMRS:
If a project is open source, it means that anybody can use it, modify it, distribute it or contribute to it. A large Java project like OpenMRS has many contributors in many areas. To keep track of contributions to the code, version control is needed, and for this OpenMRS uses Git and GitHub. The OpenMRS GitHub can be found here.
Git is software used for version control. It provides support for non-linear, distributed workflows and allows users to branch away from the main code in order to avoid breaking the whole project, or changing the same piece of code as someone else, which would cause errors. It is used by many people for a large amount of projects.
GitHub is a website that provides an interface to Git, as well as its own features. Users and companies can have accounts to host their code, and contributors can make pull requests, clones, branches and so on through it. It can also be used as a portfolio for your work.
I am loving the project so far and I will be publishing another update next week, during which I am aiming to set up the IDE and locate the security bug in the code.