Week 1

By definition, open source is a form of source code which allows any user to change and improve the code. Furthermore, open source also means that any person can distribute the code for any purpose. In my opinion, this format of allowing anyone to modify the source code can create a sense of community among those enhancing the code. Having multiple people come together to improve code allows coders to learn from one another and collaborate on a meaningful and impactful project. This demonstrates one of open sources biggest advantages - collaboration. By having many people working together, bugs can be quickly fixed by anyone who comes across an issue. Since many people are analyzing the code, bugs can be fixed efficiently creating secure code. Another major advantage of open source is that it is generally free and can save companies and people a great deal of money.

While we can see the advantages of open source, there are a few disadvantages to consider. For example, it can often be difficult to collaborate with large groups of people. As a team grows and there is a large number of collaborators, it may become difficult to remain focused and maintain a clear focus for the project. Managing large teams can be very difficult and this may slow down the progress. Furthermore, an increasing number of contributors can also prove to be a security risk because not every individual will be working for the good of the project. Hackers and other ill-intentioned individuals could jeopardize the project. Furthermore, since open source allows anyone to modify and distribute the source code, there may be individuals who try to distribute the source code for evil purposes.

Open source has played a significant role in my education in Computer Science. I began coding in Python which is open source. Python was super easier to learn due to the fact the code itself can be easily read by anyone. The simplification of more complex languages allowed me to develop my interest in computer science. One of the first IDEs, I ever used was Eclipse and eclipse’s easy to use environment allowed me to learn debugging quickly and efficiently. Javascript and Atom are also other OSS that I have often used and hope to become more familiar with in the future. I was able to use Javascript over the summer at my internship at a healthcare startup.

Most of my education in computer science has not allowed for a great deal of group work. However, when working in industry, I presume there will be a great deal of collaboration with others. I hope that from this class I can learn more about and develop my team working skills. In the future, I know I will often have to read and understand code that other’s have written and I hope from this class I will be able to gain a better understanding of how to do that. Lastly, I think OSS is becoming increasingly popular and I would love to learn more about the interesting and revolutionary projects people are developing.

Written before or on February 3, 2020