loading...

Why Contribute to Open Source

caelinsutch profile image caelinsutch ・3 min read

Contributing to open source projects can be a rewarding way to learn, teach, and build experience in any skill. Even better, there's a special type of satisfaction that comes from helping out the broader programming way with your skills.

Why do people contribute to open source projects?

Improve software you rely on

Lots of open source contributors start by using the software they contribute too. When you run into bugs that impede your development or features that would help it, you may want to look at the source to see if you can squash that bug or add that feature yourself. That way, the entire software community will benefit from your contribution. The code you add will be used by thousands or even millions of other developers, all of who will benefit from your contribution.

Improve existing skills

Whether it's coding, user interface design, graphic design, writing, or organizing, there's a task that covers every skill on open source projects. Open source projects have opportunities to work on massive code bases. You'll reach a higher level of expertise, something far more than what you'll gain by simply reading books or making small projects. Normally, there's quite a few steps to contributing to an open source project:

  1. Determining what is worth contributing
  2. Studying the contribution guidelines of the project
  3. Building the project locally
  4. Extracting the relevant code
  5. Adapting the code and integrating changes
  6. Provide test cases and documentation
  7. Filing an issue
  8. Submitting a PR and working with reviewers

Once you've gone through all these steps, you'll gain a much deeper understanding of the oproject and principles that are behind it. Yes, it may be a lot of steps, but there's a lot of overlooked benefit.

Meet other developers

The welcoming community of open source is what keeps people coming back. You have the opportunity to develop relationships with developers from around the world. Even better, at open source conferences, you may even meet some of these developers in person!

Find mentors and teach others

By contributing to open source, you'll explain how you do things as well as ask others for help. Learning and teaching is fulfilling for all involved. By working with others in your fields, you'll learn and teach plenty of new ideas that can help your future development.

Build your reputation as a developer

Your contributions are all public, which means other developers and companies can see how you're giving to the community with your skills. When hiring developers, companies often are looking for more than just a CV and degree. There are people out there with massive and impressive CV's that have likely barely touched the surface of a lot of technologies, they're all talk, no game.

A strong list of open source contributions goes a long way to proving your expertise in software. Platforms like Github are an easy way to show employers what your interests and sills are.

Open source contributions emphasize your expertise and skill far more than any certificate or degree will ever do.

It's empowering to help

You don't have to be a lifelong or constant contributor to enjoy participating to open source. You get to make your contribution to a project that's often far bigger then yourself, and one that will likely impact tons of people. Yes, it may be challenging, but the contribution you're making is well worth it.

Posted on May 24 by:

caelinsutch profile

caelinsutch

@caelinsutch

Incoming UC Berkeley Freshmen, Cofounder of Bytes Robotics, Enthusiastic Web and Mobile Developer.

Discussion

markdown guide
 

Hello, caelinsutch!
Whenever I wanted to contribute to some repositories, I have to overcome one huge problem for me: the code and overall organization of the project is so complex that it would take me weeks to simply understand what code does this, and what file does that, even when I have already read a CONTRIBUTING file.
I would like you to advise me what to do in these cases: spend those required weeks, or simply look for a simpler project?
Thank you!