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.