A very different type of class

My Software Engineering class has introduced me to the world of Open Source Software(OSS) and all of the benefits it has to offer. As a new-comer to Open Source software it was very intimidating to even think about contributing to a project significantly larger than anything I had ever seen before, in a language in which I did not have much experience at all. Overall, the community has been amazing and shown me what Open Source Software is really all about. My entire perspective on why Open Source software even exists in the first place has changed dramatically. In my eyes Open Source has gone from more of an idea or concept to a matter of principal; users should be free to exercise the following four essential freedoms:

  • The freedom to run the program, for any purpose
  • The freedom to study how the program works, and change it so it does our computing as you wish.
  • The freedom to redistribute copies so you can help your neighbor
  • The freedom to distribute copies of you modified versions to others.

I have learned that in order to create better software, as a society, it must be Open Source. This means that we do not limit ourselfs to a company, or even a small group of collaborators within a company as in most cases but instead leave it open to the entire world. This allows software that exhibits more stability, reliability, security, usability, diversity, testability, flexibility, and most importantly modifiability. Not only does Open Source Software come with all of these benefits, but it does it with faster development time and at a lower cost in most cases. It wasn’t until the vast benefits of Open Source Software were laid out in front of me that I realized how essential of a concept it is in today’s world, it allows for great and passionate minds who may have otherwise not even been introduced to Software Engineering to thrive and as such benefit the entire community.

My experience at the Montreal Summit really drove home the concept of Open Source Software and its benefits. I hadn’t had any sort of experience outside of a “regular” class with regard to Software Engineering / programming up until this event. It was amazing to see so many brilliant, passionate, individuals all in one place contributing in many cases just for the love of making the product better. Many contribute for their job, for fun, to help others, to learn, or they simply want the software to work ‘their’ way. I don’t imagine I will find such a diverse group of individuals in any office I will work at in the future, and I would be quite surprised to find coworkers as passionate about their work in a typical office setting. Graduating soon, I find myself constantly trying to prove myself to a potential employer to even be considered worthy of contributing to their code base, which will arguably not be as large or broad as a well established Open Source repository(like GNOME). I found the opposite to be true at the Gnome Summit, everybody was more than willing to lend a hand; and in many cases particular individuals spent large amounts of their time assisting us in any way they could. I could not have imagined a warmer welcome to the Open Source community. There were many people who were eagar to explain to us the broad benefits of Open Source(both legally and practically) to helping with terminal commands and down to suggesting better tools like jhbuild and how to configure and use them to make us better more efficient contributors to the project. My learning experience in Open Source thus far has been invaluable, and will no doubt help me in my professional life as I enter the working world as a more informed individual. I fully intend to continue to contributing to Open Source Software to the best of my ability as I learn and develop as a Software Engineer, i see it as the golden ticket to staying current and learning from the best in the business.

FOSS Introduction

This post marks the beginning of my entry into the world of Free and open-source software.  So far I’ve learned that FOSS projects as a whole have a very wide scope ranging from simple text editors to Artificial Intelligence applications.  These projects are very heavily community driven and most contributors go un-paid for their work.  As a result you get communities of individuals who are passionate about their work and contributing to projects on their own free-will and not for a pay check(in most cases).  I am very excited moving forward to integrate into the GNOME accessibility community and more specifically the MouseTrap community.  While at the same time I am nervous to collaborate with talented knowledgeable programmers who are already experienced in this field.  Overall I feel I will come out of this experience having learned how to integrate into an open source community and work to improve an open source code base.