My story with Free and Open Source Software (FOSS) go a long way and this is the story that got me excited to take this course about FOSS Engineering. When I was in Bangladesh I had used FOSS several times like, the OpenPos project (a Point of Sale) to develop custom tailored POS software that helped 2 businesses grow. I have also used OpenCart (an open source CMS) to build my first business . I think FOSS can play a big role in terms of improving the economy. So, now it’s my turn to contribute or, at least, learn how to contribute to FOSS through this course. Our first task when we want to do, learn or create something new, is to research our options. This is exactly what I am going to talk about in this post. In my class, we talked about a few options: OpenMRS, CodeWorkout, Transterpreter, PJRC, OctoPrint, and Moodle. I have researched the projects and source codes of OpenMRS, CodeWorkout, and OctoPrint because they were particularly interesting to me. I am going to talk about why I should and why I should not work in each of these three projects.

  1. OpenMRS

Why should I? The project sounds interesting just by its name. OpenMRS has been out there for a long time. According to Wikipedia, the first idea and prototype of OpenMRS were conceived in February 2004. The community of OpenMRS is huge and they have a huge documentation. They even a separate documentation for beginners, which reflects how welcoming their community is to newcomers. The code is mostly written in Java, so working on this will be a good opportunity to learn Java, and maybe use that to build Android app in the future.

Why shouldn’t I? The project has been running for quite a long time, so I think I would have to spend a lot of the time understanding what has been written. I would have to spend a lot of time reading the documentation that might slow down my progress.

  1. CodeWorkout

Screenshot from 2016-01-19 23:12:06

_Why should I? _Being a Computer Science student myself, I can attest that an application like CodeWorkout could help beginners improve their coding skills. Also, the source code is mostly in Ruby, so I will definitely have to learn this new language. I am always up for learning something new.

_Why shouldn’t I? _First, I was not able to find a good wiki or documentation on this project. I think I might have a hard time figuring out the basic design of this project. The project is fairly new, as the beta version of this was released in Fall 2015.

  1. OctoPrint

Why should I? I have to say that the idea behind this project is simply amazing. It is a host software that controls your 3D printer and sends it the actual commands to do its job. The web application is built using Python that I very comfortable working with and would call myself close to an expert. The framework used is Flask which I am also familiar with.

_Why shouldn’t I? _The community is fairly big considering that there are 504 forks as of now, on GitHub to its source code. Most of the code is contributed by the initiator of the project, Gina Häußge. Overall, I do not find any particular reason to not work on this project.

It will definitely be interesting and a great learning experience to work on any of these projects. If I were to choose a project now, I would choose between OpenMRS and OctoPrint.

To follow me on this journey keep following my posts on my blog under FOSS Engineering category or subscribe to my RSS feed.