Getting Started in Open Source

/ in dev, open source

Open source is so ubiquitous nowadays that its inevitable you are benefiting from it every day even if you don’t know it just by using applications on the desktop, web, or mobile. The applications you use most likely have dependencies that are open source. If you’re on Mac or Linux, the unix kernel that powers them is open source.

Many people including myself feel encouraged to contribute projects that we use and benefit from because it helps the ecosystem as a whole. The entire ecosystem grows exponentially as more people contribute and work together, it’s a powerful thing.

Open source is everywhere in tech. You use it even if you don’t think you are.

GitHub has made all of this easier by focusing on the most important aspects of every project, the source code as well as the ability to work on it and be social. Because of this there is now a surge in people contributing and working together for a common goal, making better things. People are working on open source everything, books, software, blogs, you name it, there is no limit to what people are working on.

Find a project

There are millions of projects on GitHub. Whatever your work you do, regardless of any language you use, there’s bound to be something. Every time I come across something I like and think I will some day use, I bookmark/star/watch it. Remember that strange bug you experienced with one of your libraries?

Work on it

When you find something to work on, fork/clone it and start making changes. Add new features, fix bugs, discuss with other people, be social. Maybe the creator only knew English and you know Spanish so you can translate. There is so much potential and no limit to what you can do to help.

Submit your changes

When you’re ready to, submit a pull request back to the original project. It’s possible the maintainer will ask you to do some tweaks or modifications to meet their standards. Hopefully you will have your changes merged in the original and everyone who uses the project will benefit. Don’t know Git? GitHub has made it easy to create and edit files in your browser. If it is software you are using and you’re not technical and can’t work on it, submit an issue so that everyone who uses it knows what the status of the project is.

Enjoy your karma

Do this for all of the projects you encounter, the internet will thank you for it.