The slides for this meeting are available to download here.
Open source software is software that anyone can download and contribute to. Source code is “open” and available to download for free. In comparison to software being developed by a company, open source software is developed and maintained by the community which can consist of individual people, companies, or organizations.
Why do people contribute to open source? I have outlined three main reasons:
As a student, contributing to open source projects is a great way to gain experience. There is no need to start from scratch or only stick to “Hello, World” programs and homework assignments. You can also learn much more about working with others and writing code that actually needs to be nice to look at and easy to understand.
Alongside gaining experience, open source projects are also a great resume booster. And although a resume is just a piece of paper, as students we all know how important it is. As employers, they get the chance to see code you have actually written and projects you have worked on outside of the classroom. School projects are great, but side projects really show how passionate you are about programming and computer science and employers love this.
So if you aren’t a student and aren’t trying to get a job, then why contribute to open source? Well, maybe you’re just a good Samaritan :)
In all seriousness, supporting the open source community is a great thing to be a part of. Some love to contribute because they want a free alternative to over-priced software. Or maybe you’ve been waiting a long time for your favorite program to come out with some new features, and you’re just tired of waiting. Well, if it’s open source you don’t need to wait, just add the features yourself!
Github is an extremely popular platform for open source projects. Not only can you find millions of public repositories, you can have your own portfolio of projects you’ve created and repositories you’ve contributed to. Employers love this. A link to your Github page is the new resume. The social features of Github also let you discuss issues with other people in the community and get valuable feedback from others.
Git is a version control system. What is a version control system? Well, we won’t be going over details this week. Just know that it makes it much much easier to work with others and share code (Dropbox == BAD IDEA). There are other version control systems besides Git, but Github uses it (obviously) so it is a good idea to become familiar with.
So how do you actually contribute to a project? We’ve boiled it down to four steps.
In our meeting, we will be walking through how to do this. But if you missed it, we’ve provided some helpful links on how to get started with forking and pull requests.
I know we didn’t go over how to use Git, so don’t worry if you are completely lost on what Git is and how to use it. You will most likely come across Git in some of your CIS classes (if you haven’t already). But for those who are curious and what to dive in, here is a link on how to get started using Git. We encourage everyone to fool around with Git and start contributing or creating projects! Uploading any of your own projects you’ve already done is a great way to get started. Just make sure it is okay with any professor or boss that you are uploading code.
We also have our club website posted as an open source project. Feel free to mess around and find any bugs you may stumble across!
Our next meeting with new content will be Thursday, October 15th: MVC, Modularization, and Intro to Flask. Hope to see you there!
In case you missed any, here are some helpful links to get you started: