Such Dev Blog
Who am I ?
Portfolio
Resources
Lessons
Opinions
Tutorials
Who am I ?
Portfolio
Resources
Lessons
Opinions
Tutorials
  • Who am I ?
  • Portfolio
  • Resources

    • πŸ‘Ά Resources for the Beginner WebDev
    • πŸ‘© Resources for the Intermediate WebDev
    • πŸ‘΄ Resources for the Senior WebDev
    • πŸ§‘β€πŸŽ¨ Design resources for WebDevs
    • πŸ€– LLM / AI Resources
  • Lessons

    • πŸ“ˆ Productivity and Well-being, A summary of what works.
    • ⭐ Dramatically increase your productivity with Atomic Git Commits
    • πŸ§‘β€πŸ’Ό How to Learn Git Slowly
    • 😠 How to Start Learning CSS without hating yourself
    • 🧠 How to be a great software engineer without using your brain
    • ⁉️ Explaining Ruby's Singleton Class (Eigenclass) to confused beginners
  • Opinions

    • πŸ”ͺ The Technical Debt explained with a kitchen analogy
    • πŸͺ  Why our work culture sucks
    • 🧹 The Marie Kondo guide for the Clean Developer
    • πŸ’‘What contributing to Open-source is, and what it isn't
    • πŸ’΅ Why diversity is important, no, really, actually for real
    • πŸ•Έ Networking is easy, fun, and probably not what you think it is.
  • Tutorials

    • πŸ“ Build your own system with ArchLinux
    • πŸ’½ Testing Ansible scripts with Vagrant
    • πŸ’Ž Upload Files from Vue.js to Rails with ActiveStorage
    • πŸ’Ž Filter Anything in a Rails request in 10 lines of code
    • πŸ’Ž Test all your GET routes in rails with 20 lines of code
    • πŸ’Ž How to use Solr / Sunspot with Rails
    • πŸ’Ž Debugging Solr Sunspot like a pro

πŸ’‘What contributing to Open-source is, and what it isn't

This article was initially published on Dev.to

I've been a senior developer for quite some time now, yet I've just recently understood some advice I've been given at the very beginning of my career:

Participate in Open Source! It will be great for your career!

Well, as such, this is extremely bad advice.


How to contribute to open-source the WRONG way

I get it. You're a student or a junior developer. It's hard out there and you want to boost your career. You don't know what to do. Or maybe you're just enthusiastic about open-source and want to contribute.

Well, you probably shouldn't.

Let's build a school together!

In French, we have an idiom for contributing: "To bring your stone (brick) to the building".

Imagine if people in your city decided to gather together and build a school for the community. What an inspiring collaborative effort!

So you're arriving on the building site with your brick and enthusiasm in your eyes. And very little knowledge of how building actually works, and even less knowledge on how this particular building is being built.

Well, let's be honest, despite your great intentions you're probably going to be more of a nuisance than anything else here.

Now imagine if, not only you do this, but two thousands other people are coming with you. Not only does this lower the odds of the school ever being built, the end result would probably be a school where no child should ever set foot.

Hacktoberfest and its consequences have been a disaster for the human race

I did Hacktoberfest three times, so I own three of their t-shirts (I'm wearing one right now. Very cozy.)

As you can see on my Github profile (go like and subscribeΒ©) I am a huge open-source contributor. Well, not really. I'm a freelancer and most of my clients open-source their products. That's how I make my living. So that doesn't count, right? (More on that later).

Hacktoberfest is a great, deeply flawed initiative. Trying to make people contribute to open-source is very commendable. It's also something you should absolutely not do. You don't tell people to take their bricks and find a random school to help. You're just going to make everything worse for everyone.

Experienced builders will lose time and patience because of the spam, and young builders will leave bitter, believing open-source is not welcoming and/or not for them.

Hacktoberfest is trying to do good, but it is promoting the very wrong idea that juniors should just go and find a place where to put a brick.

So who should build the school?

The parents whose kids will be at the school, that's who. And the teachers as well. They're the ones who are going to use that school, after all.

Heck, with proper supervision the kids themselves can help too. You can do open source as a beginner, you don't need to be a senior for that.

But you need to be involved in the project and act accordingly, you don't just go and throw bricks around.

Open-source is not about coding

It's hard to get hired as a junior developer. You want to both get more skilled, and show that you're more skilled. Open-source contributions are seen as a potential career-boost, and that's because they are (more on that later). But just because they are, doesn't mean that this is a good reason to contribute.

Why do you build a school? Because you want a school to be built. Because you need a school. Because you believe free, communal schools are important, in a world where education gets more and more expensive.

You build it to enjoy the final product, you don't build it for the sake of building it, or (mostly) to train your building skills. You can enjoy building, that's fine, but that's not the point. Your love for building won't make for a good product in the end.

oglaf comic illustrating the point Comic source: Oglaf


How to contribute to open-source the RIGHT way

The following point is by far the most important part of this article.

If you don't use it, you lose it

The best thing you can do to contribute to open-source is to actually use open-source products.

By being an open-source user, you open yourself to being an open-source contributor. An annoying bug? Report it, so it can get fixed, so both you and other users can enjoy a better product.

There's a feature you wish the product had? Ask for it!

No one is fixing that bug, no one is adding your feature? Well, guess it's time to get your own hands dirty then.

This is how you do open-source. You follow the purpose of open-source, not just your love for building.

And of course, always ask the other contributors before doing anything (usually via opening an issue). Remember that this is a team effort.

Contributing to open-source means taking responsibility

I'm an Arch Linux user btw, and I only recently started maintaining a package on the AUR (a community-managed collection of packages).

I've been needing this package, but no one was maintaining it. Infuriating! I can't use an unmaintained package! If only there was a solution!

Oh, right, almost forgot. I can do that myself.

You know it's good, useful open-source when it feels like a chore. You do the job because, well, you kinda have to. The fact that it's open source just means other people will enjoy your work for free, and in turn you will enjoy their work for free.

Sidenote: Did you know squirrels can't remember where they store acorns for the winter? They solve this via communal efforts. If all squirrels fill the forest with acorn reserves, then they will easily stumble upon acorns when the winter comes.

To hell with contributing, just make your own thing.

When aspiring junior devs ask me what they should build, I always reply: "Well, what do you need?".

Think hard. You probably need a tool that either:

  • do not exist
  • or it exists as a paid service
  • or it is free but is spying on your data
  • or the most common situation, it already exists but got enshittified.

Well, just go and make it, and open your code while you're at it. Congratulation, you're doing open source, and doing it right!

Or just get paid for it

I've been building stuff for the French government for many years now. One of the reasons why I keep working with this client is that all the code we produce is open-sourced by default.

One of the first projects I built was a public API for querying public data. This open-source project has been used by thousands of private companies, one of them even ended up hiring me.

So yeah, open source can indeed help your career. For me, working in open source was both an ideological and career-savvy move. I helped myself while also helping the common good. Just because you get paid for it doesn't mean you aren't doing open source and doing it right.

So I'm keeping those Hacktoberfest t-shirts.

Last Updated:
Contributors: Samuelfaure
Prev
🧹 The Marie Kondo guide for the Clean Developer
Next
πŸ’΅ Why diversity is important, no, really, actually for real