DEV Community

Cover image for 3 Reasons Why You Should Contribute to Open Source in 2024
Mark Phelps for Flipt

Posted on

3 Reasons Why You Should Contribute to Open Source in 2024

2024 will be the 12th year since I made my first open source contribution.

Since then I have:

  • Contributed to a global scale infrastructure GitHub Container Registry
  • Built a network of friends from all over the world
  • Started an Open Source Company

In this article, I will share the top 3 out of my 9934 reasons to start contributing to open source.

If you’re looking to learn new skills, and grow your professional network and career while working on projects you care about, just hear me out for the next 3 minutes.

Let’s dive in! 🚀


TL;DR


Reason #1: You can work on whatever you want

With open source, you get the freedom to work on projects that you are passionate about. You can explore your interests, and learn new skills, without needing to meet a deadline.

This is very different from usual corporate work i.e. mostly closed source. And you are restricted to working on a specific set of technologies. In the long term, it can impact your technical growth and ability to adapt to industry changes.

It doesn’t need to be that way.

Take it from me. In previous roles, I was working in languages that I wasn’t interested in. I literally felt like my skills were stagnating. As a result, I was falling out of ‘love’ with programming.

But then I started working on open source projects in my spare time. And boy that helped. I was free to learn new languages and work on projects exciting to me.

Getting started with open source was one of the best decisions of my life!

And the best part is you can start small and slowly ramp up at your own pace. At Flipt, we have good first issues specifically for first-time contributors.

All you need to do is show your interest by commenting on the issue and we will help you out in making your first contribution.

Isn’t that amazing? 🙂

Reason #2: You can create value for other people

Right now, you are sitting on a lot of static knowledge that you have gained over the years with your professional and personal experience. Open source provides you an active community of developers who you can share it with and make a positive impact on the project.

It’s one of the most fulfilling things you’ll do as a developer. I’ll take the case of our contributor Andrew Hobson as an example.

feat(fs/s3): Initial support for s3 filesystem backend #1900

This follows the same pattern as fs/git to add support for fetching feature flag data from S3.

In an AWS environment, this would allow deploying a readonly container and not require communication to a git repository outside of the deployment environment.

Let me know if you have suggestions or thoughts on how to improve the implementation.

Thank you for flipt.

Testing

The unit tests take advantage of an existing s3 bucket, using minio to simulate it locally.

Just like for the git backend, the mage dagger:run test:unit does the work to start, provision and configure the test suite appropriately.

However, if you do want to run this test locally to experiment or investigate, you can always do the following:

# in one terminal session
docker run -it --rm --name minio \
  -e MINIO_ROOT_USER=user -e MINIO_ROOT_PASSWORD=password -p 9009:9009 \
  quay.io/minio/minio:latest server /data --address ":9009"
# in another session first use the minio provisioner binary
# this pushes the contents of the provided directory into a bucket in minio
AWS_ACCESS_KEY_ID=user AWS_SECRET_ACCESS_KEY=password \
  go run ./build/internal/cmd/minio/... -minio-url http://localhost:9009 -testdata-dir ./internal/storage/fs/s3/testdata
# then you can run the test for `fs.Source`
AWS_ACCESS_KEY_ID=user AWS_SECRET_ACCESS_KEY=password TEST_S3_ENDPOINT=http://localhost:9009 \
  go test -v ./internal/storage/fs/s3/...

This past summer, he implemented an entirely new s3 object storage backend for our project, because it was something he wanted to use in his daily work. As the main developer of the project, it’s probably not something I would have ever thought of, but now this backend is used by many of our end users and has inspired additional functionality!

Now you must be wondering — “But I have nothing to share”.
And I bet you have. You’re just blinded due to that knowledge being “obvious” to you now. However, when you see anyone struggling in the community with the same problem, you’ll be able to help them out with ease. And build valuable connections in the process.

Not sure still? Join our close-knit community to see it in action.

Reason #3: You can showcase your skills

Lastly, open source is one of the best ways to collect social proof.

You collaborate with the community, communicate on issues and features, and ship your code. You become a “low-risk” hire for any employer in comparison to one with just a resume.

Your contributions will bring you visibility and recognition that can potentially lead to job opportunities, consulting & speaking gigs, etc

Our own George MacRorie recently was invited to give a talk at GitOps Con because of his amazing work on one of our open source projects.

At Flipt we give regular shoutouts and appreciate our contributors. We are grateful for each and every contribution made to the project. These contributions have helped us scale 3K supporters on GitHub.

So are you ready to showcase your technical expertise to the world?
Make your first contribution at Flipt and we’ll take care of the rest.

Wrapping Up

That’s it!

I hope this list sold you on making your first open source contribution soon.

Join our discord if you need help with that.
We have an awesome community there 💗

If you liked this post, follow us for more of open source related articles 🙂

Top comments (0)