7 min

How to contribute to open source

...and a bit about philosophy, GitHub, the universe and everything.

Felipe Fialhostaff engineer · front-end and AI

Ler em português
On this post
  1. Video version
  2. There are all the other points
  3. Introducing myself again
  4. How does an open source project work?
  5. And why contribute?
  6. And that’s not all…
  7. An example of that?
  8. And yes, companies benefit too
  9. Interested in contributing? Here are some tips
  10. Create content
  11. Answer questions
  12. Organize events
  13. Help on projects or libs
  14. Speaking of GitHub
  15. And GitHub is a social network
  16. Some GitHub tips
  17. 1. Search before starting a project
  18. 2. Don’t be afraid to help with documentation
  19. 3. Open issues
  20. 4. Open pull requests
  21. 5. Follow the project’s standards
  22. 6. Don’t be afraid of feedback
  23. 7. Be responsible
  24. 8. Build to learn
  25. But first, take care of yourself!
  26. Final thoughts

Video version

This is a video version of the content in this article that I published on my YouTube channel.

Worth watching! 😁


I’ve been in the web development world since 2009.

Since then I’ve had access to thousands and thousands of free libs, built by people who didn’t limit themselves to creating something just for their own use. They thought about the profession as a whole and shared it so other people could use it too.

But that’s just one point. And it’s just code.

Você developer, já fez alguma dessas coisas?

- Gerou conteúdo
- Compartilhou o que sabe
- Palestrou
- Respondeu dúvidas
- Ajudou em projetos
- Organizou eventos

É tudo open-source.

Open-source é uma filosofia, vai muito além de código. É também: ajudar, compartilhar e ensinar.

felipe.md ⚡ (@felipefialho_), March 13, 2019

There are all the other points

Have you ever done any of these things?

  • Created content?
  • Given a talk?
  • Answered questions?
  • Shared knowledge?
  • Helped on projects or libs?
  • Organized events?

To me, all of that is open source, and a lot of it.

And this is something I find fundamental, and a very personal point of view. Doing open source is a philosophy, and it goes way beyond GitHub issues or pull requests. It’s also about helping, learning and teaching.

It’s very much about creating real value for a group of people, online or offline… and the impact of that can be huge.

Introducing myself again

I’m Felipe, and over the course of my career I’ve created and taken part in thousands of development initiatives.

In 2012 I built this Eric Cartman to study CSS and never stopped.

Eric Cartman in Pure CSS (2012) by Felipe Fialho on CodePen

Just to name a few things:

Things of all kinds: events, organizations, ideas, projects, ideals, content creation.

And to me, in all of them, I was doing open source.

that day was crazythat day was crazy

How does an open source project work?

Open source, in short, is a project created and maintained by the people who use it. Say you have an open source soccer field near your house: one person helps mow the grass, another helps paint the lines, another helps water it, someone else brings the ball, and everybody gets to play! It’s a collaborative system of growth.

Contributing to open source can be a rewarding way to learn, teach and build experience in pretty much any skill you can imagine.

On top of that, you get to interact with real industry professionals and ask them questions, get code reviews and get tips to improve.

I recommend reading the Open Source Guides site to get a deeper understanding of the open source initiative.

Contribution by @iaurg

And why contribute?

Contribution is what made the development world evolve so much in recent years.

Through these contributions, ideas are born, projects are developed, libs are built, technologies evolve and, most importantly:

People are impacted, sharing knowledge and keeping this cycle going.

You can feel the effect even in the job market: with more skilled people connecting with each other, the profession tends to become more mature, important and valued. That leads to better conditions, benefits and salaries.

And that’s not all…

wizardwizard

Open source can also help you show your skills to the market.

People can see your technical skills in:

  • Code
  • Layout
  • Logic
  • Algorithms
  • Methodologies
  • Patterns

And they can also evaluate your soft skills, like:

  • Commitment
  • Responsibility
  • Organization
  • Leadership
  • Teamwork
  • Etc…

An example of that?

To organize events, a person needs ALL of the soft skills listed above.

And they’re showing in practice that they have those qualities.

And yes, companies benefit too

It’s not only devs who take advantage of open source initiatives. Like I said before, the impact can be huge, and companies that work with products and other digital fronts end up benefiting from it too.

That’s because they don’t need to reinvent the wheel every time they start a new project or add a feature to their products. They benefit from libs and knowledge created before, which saves a lot of development time.

They also benefit because they end up using more robust projects, which tend to have fewer bugs and have the support of a huge community all over the world.

That’s why I think every company that uses open source in its day to day (and you could probably say that’s almost all of them) not only can but should think about ways to give back to the development community whenever possible.

Interested in contributing? Here are some tips

Like I said, there are many ways to help.

Create content

  • Write articles
  • Create experiments on Codepen
  • Create video content
  • Create courses
  • Give talks
  • Etc…

Answer questions

  • Join development forums
  • Stack Overflow
  • Telegram groups
  • Slack groups
  • Twitter
  • LinkedIn
  • At work

Organize events

You can help:

  • With sponsorships
  • With the coffee
  • With the equipment
  • By offering the venue
  • With the organization
  • By picking up the trash
  • By arranging the chairs

Help on projects or libs

Just take a quick look around GitHub and you’ll find plenty of projects you can help:

  • Writing documentation
  • Opening issues
  • Answering issues
  • Opening pull requests
  • Reviewing pull requests

Speaking of GitHub

It’s not an exaggeration to say that GitHub is to open source projects what Google is to the internet.

And GitHub is a social network

Github é uma rede social como qualquer outra, mas voltada para o mundo developer, você pode:

- Seguir pessoas
- Ver as atividades delas
- Descobrir novas libs
- Ver tendências
- Participar dos fóruns (olá @frontendbr 💙)
- E principalmente aprender muito

Faça uso, vale a pena.

felipe.md ⚡ (@felipefialho_), December 13, 2018

That means you can follow people and see their routines as developers:

  • Coding
  • Starring projects
  • Opening issues
  • Etc…

That’s very valuable.

How about swapping those little hours you spend scrolling the Facebook timeline for scrolling the GitHub timeline? 😜

Some GitHub tips

The tips below can be used on any similar network.

1. Search before starting a project

There’s a good chance one or more initiatives with the same idea you had already exist.

So consider whether it’s worth contributing to one of those existing projects instead.

Having fewer projects, but robust and tested ones, is better than having thousands of duplicate projects that don’t create much value.

2. Don’t be afraid to help with documentation

Documentation is one of the most important parts of a project. It’s what guides the user, who in this case is the developer who’s going to use the project.

Despite that importance, it’s often undervalued, and you’d help any project with review, fixes or even translation of the text.

And the best part: you can do it straight from GitHub, without opening a single line of code.

3. Open issues

If you find bugs or have suggestions, open an issue (search first so you don’t create a duplicate).

This helps the maintainers map out the improvements and fixes they need to make.

4. Open pull requests

Opening issues is important, but go further. Try to solve it.

That helps not only the project, it also becomes a great source of study.

To this day I can’t forget this pull request of mine that got merged into Bootstrap, written in some truly bizarre English 😍

5. Follow the project’s standards

Whether it’s for issues, pull requests, code or documentation.

If there’s a standard, it must be respected. It may seem annoying, but it’s extremely important for the organization and maintenance of the project.

As a bonus, you’ll be exposed to new ways of structuring and developing.

6. Don’t be afraid of feedback

Whenever you take part in any project with other people or write open code, you may get criticism.

If you get constructive feedback, take it in a positive way. Try to absorb the information and improve on the points mentioned.

That will make you grow, both professionally and personally.

7. Be responsible

Unfortunately it’s common to see people get excited about a project, commit to tasks, and then disappear when it’s time to build.

And this happens in every area of open source, from people who offer to help at events to people who commit to pull requests.

The result is that the people who are actually doing the work have to work twice as hard to get it delivered.

Don’t be that person. If you committed to a task, do it.

That’s called responsibility.

8. Build to learn

Building projects just to learn, recreating libs to study them, creating things to challenge yourself is extremely important throughout a career.

Don’t let your curiosity and interest fade over time.

That’s what makes things so cool in our profession and makes amazing people and projects show up all the time.

Another point: programming languages are like any other skill, so the best way to learn and get better is: practicing.

Open source projects can help a lot in putting into practice the things you’re studying day to day.

But first, take care of yourself!

Contribuir com comunidade dev é fodástico, mas nunca se esqueça de cuidar de você.

- Sua carreira
- Seus estudos
- Seu desenvolvimento pessoal
- Sua saúde

... Sua vida!

E quando cuidamos da gente, ficamos muito melhores pra ajudar e contribuir com outras pessoas e comunidades.

felipe.md ⚡ (@felipefialho_), July 30, 2019

Despite everything I said here and all the positive impact that contributing to open source can have on the growth of a career and on the market as a whole, you should never stop taking care of yourself.

Never give up taking really good care of your health, your career and your own life, because the cost of neglecting those things can be irreversible, and no project or development community will be able to help you with that.

Final thoughts

Open source: was, is, and will keep being fundamental to the evolution of the profession and, why not… of the world and society as a whole.

Being part of this might be… putting your name in history.

Nóis 🖤💙

$ grep -r
$ cookies --config
privacy policy